

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Stapel im Direct Change-Modus erstellen
<a name="dcm-creating-stacks"></a>

Beim Starten von Stacks CloudFormation mit dem müssen zwei Voraussetzungen erfüllt sein`AWSManagedServicesCloudFormationAdminRole`, damit der Stack von AMS verwaltet werden kann:
+ Die Vorlage muss eine `AmsStackTransform` enthalten.
+ Der Stackname muss mit dem Präfix beginnen, `stack-` gefolgt von einer 17-stelligen alphanumerischen Zeichenfolge.

**Anmerkung**  
Um den erfolgreich verwenden zu können`AmsStackTransform`, müssen Sie bestätigen, dass Ihre Stack-Vorlage die `CAPABILITY_AUTO_EXPAND` Fähigkeit enthält, mit der CloudFormation (CFN) den Stack erstellen oder aktualisieren kann. Sie tun dies, indem Sie das `CAPABILITY_AUTO_EXPAND` als Teil Ihrer Create-Stack-Anfrage übergeben. CFN lehnt die Anfrage ab, wenn diese Funktion nicht bestätigt wird, wenn sie in der Vorlage enthalten `AmsStackTransform` ist. Die CFN-Konsole stellt sicher, dass Sie diese Funktion übergeben, wenn Sie die Transformation in Ihrer Vorlage haben. Dies kann jedoch übersehen werden, wenn Sie über deren Funktion mit CFN interagieren. APIs  
Sie müssen diese Funktion immer dann weitergeben, wenn Sie die folgenden CFN-API-Aufrufe verwenden:  
[CreateChangeSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html)
[ CreateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html#API_CreateStack_RequestParameters)
[UpdateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html)

Beim Erstellen oder Aktualisieren eines Stacks mit DCM werden dieselben Validierungen und Erweiterungen von CFN Ingest und Stack Update CTs auf dem Stack durchgeführt. Weitere Informationen finden Sie unter [CloudFormation Ingest-Richtlinien](https://docs.aws.amazon.com/managedservices/latest/appguide/cfn-author-templates.html), bewährte Methoden und Einschränkungen. Die Ausnahme besteht darin, dass die AMS-Standardsicherheitsgruppen (SGs) nicht an eigenständige EC2 Instances oder EC2 Instances in Auto Scaling Scaling-Gruppen (ASGs) angehängt werden. Wenn Sie Ihre CloudFormation Vorlage mit eigenständigen EC2 Instances oder erstellen ASGs, können Sie die Standardinstanz anhängen. SGs 

**Anmerkung**  
IAM-Rollen können jetzt mit dem erstellt und verwaltet werden. `AWSManagedServicesCloudFormationAdminRole`

Die AMS-Standardeinstellungen SGs verfügen über Eingangs- und Ausgangsregeln, die es ermöglichen, dass die Instances erfolgreich gestartet werden und dass AMS-Operationen und Sie später über SSH oder RDP darauf zugreifen können. Wenn Sie der Meinung sind, dass die AMS-Standardsicherheitsgruppen zu freizügig sind, können Sie Ihre eigenen Regeln SGs mit restriktiveren Regeln erstellen und diese an Ihre Instance anhängen, sofern Sie und AMS-Operationen dadurch weiterhin bei Vorfällen auf die Instance zugreifen können.

Die AMS-Standardsicherheitsgruppen sind die folgenden:
+ SentinelDefaultSecurityGroupPrivateOnly: Kann in der CFN-Vorlage über diesen SSM-Parameter aufgerufen werden `/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnly`
+ SentinelDefaultSecurityGroupPrivateOnlyEgressAll: Kann in der CFN-Vorlage über diesen SSM-Parameter aufgerufen werden `/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnlyEgressAll`

## AMS-Transformation
<a name="dcm-cs-ams-transform"></a>

 Fügen Sie Ihrer CloudFormation Vorlage eine `Transform` Erklärung hinzu. Dadurch wird ein CloudFormation Makro hinzugefügt, das den Stack beim Start validiert und bei AMS registriert. 

**JSON-Beispiel**

```
"Transform": {
    "Name": "AmsStackTransform",
    "Parameters": {
      "StackId": {"Ref" : "AWS::StackId"}
    }
  }
```

**YAML-Beispiel**

```
Transform:
  Name: AmsStackTransform
  Parameters:
    StackId: !Ref 'AWS::StackId'
```

Fügen Sie die `Transform` Anweisung auch hinzu, wenn Sie die Vorlage eines vorhandenen Stacks aktualisieren.

**JSON-Beispiel**

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description" : "Create an SNS Topic",
    "Transform": {
      "Name": "AmsStackTransform",
      "Parameters": {
        "StackId": {"Ref" : "AWS::StackId"}
     }
  },
  "Parameters": {
    "TopicName": {
      "Type": "String",
      "Default": "HelloWorldTopic"
    }
  },
  "Resources": {
    "SnsTopic": {
      "Type": "AWS::SNS::Topic",
      "Properties": {
        "TopicName": {"Ref": "TopicName"}
      }
    }
  }
}
```

**YAML-Beispiel**

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Create an SNS Topic
Transform:
  Name: AmsStackTransform
  Parameters:
    StackId: !Ref 'AWS::StackId'
Parameters:
  TopicName:
    Type: String
    Default: HelloWorldTopic
Resources:
  SnsTopic:
    Type: AWS::SNS::Topic
    Properties:
      TopicName: !Ref TopicName
```

## Stack name
<a name="dcm-cs-stack-name"></a>

Der Stackname muss mit dem Präfix beginnen, `stack-` gefolgt von einer 17-stelligen alphanumerischen Zeichenfolge. Dies dient der Aufrechterhaltung der Kompatibilität mit anderen AMS-Systemen, die auf dem AMS-Stack IDs arbeiten. 

 Im Folgenden finden Sie Beispiele für Möglichkeiten, einen kompatiblen Stack zu generieren IDs:

Bash:

```
echo "stack-$(env LC_CTYPE=C tr -dc 'a-z0-9' < /dev/urandom | head -c 17)"
```

Python:

```
import string
import random

'stack-' + ''.join(random.choices(string.ascii_lowercase + string.digits, k=17))
```

Powershell:

```
"stack-" + ( -join ((0x30..0x39) + ( 0x61..0x7A) | Get-Random -Count 17  | % {[char]$_}) )
```