

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.

# Importieren vorhandener Ressourcen in einen Stack
<a name="resource-import-existing-stack"></a>

In diesem Thema erfahren Sie, wie Sie vorhandene AWS Ressourcen in einen vorhandenen Stapel importieren, indem Sie sie in einer Vorlage beschreiben. Informationen dazu, wie Sie stattdessen nach vorhandenen Ressourcen suchen und automatisch eine Vorlage generieren können, mit der Sie vorhandene Ressourcen in ein neues Konto importieren CloudFormation oder Ressourcen in einem neuen Konto replizieren können, finden Sie unter[Erzeugen Sie Vorlagen aus vorhandenen Ressourcen mit dem IaC-Generator](generate-IaC.md).

**Voraussetzungen**

Sie benötigen Folgendes, um starten zu können:
+ Eine Vorlage, die den gesamten Stack beschreibt, einschließlich der Ressourcen, die bereits Teil des Stacks sind, und der zu importierenden Ressourcen. Speichern Sie die Vorlage lokal oder in einem Amazon S3-Bucket. 

  **So erhalten Sie eine Kopie der Vorlage eines laufenden Stacks**

  1. Öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

  1. Wählen Sie aus der Liste der Stapel den Stapel aus, aus dem Sie die Vorlage abrufen möchten.

  1. Wählen Sie in der Detailansicht des Stapels die Registerkarte **Vorlage** und wählen Sie dann **In die Zwischenablage kopieren**.

  1. Fügen Sie den Code in einen Texteditor ein und fügen Sie weitere Ressourcen zur Vorlage hinzu.
+ Geben Sie für jede Ressource, die Sie importieren möchten, Folgendes an:
  + die Eigenschaften und Eigenschaftswerte, die die aktuelle Konfiguration der Ressource definieren.
  + den eindeutigen Bezeichner für die Ressource, z. B. den Ressourcennamen. Weitere Informationen finden Sie unter [Identifikatoren für Ressourcen](import-resources-manually.md#resource-import-identifiers-unique-ids).
  + the [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-deletionpolicy.html).

**Topics**
+ [-Beispielvorlage](#resource-import-existing-stack-example-template)
+ [Importieren Sie eine vorhandene Ressource in einen Stack mit dem AWS-Managementkonsole](#resource-import-existing-stack-console)
+ [Importieren Sie eine vorhandene Ressource in einen Stack mithilfe der AWS CLI](#resource-import-existing-stack-cli)

## -Beispielvorlage
<a name="resource-import-existing-stack-example-template"></a>

In dieser Schritt-für-Schritt-Anleitung gehen wir davon aus, dass Sie die folgende Beispielvorlage mit dem Namen `TemplateToImport.json`verwenden, die zwei DynamoDB-Tabellen angibt. `ServiceTable` ist derzeit Teil des Stacks und `GamesTable` ist die Tabelle, die Sie importieren möchten.

**Anmerkung**  
Diese Vorlage ist nur als Beispiel gedacht. Um es für Ihre eigenen Testzwecke zu verwenden, ersetzen Sie die Beispielressourcen durch Ressourcen aus Ihrem Konto. 

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "Import test",
    "Resources": {
        "ServiceTable": {
            "Type": "AWS::DynamoDB::Table",
            "Properties": {
                "TableName": "Service",
                "AttributeDefinitions": [
                    {
                        "AttributeName": "key",
                        "AttributeType": "S"
                    }
                ],
                "KeySchema": [
                    {
                        "AttributeName": "key",
                        "KeyType": "HASH"
                    }
                ],
                "ProvisionedThroughput": {
                    "ReadCapacityUnits": 5,
                    "WriteCapacityUnits": 1
                }
            }
        },
        "GamesTable": {
            "Type": "AWS::DynamoDB::Table",
            "DeletionPolicy": "Retain",
            "Properties": {
                "TableName": "Games",
                "AttributeDefinitions": [
                    {
                        "AttributeName": "key",
                        "AttributeType": "S"
                    }
                ],
                "KeySchema": [
                    {
                        "AttributeName": "key",
                        "KeyType": "HASH"
                    }
                ],
                "ProvisionedThroughput": {
                    "ReadCapacityUnits": 5,
                    "WriteCapacityUnits": 1
                }
            }
        }
    }
}
```

## Importieren Sie eine vorhandene Ressource in einen Stack mit dem AWS-Managementkonsole
<a name="resource-import-existing-stack-console"></a>

**Anmerkung**  
Die CloudFormation Konsole unterstützt die Verwendung der systemeigenen Funktion `Fn::Transform` beim Importieren von Ressourcen nicht. Sie können den verwenden, um Ressourcen AWS CLI zu importieren, die diese Funktion verwenden. `Fn::Transform`

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Wählen Sie auf der Seite **Stacks** den Stack aus, in den Sie Ressourcen importieren möchten.

1. Wählen Sie **Stack-Aktionen** und dann **Ressourcen in Stack importieren** aus.  
![\[Die Option „Ressourcen in Stack importieren“ in der Konsole.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/stack-actions-import.png)

1. Überprüfen Sie die Seite **Importübersicht** und wählen Sie dann **Weiter** aus.

1. Geben Sie auf der Seite **Vorlage angeben** Ihre aktualisierte Vorlage mit einer der folgenden Methoden an und wählen Sie dann **Weiter** aus.
   + Wählen Sie **Amazon S3-URL** aus und geben Sie dann die URL für Ihre Vorlage im Textfeld an.
   + Wählen Sie **Vorlagendatei hochladen** aus und suchen Sie dann nach Ihrer Vorlage.

1. Identifizieren Sie auf der Seite **Ressourcen identifizieren** jede Zielressource. Weitere Informationen finden Sie unter [Identifikatoren für Ressourcen](import-resources-manually.md#resource-import-identifiers-unique-ids).

   1. Wählen Sie unter **Bezeichnereigenschaft** den Typ des Ressourcenbezeichners aus. Beispielsweise kann die `AWS::DynamoDB::Table`-Ressource mit der `TableName`-Eigenschaft identifiziert werden.

   1. Geben Sie unter **Bezeichnerwert** den tatsächlichen Eigenschaftswert ein. Beispielsweise ist der `TableName` für die `GamesTable`-Ressource in der Beispielvorlage `Games`.

   1. Wählen Sie **Weiter** aus.

1. Aktualisieren Sie auf der Seite **Stack-Details angeben** alle Parameter und wählen Sie dann **Weiter** aus. Dadurch wird automatisch ein Änderungssatz erstellt.
**Anmerkung**  
Der Importvorgang schlägt fehl, wenn Sie vorhandene Parameter ändern, die einen Erstellungs-, Aktualisierungs- oder Löschvorgang initiieren.

1. Überprüfen Sie auf der *stack-name* Seite **Überprüfen** die Ressourcen, die Sie importieren möchten, und wählen Sie dann Ressourcen **importieren** aus. Dadurch wird der im letzten Schritt erstellte Änderungssatz automatisch ausgeführt. Alle Tags auf Stack-Ebene werden zu diesem Zeitpunkt auf importierte Ressourcen angewendet. Weitere Informationen finden Sie unter [Stapeloptionen konfigurieren](cfn-console-create-stack.md#configure-stack-options).

   Die Seite **Ereignisse** für den Stack wird angezeigt.  
![\[Die Registerkarte „Ereignisse“ in der Konsole.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/import-events.png)

1. (Optional) Führen Sie die Abweichungserkennung für den Stack aus, um sicherzustellen, dass die Vorlage und die tatsächliche Konfiguration der importierten Ressourcen übereinstimmen. Weitere Informationen zur Erkennung von Drift finden Sie unter [Drift auf einem ganzen CloudFormation Stack erkennen](detect-drift-stack.md).

1. (Optional) Wenn die importierten Ressourcen nicht mit den erwarteten Vorlagenkonfigurationen übereinstimmen, korrigieren Sie entweder die Vorlagenkonfigurationen oder aktualisieren Sie die Ressourcen direkt. Weitere Informationen über den Import getriebener Ressourcen finden Sie unter [Beheben von Abweichungen mit einer Importoperation](resource-import-resolve-drift.md).

## Importieren Sie eine vorhandene Ressource in einen Stack mithilfe der AWS CLI
<a name="resource-import-existing-stack-cli"></a>

1. Um zu erfahren, welche Eigenschaften die einzelnen Ressourcentypen in der Vorlage identifizieren, führen Sie den Befehl **get-template-summary** aus und geben dabei die S3-URL der Vorlage an. Beispielsweise kann die `AWS::DynamoDB::Table`-Ressource mit der `TableName`-Eigenschaft identifiziert werden. Für die `GamesTable`-Ressource in der Beispielvorlage lautet der Wert von `TableName` `Games`. Sie benötigen diese Informationen im nächsten Schritt.

   ```
   aws cloudformation get-template-summary \
       --template-url https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/TemplateToImport.json
   ```

   Weitere Informationen finden Sie unter [Identifikatoren für Ressourcen](import-resources-manually.md#resource-import-identifiers-unique-ids).

1. Stellen Sie eine Liste der zu importierenden Ressourcen und ihrer eindeutigen Bezeichner im folgenden JSON-String-Format zusammen.

   ```
   [{"ResourceType":"AWS::DynamoDB::Table","LogicalResourceId":"GamesTable","ResourceIdentifier":{"TableName":"Games"}}]
   ```

   Alternativ können Sie die JSON-formatierten Parameter in einer Konfigurationsdatei angeben. 

   Um beispielsweise zu importieren`GamesTable`, könnten Sie eine *ResourcesToImport.txt* Datei erstellen, die die folgende Konfiguration enthält.

   ```
   [
     {
         "ResourceType":"AWS::DynamoDB::Table",
         "LogicalResourceId":"GamesTable",
         "ResourceIdentifier": {
           "TableName":"Games"
         }
     }
   ]
   ```

1. Um einen Änderungssatz zu erstellen, verwenden Sie den folgenden Befehl **create-change-set** und ersetzen den Platzhaltertext. Geben Sie für die Option `--change-set-type` einen Wert von **IMPORT** an. Ersetzen Sie bei der Option `--resources-to-import` die Beispiel-JSON-Zeichenfolge durch die tatsächliche JSON-Zeichenfolge, die Sie gerade erstellt haben.

   ```
   aws cloudformation create-change-set \
       --stack-name TargetStack --change-set-name ImportChangeSet \
       --change-set-type IMPORT \
       --template-url https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/TemplateToImport.json \
       --resources-to-import '[{"ResourceType":"AWS::DynamoDB::Table","LogicalResourceId":"GamesTable","ResourceIdentifier":{"TableName":"Games"}}]'
   ```
**Anmerkung**  
`--resources-to-import` unterstützt kein Inline-YAML. Die Anforderungen für das Escapen von Anführungszeichen in der JSON-Zeichenfolge variieren je nach Ihrem Terminal. Weitere Informationen finden Sie unter [Anführungszeichen in Zeichenketten verwenden](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html#cli-usage-parameters-quoting-strings-containing) im *AWS Command Line Interface -Benutzerhandbuch*.

   Alternativ können Sie auch eine Datei-URL als Eingabe für die Option `--resources-to-import` verwenden, wie im folgenden Beispiel gezeigt.

   ```
   --resources-to-import file://ResourcesToImport.txt
   ```

1. Überprüfen Sie den Änderungssatz, um sicherzustellen, dass die richtigen Ressourcen importiert werden.

   ```
   aws cloudformation describe-change-set \
       --change-set-name ImportChangeSet --stack-name TargetStack
   ```

1. Um den Änderungssatz zu initiieren und die Ressourcen zu importieren, verwenden Sie den folgenden **execute-change-set**-Befehl und ersetzen den Platzhaltertext. Alle Tags auf Stack-Ebene werden zu diesem Zeitpunkt auf importierte Ressourcen angewendet. Weitere Informationen finden Sie unter [Stapeloptionen konfigurieren](cfn-console-create-stack.md#configure-stack-options). Nach erfolgreichem Abschluss des Vorgangs `(IMPORT_COMPLETE)` werden die Ressourcen erfolgreich importiert.

   ```
   aws cloudformation execute-change-set \
       --change-set-name ImportChangeSet --stack-name TargetStack
   ```

1. (Optional) Führen Sie die Abweichungserkennung für den `IMPORT_COMPLETE`-Stack aus, um sicherzustellen, dass die Vorlage und die tatsächliche Konfiguration der importierten Ressourcen übereinstimmen. Weitere Informationen zur Erkennung von Drift finden Sie unter [Drift auf einem ganzen CloudFormation Stack erkennen](detect-drift-stack.md).

   1. Führt die Drifterkennung für den angegebenen Stapel aus.

      ```
      aws cloudformation detect-stack-drift --stack-name TargetStack
      ```

      Wenn dieser Befehl erfolgreich ist, erhalten Sie die folgende Beispielausgabe.

      ```
      { "Stack-Drift-Detection-Id" : "624af370-311a-11e8-b6b7-500cexample" }
      ```

   1. Zeigt den Fortschritt eines Drift-Erkennungsvorgangs für die angegebene Stack Drift-Erkennungs-ID an.

      ```
      aws cloudformation describe-stack-drift-detection-status \
          --stack-drift-detection-id 624af370-311a-11e8-b6b7-500cexample
      ```

   1. Zeigen Sie Drift-Informationen für die Ressourcen an, die im angegebenen Stapel auf Drift geprüft wurden.

      ```
      aws cloudformation describe-stack-resource-drifts --stack-name TargetStack
      ```

1. (Optional) Wenn die importierten Ressourcen nicht mit den erwarteten Vorlagenkonfigurationen übereinstimmen, korrigieren Sie entweder die Vorlagenkonfigurationen oder aktualisieren Sie die Ressourcen direkt. Weitere Informationen über den Import getriebener Ressourcen finden Sie unter [Beheben von Abweichungen mit einer Importoperation](resource-import-resolve-drift.md).