

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.

# Erkennen Sie nicht verwaltete Konfigurationsänderungen an Stacks und Ressourcen mit Drift Detection
<a name="using-cfn-stack-drift"></a>

Selbst wenn Sie Ihre Ressourcen verwalten CloudFormation, können Benutzer diese Ressourcen außerhalb von ändern CloudFormation. Benutzer können Ressourcen direkt bearbeiten, indem sie den zugrunde liegenden Service verwenden, der die Ressource erstellt hat. Sie können beispielsweise die Amazon EC2 EC2-Konsole verwenden, um eine Server-Instance zu aktualisieren, die als Teil eines CloudFormation Stacks erstellt wurde. Einige Änderungen können versehentlich oder absichtlich vorgenommen werden, um auf zeitkritische Betriebsereignisse zu reagieren. Unabhängig davon CloudFormation können Änderungen, die außerhalb von vorgenommen werden, die Aktualisierungs- oder Löschvorgänge des Stacks erschweren. Mithilfe der Drift-Erkennung können Sie Stack-Ressourcen identifizieren, an denen außerhalb der CloudFormation Verwaltung Konfigurationsänderungen vorgenommen wurden. Sie können dann Korrekturmaßnahmen ergreifen, damit Ihre Stack-Ressourcen wieder mit ihren Definitionen in der Stack-Vorlage synchronisiert sind, z. B. die abgewichenen Ressourcen direkt aktualisieren, sodass sie mit ihrer Vorlagendefinition übereinstimmen. Die Auflösung von Abweichungen trägt dazu bei, die Konsistenz der Konfiguration und erfolgreiche Stack-Operationen zu gewährleisten.

**Topics**
+ [Was ist Abweichung?](#what-is-drift)
+ [Statuscodes für die Abweichungserkennung](#drift-status-codes)
+ [Überlegungen zur Erkennung von Abweichungen](#drift-considerations)
+ [Drift auf einem ganzen CloudFormation Stack erkennen](detect-drift-stack.md)
+ [Erkennen von Abweichungen bei einzelnen Stack-Ressourcen](detect-drift-resource.md)
+ [Beheben von Abweichungen mit einer Importoperation](resource-import-resolve-drift.md)

## Was ist Abweichung?
<a name="what-is-drift"></a>

Mit der Abweichungserkennung können Sie feststellen, ob die tatsächliche Konfiguration eines Stacks von seiner erwarteten Konfiguration *abweicht*. Wird verwendet CloudFormation , um Abweichungen bei einem gesamten Stack oder bei einzelnen Ressourcen innerhalb des Stacks zu erkennen. Eine Ressource gilt als abgewichen, wenn einer ihrer tatsächlichen Eigenschaftswerte von den erwarteten Eigenschaftswerten abweicht. Dies gilt auch, wenn die Eigenschaft oder Ressource gelöscht wurde. Ein Stack gilt als abgewichen, wenn eine oder mehrere seiner Ressourcen abgewichen sind.

 CloudFormation Ermittelt die erwarteten Eigenschaftswerte der Ressource, wie sie in der Stack-Vorlage definiert sind, und alle Werte, die als Vorlagenparameter angegeben wurden, um festzustellen, ob sich eine Ressource verändert hat. CloudFormation vergleicht dann diese erwarteten Werte mit den tatsächlichen Werten dieser Ressourceneigenschaften, so wie sie derzeit im Stapel vorhanden sind. Eine Ressource gilt als abgewichen, wenn eine oder mehrere ihrer Eigenschaften gelöscht wurden oder ihr Wert geändert wurde.

CloudFormation generiert detaillierte Informationen zu jeder Ressource im Stapel, die sich verändert hat.

CloudFormation erkennt Abweichungen bei den AWS Ressourcen, die die Drift-Erkennung unterstützen. Ressourcen, die die Abweichungserkennung nicht unterstützen, erhalten den Abweichungsstatus NOT\$1CHECKED. Eine Liste der AWS Ressourcen, die die Drift-Erkennung unterstützen, finden Sie unter[Unterstützung für Ressourcentypen](resource-import-supported-resources.md).

 CloudFormation Unterstützt außerdem die Drift-Erkennung bei privaten Ressourcentypen, die *bereitstellbar sind,* d. h., deren Bereitstellungstyp entweder oder `FULLY_MUTABLE` ist. `IMMUTABLE` Um eine Abweichungserkennung für einen privaten Ressourcentyp ausführen zu können, muss die Standardversion des Ressourcentyps, der in Ihrem Konto registriert ist, bereitstellbar sein. Weitere Informationen zur Art der Ressourcenbereitstellung finden Sie unter dem Parameter `ProvisioningType` der Aktion [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html) in der *AWS CloudFormation API-Referenz* und dem Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-type.html) in der *AWS CLI Befehlsreferenz*. Weitere Informationen über private Ressourcen finden Sie unter [Erweiterungen mit der CloudFormation Registry verwalten](registry.md).

Sie können die Abweichungserkennung für Stacks mit folgenden Status durchführen: `CREATE_COMPLETE`, `UPDATE_COMPLETE`, `UPDATE_ROLLBACK_COMPLETE` und `UPDATE_ROLLBACK_FAILED`.

Bei der Erkennung einer Drift auf einem Stack CloudFormation wird keine Drift auf verschachtelten Stacks erkannt, die zu diesem Stack gehören. Weitere Informationen finden Sie unter [Aufteilung einer Vorlage in wiederverwendbare Teile mit verschachtelten Stapeln](using-cfn-nested-stacks.md). Stattdessen können Sie eine Abweichungserkennung direkt für den verschachtelten Stack durchführen.

**Anmerkung**  
CloudFormation bestimmt nur die Drift für Eigenschaftswerte, die explizit festgelegt wurden, entweder über die Stack-Vorlage oder durch Angabe von Vorlagenparametern. Dies gilt nicht für Standardwerte für Ressourceneigenschaften. Damit eine Ressourceneigenschaft zur Bestimmung der Drift CloudFormation nachverfolgt werden kann, legen Sie den Eigenschaftswert explizit fest, auch wenn Sie ihn auf den Standardwert setzen.

## Statuscodes für die Abweichungserkennung
<a name="drift-status-codes"></a>

Die Tabellen in diesem Abschnitt beschreiben die verschiedenen Statusarten, die bei der Abweichungserkennung verwendet werden:
+ **Drift detection operation status (Abweichungserkennungs-Operationsstatus)** beschreibt den aktuellen Zustand des Driftvorgangs.
+ **Abweichungsstatus** 

  Bei Stack-Sets beschreibt dies den Abweichungsstatus des Stack-Sets als Ganzes basierend auf dem Abweichungsstatus der Stack-Instances, die zu ihm gehören.

  Bei Stack-Instances beschreibt dies den Abweichungsstatus der Stack-Instance basierend auf dem Abweichungsstatus des zugehörigen Stacks.

  Bei Stacks beschreibt dies den Abweichungsstatus des Stacks als Ganzes basierend auf dem Abweichungsstatus seiner Ressourcen.
+ **Resource drift status (Ressourcen-Abweichungsstatus)** beschreibt den Abweichungsstatus einer einzelnen Ressource.

In der folgenden Tabelle sind die Statuscodes aufgeführt, die Operationen zur Erkennung von Stack-Drift CloudFormation zugewiesen werden.


| Drift Detection Operation Status (Abweichungserkennungs-Operationsstatus) | Description | 
| --- | --- | 
|  `DETECTION_COMPLETE`  |  Der Vorgang zur Erkennung der Stack-Abweichung wurde für alle Ressourcen im Stack, die die Abweichungserkennung unterstützen, erfolgreich abgeschlossen.  | 
|  `DETECTION_FAILED`  |  Die Stack-Abweichungserkennung ist für mindestens eine Ressource im Stack fehlgeschlagen. Die Ergebnisse werden für Ressourcen verfügbar sein, bei denen die Drifterkennung CloudFormation erfolgreich abgeschlossen wurde.  | 
|  `DETECTION_IN_PROGRESS`  |  Der Vorgang zur Erkennung der Stack-Abweichung ist derzeit im Gange.  | 

In der folgenden Tabelle sind die Drift-Statuscodes aufgeführt, die CloudFormation Stacks zugewiesen werden.


| Abweichungsstatus | Description | 
| --- | --- | 
|  `DRIFTED`  |  Bei Stacks: Der Stack unterscheidet sich von der erwarteten Vorlagenkonfiguration oder ist von ihr *abgewichen*. Ein Stack gilt als abgewichen, wenn eine oder mehrere seiner Ressourcen abgewichen sind. Bei Stack-Instances: Eine Stack-Instance gilt als abgewichen, wenn der ihr zugeordnete Stack abgewichen ist. Bei Stack-Sets: Ein Stack-Set gilt als abgewichen, wenn eine oder mehrere Stack-Instances abgewichen sind.  | 
|  `NOT_CHECKED`  |  CloudFormation hat nicht geprüft, ob der Stack, das Stack-Set oder die Stack-Instance von der erwarteten Vorlagenkonfiguration abweicht.  | 
|  `IN_SYNC`  |  Die aktuelle Konfiguration jeder unterstützten Ressource entspricht der erwarteten Vorlagenkonfiguration. Ein Stack, Stack-Set oder eine Stack-Instance ohne Ressourcen, die die Abweichungserkennung unterstützen, hat ebenfalls den Status IN\$1SYNC.  | 

In der folgenden Tabelle sind die Drift-Statuscodes aufgeführt, die den Stack-Ressourcen CloudFormation zugewiesen werden.


| Ressourcen-Abweichungsstatus | Description | 
| --- | --- | 
|  `DELETED`  |  Die Ressource unterscheidet sich von ihrer erwarteten Vorlagenkonfiguration, da die Ressource gelöscht wurde.  | 
|  `MODIFIED`  |  Die Ressource unterscheidet sich von ihrer erwarteten Vorlagenkonfiguration.  | 
|  `NOT_CHECKED`  |  CloudFormation hat nicht geprüft, ob die Ressource von der erwarteten Vorlagenkonfiguration abweicht.  | 
|  `IN_SYNC`  |  Die aktuelle Konfiguration der Ressource entspricht der erwarteten Vorlagenkonfiguration.  | 

In der folgenden Tabelle sind die Differenztyp-Statuscodes aufgeführt, die Ressourceneigenschaften CloudFormation zugewiesen werden, die sich von ihrer erwarteten Vorlagenkonfiguration unterscheiden.


| Eigenschaftsabweichungstypen | Description | 
| --- | --- | 
|  `ADD`  |  Ein Wert wurde zu einer Ressourceneigenschaft hinzugefügt, die ein Array- oder ein Listen-Datentyp ist.   | 
|  `REMOVE`  |  Die Eigenschaft wurde aus der aktuellen Ressourcenkonfiguration entfernt.  | 
|  `NOT_EQUAL`  |  Der aktuelle Eigenschaftswert unterscheidet sich von seinem erwarteten Wert, der in der Stack-Vorlage definiert ist.  | 

## Überlegungen zur Erkennung von Abweichungen
<a name="drift-considerations"></a>

Um die Abweichungserkennung für einen Stack erfolgreich durchführen zu können, muss ein Benutzer über die folgenden Berechtigungen verfügen:
+ Leseberechtigung für jede Ressource im Stack, die die Abweichungserkennung unterstützt. Wenn der Stack beispielsweise eine `AWS::EC2::Instance`-Ressource enthält, müssen Sie die Berechtigung `ec2:DescribeInstances` haben, um die Abweichungserkennung für den Stack durchzuführen.
+ `cloudformation:DetectStackDrift`
+ `cloudformation:DetectStackResourceDrift`
+ `cloudformation:BatchDescribeTypeConfigurations`

Weitere Informationen zum Einstellen von Berechtigungen in CloudFormation finden Sie unter. [Steuern CloudFormation Sie den Zugriff mit AWS Identity and Access Management](control-access-with-iam.md)

In bestimmten Ausnahmefällen CloudFormation kann es sein, dass nicht immer genaue Drift-Ergebnisse zurückgegeben werden können. Sie sollten sich dieser Sonderfälle bewusst sein, um die Ergebnisse Ihrer Abweichungserkennung richtig interpretieren zu können.
+ In bestimmten Fällen werden Objekte, die in Eigenschafts-Arrays enthalten sind, als Abweichung gemeldet, während sie in Wirklichkeit Standardwerte sind, die der Eigenschaft vom zugrunde liegenden Service, der für die Ressource verantwortlich ist, zur Verfügung gestellt werden.
+ Bestimmte Ressourcen haben Zuordnungsbeziehungen mit verwandten Ressourcen, sodass eine Ressource Eigenschaftswerte für eine andere Ressource hinzufügen oder entfernen könnte, die in derselben oder einer anderen Vorlage definiert sind. So können beispielsweise die Ressourcen `AWS::EC2::SecurityGroupIngress` und `AWS::EC2::SecurityGroupEgress` verwendet werden, um Werte in `AWS::EC2::SecurityGroup`-Ressourcen hinzuzufügen und zu entfernen. CloudFormation Analysiert in diesen Fällen die Stack-Vorlage auf Anlagen, bevor der Drift-Vergleich durchgeführt wird. Diese Analyse CloudFormation kann jedoch nicht stapelübergreifend durchgeführt werden und liefert daher möglicherweise keine genauen Drift-Ergebnisse, wenn sich Ressourcen, die angehängt sind, in unterschiedlichen Stapeln befinden.

  Die folgenden Ressourcen unterstützen die Abweichungserkennung und ermöglichen oder erfordern Zuordnungen aus anderen Ressourcen:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
+ CloudFormation führt keine Drift-Erkennung für das `KMSKeyId` Eigentum von Ressourcen durch. Da AWS KMS Schlüssel durch mehrere Aliase referenziert werden können, CloudFormation kann für diese Eigenschaft keine gleichbleibend genauen Drift-Ergebnisse garantiert werden.
+ Es gibt bestimmte Ressourceneigenschaften, die Sie in Ihrer Stack-Vorlage angeben können und die naturgemäß nicht mit den Eigenschaften in den resultierenden Stack-Ressourcen verglichen werden können. CloudFormation Diese Eigenschaften können daher nicht in die Ergebnisse der Abweichungserkennung einbezogen werden. Solche Eigenschaften lassen sich in zwei Kategorien einteilen:
  + Eigenschaftswerte, die CloudFormation nicht ihrem ursprünglichen Ressourceneigenschaftswert in der Stackvorlage zugeordnet werden können.

     CloudFormation Kann beispielsweise den Quellcode einer Lambda-Funktion nicht dem [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-function-code.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-function-code.html)Eigenschaftstyp der [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-function.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-function.html)Ressource zuordnen und CloudFormation kann ihn daher nicht in die Ergebnisse der Drifterkennung einbeziehen. 
  + Eigenschaftswerte, die der Service, der für die Ressource verantwortlich ist, nicht zurückgibt.

    Es gibt bestimmte Eigenschaftswerte, die von vornherein nie von dem Service zurückgegeben werden, zu dem die Ressource gehört. Diese enthalten in der Regel vertrauliche Informationen, wie Passwörter oder andere sensible Daten, die nicht preisgegeben werden sollten. Beispielsweise gibt der IAM-Dienst niemals den Wert der `Password` Eigenschaft des Eigenschaftstyps zurück und CloudFormation kann ihn daher nicht in die [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-iam-user-loginprofile.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-iam-user-loginprofile.html)Ergebnisse der Drifterkennung einbeziehen.
  + Objekte in einem Array können Service-Standards sein – es muss sich nicht um eine manuell hinzugefügte Abweichung handeln.
+ Wenn Sie auf falsch positive Ergebnisse stoßen, senden Sie uns Ihre Kommentare über den Feedback-Link in der CloudFormation Konsole oder kontaktieren Sie uns über [AWS re:Post](https://repost.aws/)
+ Einige Eigenschaften können Eingabewerte haben, die gleich, aber nicht identisch sind. Um Fehler zu vermeiden, sollten Sie sicherstellen, dass Ihre erwartete Konfiguration mit der tatsächlichen Konfiguration übereinstimmt.
  + Beispielsweise kann die erwartete Konfiguration der Ressourceneigenschaft 1 024 MB und die tatsächliche Konfiguration derselben Ressourceneigenschaft 1 GB betragen. 1 024 MB und 1 GB sind gleich, aber nicht identisch.

    Wenn die Abweichungserkennung für diese Ressourceneigenschaft ausgeführt wird, werden abweichende Ergebnisse signalisiert.

    Ändern Sie die erwartete Konfiguration der Ressourceneigenschaft zu 1 024 MB und führen Sie dann die Abweichungserkennung aus, um diesen Fehler zu vermeiden.

# Drift auf einem ganzen CloudFormation Stack erkennen
<a name="detect-drift-stack"></a>

Das Durchführen einer Abweichungserkennung für einen Stack ermittelt, ob der Stack von seiner erwarteten Vorlagenkonfiguration abgewichen ist, und gibt detaillierte Informationen über den Abweichungsstatus jeder Ressource im Stack zurück, die die Abweichungserkennung unterstützt.

**Um Drift auf einem ganzen Stack zu erkennen, verwenden Sie den AWS-Managementkonsole**

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

1. Wählen Sie in der Liste der Stacks den Stack aus, für den Sie die Abweichungserkennung durchführen möchten. Wählen Sie im Stack-Detailbereich die Option **Stack actions (Stack-Aktionen)** und dann **Detect drift (Abweichung erkennen)** aus.  
![\[Der Befehl „Detect drift (Abweichung erkennen)“, der im Menü „Stack actions (Stack-Aktionen)“ für den markierten Stack ausgewählt wurde.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/console-stacks-actions-detect-drift-1.png)

   CloudFormation zeigt eine Informationsleiste an, die angibt, dass die Drifterkennung für den ausgewählten Stack initiiert wurde.

1. Warten Sie, bis der Vorgang zur Drifterkennung CloudFormation abgeschlossen ist. Wenn die Drift-Erkennung abgeschlossen ist, werden der **Drift-Status** und die **Uhrzeit der letzten Drift-Prüfung** für Ihren Stack CloudFormation aktualisiert. Diese Felder werden im Abschnitt **Overview (Übersicht)** des Bereichs **Stack info (Stack-Informationen)** der Stack-Detailseite aufgeführt.

   Der Vorgang der Abweichungserkennung kann mehrere Minuten dauern, abhängig von der Anzahl der im Stack enthaltenen Ressourcen. Sie können nur einen einzigen Vorgang zur Drifterkennung auf einem bestimmten Stack gleichzeitig ausführen. CloudFormation setzt die Drifterkennung fort, auch wenn Sie die Informationsleiste schließen.

1. Überprüfen Sie die Ergebnisse der Abweichungserkennung für den Stack und seine Ressourcen. Wenn Sie Ihren Stack ausgewählt haben, wählen Sie im Menü **Stack actions (Stack-Aktionen)** die Option **View drift results (Abweichungsergebnisse anzeigen)** aus.

   CloudFormation listet den gesamten Drift-Status des Stacks sowie den Zeitpunkt auf, zu dem die Drift-Erkennung zuletzt auf dem Stack oder einer seiner einzelnen Ressourcen ausgelöst wurde. Ein Stack gilt als abgewichen, wenn eine oder mehrere seiner Ressourcen abgewichen sind.  
![\[Die Abweichungsseite für den ausgewählten Stack, die den Gesamtabweichungsstatus, den Status der Abweichungserkennung und das letzte Mal, als die Abweichungserkennung für den Stack oder eine seiner einzelnen Ressourcen eingeleitet wurde, anzeigt.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/console-stacks-drifts-overview-1.png)

   Im Abschnitt **Status der Ressourcenabweichung** CloudFormation werden alle Stack-Ressourcen, ihr Drift-Status und der Zeitpunkt aufgeführt, zu dem die Drift-Erkennung zuletzt auf der Ressource initiiert wurde. Die logische ID und die physische ID jeder Ressource werden angezeigt, um Ihnen bei der Identifizierung zu helfen. Bei Ressourcen mit dem Status **MODIFIZIERT** werden außerdem Details zur Ressourcenabweichung CloudFormation angezeigt.

   Sie können die Ressourcen basierend auf ihrem Abweichungsstatus mithilfe der Spalte **Drift status (Abweichungsstatus)** sortieren.

   1. So zeigen Sie die Details zu einer geänderten Ressource an

     1. Wenn Sie die geänderten Ressourcen ausgewählt haben, wählen Sie **View drift details (Abweichungsdetails anzeigen)** aus.

       CloudFormation zeigt die Drift-Detailseite für diese Ressource an. Diese Seite führt den erwarteten und aktuellen Eigenschaftswert der Ressource sowie alle Unterschiede zwischen den beiden auf.

       Zum Hervorheben eines Unterschieds wählen Sie im Abschnitt **Differences (Unterschiede)** den Eigenschaftsnamen aus.
       + Zusätzliche Eigenschaften werden in der Spalte **Current (Aktuell)** des Abschnitts **Details** grün hinterlegt.
       + Gelöschte Eigenschaften werden in der Spalte **Expected (Erwartet)** des Abschnitts **Details** rot markiert.
       + Eigenschaften, deren Wert geändert wurde, sind in den beiden Spalten **Expected (Erwartet)** und **Current (Aktuell)** gelb markiert.  
![\[Der Abschnitt Ressourcenabweichungsstatus auf der Seite Abweichungsdetails, der Abweichungsinformationen für jede Ressource im Stack enthält, die die Abweichungserkennung unterstützt. Zu den Details gehören der Abweichungsstatus sowie die erwarteten und aktuellen Eigenschaftswerte.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/console-stacks-drifts-drift-details-differences-1.png)

**Um Drift auf einem gesamten Stack zu erkennen, verwenden Sie den AWS CLI**
**Wichtig**  
Überprüfen Sie den Zeitpunkt **der letzten Driftprüfung** für den Stapel und stellen Sie sicher, dass er vor dem Zeitstempel liegt, der in den Ergebnissen der Ressourcendrift angezeigt wird, um die Verwendung veralteter Daten zu verhindern.

Verwenden Sie die folgenden AWS CLI Befehle AWS CLI, um Drift auf einem gesamten Stack mithilfe von zu erkennen:
+ **detect-stack-drift**, um einen Abweichungserkennungsvorgang für einen Stack einzuleiten.
+ **describe-stack-drift-detection-status**, um den Status des Stapelabweichungserkennungs-Vorgangs zu überwachen.
+ **describe-stack-resource-drifts**, um die Details der Stapelabweichungserkennung zu überprüfen.

1. Verwenden Sie die **detect-stack-drift**, um eine Abweichung für einen gesamten Stack zu erkennen. Geben Sie den Stack-Namen oder ARN an. Sie können auch die Logik IDs bestimmter Ressourcen angeben, die Sie als Filter für diesen Vorgang zur Drifterkennung verwenden möchten.

   ```
   aws cloudformation detect-stack-drift --stack-name my-stack-with-resource-drift
   ```

   Ausgabe:

   ```
   {
       "StackDriftDetectionId": "624af370-311a-11e8-b6b7-500cexample"
   }
   ```

1. Da die Erkennung der Stack-Abweichung lange dauern kann, verwenden Sie **describe-stack-drift-detection-status**, um den Status des Vorgangs zu überwachen. Dieser Befehl übernimmt die ID der Stack-Abweichungserkennung, die vom Befehl **detect-stack-drift** zurückgegeben wird.

   Im folgenden Beispiel haben wir die vom obigen Beispiel **detect-stack-drift** zurückgegebene Stack-Abweichungserkennungs-ID verwendet und als Parameter an **describe-stack-drift-detection-status** übergeben. Der Parameter gibt Vorgangsdetails zurück, die zeigen, dass der Abweichungserkennungs-Vorgang abgeschlossen ist, eine einzelne Stack-Ressource abgewichen ist und dass der gesamte Stack als Ergebnis als abgewichen gilt.

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

   Ausgabe:

   ```
   {
       "StackId": "arn:aws:cloudformation:us-east-1:099908667365:stack/my-stack-with-resource-drift/489e5570-df85-11e7-a7d9-50example", 
       "StackDriftDetectionId": "624af370-311a-11e8-b6b7-500cexample", 
       "StackDriftStatus": "DRIFTED", 
       "Timestamp": "2018-03-26T17:23:22.279Z", 
       "DetectionStatus": "DETECTION_COMPLETE", 
       "DriftedStackResourceCount": 1
   }
   ```

1. Wenn die Stapelabweichungserkennung abgeschlossen ist, verwenden Sie den Befehl **describe-stack-resource-drifts**, um die Ergebnisse zu überprüfen, einschließlich der tatsächlichen und erwarteten Eigenschaftswerte für Ressourcen, die abgewichen sind.

   Das folgende Beispiel verwendet die Option `--stack-resource-drift-status-filters`, um Stack-Drift-Informationen für die Ressourcen abzufragen, die geändert oder gelöscht wurden. Die Anfrage gibt Informationen über die eine Ressource zurück, die geändert wurde, einschließlich Details über zwei ihrer Eigenschaften, deren Werte geändert wurden. Es wurden keine Ressourcen gelöscht.

   ```
   aws cloudformation describe-stack-resource-drifts --stack-name my-stack-with-resource-drift --stack-resource-drift-status-filters MODIFIED DELETED
   ```

   Ausgabe:

   ```
   {
       "StackResourceDrifts": [
           {
               "StackId": "arn:aws:cloudformation:us-east-1:099908667365:stack/my-stack-with-resource-drift/489e5570-df85-11e7-a7d9-50example", 
               "ActualProperties": "{\"ReceiveMessageWaitTimeSeconds\":0,\"DelaySeconds\":120,\"RedrivePolicy\":{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:099908667365:my-stack-with-resource-drift-DLQ-1BCY7HHD5QIM3\",\"maxReceiveCount\":12},\"MessageRetentionPeriod\":345600,\"MaximumMessageSize\":262144,\"VisibilityTimeout\":60,\"QueueName\":\"my-stack-with-resource-drift-Queue-494PBHCO76H4\"}", 
               "ResourceType": "AWS::SQS::Queue", 
               "Timestamp": "2018-03-26T17:23:34.489Z", 
               "PhysicalResourceId": "https://sqs.us-east-1.amazonaws.com/099908667365/my-stack-with-resource-drift-Queue-494PBHCO76H4", 
               "StackResourceDriftStatus": "MODIFIED", 
               "ExpectedProperties": "{\"ReceiveMessageWaitTimeSeconds\":0,\"DelaySeconds\":20,\"RedrivePolicy\":{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:099908667365:my-stack-with-resource-drift-DLQ-1BCY7HHD5QIM3\",\"maxReceiveCount\":10},\"MessageRetentionPeriod\":345600,\"MaximumMessageSize\":262144,\"VisibilityTimeout\":60,\"QueueName\":\"my-stack-with-resource-drift-Queue-494PBHCO76H4\"}", 
               "PropertyDifferences": [
                   {
                       "PropertyPath": "/DelaySeconds", 
                       "ActualValue": "120", 
                       "ExpectedValue": "20", 
                       "DifferenceType": "NOT_EQUAL"
                   }, 
                   {
                       "PropertyPath": "/RedrivePolicy/maxReceiveCount", 
                       "ActualValue": "12", 
                       "ExpectedValue": "10", 
                       "DifferenceType": "NOT_EQUAL"
                   }
               ], 
               "LogicalResourceId": "Queue"
           }
       ]
   }
   ```

# Erkennen von Abweichungen bei einzelnen Stack-Ressourcen
<a name="detect-drift-resource"></a>

Sie können Abweichungen von bestimmten Ressourcen innerhalb eines Stacks statt des gesamten Stacks erkennen. Dies ist besonders nützlich, wenn Sie nur feststellen müssen, ob bestimmte Ressourcen wieder mit ihren erwarteten Vorlagenkonfigurationen übereinstimmen.

Bei der Drifterkennung für eine Ressource werden CloudFormation auch der gesamte Stack-Driftstatus und gegebenenfalls die **Uhrzeit der letzten Drift-Prüfung** aktualisiert. Nehmen wir zum Beispiel an, ein Stapel hat den Driftstatus `IN_SYNC`. Sie haben eine Drift-Erkennung für eine oder mehrere Ressourcen in diesem Stack CloudFormation durchgeführt und dabei CloudFormation festgestellt, dass eine oder mehrere dieser Ressourcen driftet sind. CloudFormation aktualisiert den Status der Stack-Drift auf`DRIFTED`. Nehmen Sie umgekehrt an, Sie haben einen Stapel mit einem Driftstatus von `DRIFTED` aufgrund einer einzigen gedrifteten Ressource. Wenn Sie diese Ressource auf ihre erwarteten Eigenschaftswerte zurücksetzen und dann erneut eine Drift bei der Ressource feststellen, CloudFormation werden sowohl der Ressourcen-Drift-Status als auch der Stack-Drift-Status auf aktualisiert, `IN_SYNC` ohne dass Sie die Drift erneut auf dem gesamten Stack feststellen müssen.

**Um Abweichungen bei einer einzelnen Ressource zu erkennen, verwenden Sie AWS-Managementkonsole**

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 Stacks den Stack aus, der die Ressource enthält. CloudFormation zeigt die Stack-Details für diesen Stack an.

1. Wählen Sie im linken Navigationsbereich unter **Stacks** die Option **Stack Actions (Stack-Aktionen)** und dann **Detect drift (Abweichung erkennen)** aus.

1. Wählen Sie unter **Resource drift status (Ressourcenabweichungsstatus)** die Ressource aus und wählen Sie dann **Detect drift for resource (Abweichung für Ressource erkennen)** aus.

   CloudFormation führt eine Drift-Erkennung für die ausgewählte Ressource durch. Bei Erfolg werden der Drift-Status der Ressource und, falls erforderlich, der gesamte Stack-Driftstatus CloudFormation aktualisiert. CloudFormation aktualisiert außerdem den Zeitstempel für den Zeitpunkt, zu dem die Drift-Erkennung zuletzt für die Ressource und den gesamten Stack durchgeführt wurde. Wenn die Ressource geändert wurde, CloudFormation werden detaillierte Drift-Informationen zu den erwarteten und aktuellen Eigenschaftswerten der Ressource angezeigt.

1. Überprüfen Sie die Ergebnisse der Abweichungserkennung für die Ressource.

   1. So zeigen Sie die Details zu einer geänderten Ressource an

     1. Wenn Sie die geänderten Ressourcen ausgewählt haben, wählen Sie **View drift details (Abweichungsdetails anzeigen)** aus.

       CloudFormation zeigt die Drift-Details für diese Ressource an, einschließlich der erwarteten und aktuellen Eigenschaftswerte der Ressource sowie aller Unterschiede zwischen den beiden.

       Zum Hervorheben eines Unterschieds wählen Sie im Abschnitt **Differences (Unterschiede)** den Eigenschaftsnamen aus.
       + Zusätzliche Eigenschaften werden in der Spalte **Current (Aktuell)** des Abschnitts **Details** grün hinterlegt.
       + Gelöschte Eigenschaften werden in der Spalte **Expected (Erwartet)** des Abschnitts **Details** rot markiert.
       + Eigenschaften, deren Wert geändert wurde, sind in den beiden Spalten **Expected (Erwartet)** und **Current (Aktuell)** gelb markiert.  
![\[Der Abschnitt Ressourcenabweichungsstatus auf der Seite Abweichungsdetails, der Abweichungsinformationen für jede Ressource im Stack enthält, die die Abweichungserkennung unterstützt. Zu den Details gehören der Abweichungsstatus sowie die erwarteten und aktuellen Eigenschaftswerte.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/console-stacks-drifts-drift-details-differences-1.png)

**Um Abweichungen bei einer einzelnen Ressource zu erkennen, verwenden Sie AWS CLI**
+ 
**Wichtig**  
Überprüfen Sie die **Zeit der letzten Driftprüfung** für die Stapelressource und stellen Sie sicher, dass sie vor dem Zeitstempel liegt, der in den Ergebnissen der Ressourcendrift angezeigt wird, um die Verwendung veralteter Daten zu verhindern.

  Verwenden Sie den **detect-stack-resource-drift** Befehl AWS CLI, um Abweichungen bei einer einzelnen Ressource mithilfe von zu erkennen. Geben Sie die logische ID der Ressource sowie den Stack an, in dem sie enthalten ist.

  Das folgende Beispiel führt eine Drifterkennungsoperation für eine bestimmte Stapelressource `my-drifted-resource`aus. Die Antwort gibt Informationen zurück, die bestätigen, dass die Ressource geändert wurde, einschließlich Details zu zwei ihrer Eigenschaften, deren Werte geändert wurden.

  ```
  aws cloudformation detect-stack-resource-drift \
      --stack-name my-stack-with-resource-drift \
      --logical-resource-id my-drifted-resource
  ```

  Ausgabe:

  ```
  {
      "StackResourceDrift": {
          "StackId": "arn:aws:cloudformation:us-east-1:099908667365:stack/my-stack-with-resource-drift/489e5570-df85-11e7-a7d9-50example", 
          "ActualProperties": "{\"ReceiveMessageWaitTimeSeconds\":0,\"DelaySeconds\":120,\"RedrivePolicy\":{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:099908667365:my-stack-with-resource-drift-DLQ-1BCY7HHD5QIM3\",\"maxReceiveCount\":12},\"MessageRetentionPeriod\":345600,\"MaximumMessageSize\":262144,\"VisibilityTimeout\":60,\"QueueName\":\"my-stack-with-resource-drift-Queue-494PBHCO76H4\"}", 
          "ResourceType": "AWS::SQS::Queue", 
          "Timestamp": "2018-03-26T18:54:28.462Z", 
          "PhysicalResourceId": "https://sqs.us-east-1.amazonaws.com/099908667365/my-stack-with-resource-drift-Queue-494PBHCO76H4", 
          "StackResourceDriftStatus": "MODIFIED", 
          "ExpectedProperties": "{\"ReceiveMessageWaitTimeSeconds\":0,\"DelaySeconds\":20,\"RedrivePolicy\":{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:099908667365:my-stack-with-resource-drift-DLQ-1BCY7HHD5QIM3\",\"maxReceiveCount\":10},\"MessageRetentionPeriod\":345600,\"MaximumMessageSize\":262144,\"VisibilityTimeout\":60,\"QueueName\":\"my-stack-with-resource-drift-Queue-494PBHCO76H4\"}", 
          "PropertyDifferences": [
              {
                  "PropertyPath": "/DelaySeconds", 
                  "ActualValue": "120", 
                  "ExpectedValue": "20", 
                  "DifferenceType": "NOT_EQUAL"
              }, 
              {
                  "PropertyPath": "/RedrivePolicy/maxReceiveCount", 
                  "ActualValue": "12", 
                  "ExpectedValue": "10", 
                  "DifferenceType": "NOT_EQUAL"
              }
          ], 
          "LogicalResourceId": "my-drifted-resource"
      }
  }
  ```

# Beheben von Abweichungen mit einer Importoperation
<a name="resource-import-resolve-drift"></a>

Es kann Fälle geben, in denen die Konfiguration einer Ressource von der beabsichtigten Konfiguration abgewichen ist und Sie die neue Konfiguration als vorgesehene Konfiguration akzeptieren möchten. In den meisten Fällen würden Sie die Abweichungsergebnisse beheben, indem Sie die Ressourcendefinition in der Stack-Vorlage mit einer neuen Konfiguration aktualisieren und dann eine Stack-Aktualisierung ausführen. Wenn die neue Konfiguration jedoch eine Ressourceneigenschaft aktualisiert, die ersetzt werden muss, wird die Ressource während der Stack-Aktualisierung neu erstellt. Wenn Sie die vorhandene Ressource beibehalten möchten, können Sie das Ressourcenimportfeature verwenden, um die Ressource zu aktualisieren und die Abweichungsergebnisse zu beheben, ohne dass die Ressource ersetzt wird.

Das Beheben der Abweichung für eine Ressource durch eine Importoperation besteht aus den folgenden grundlegenden Schritten:
+ [Fügen Sie der Ressource ein DeletionPolicy Attribut hinzu, das auf Retain festgelegt](#resource-import-resolve-drift-console-step-01-update-stack) ist. Dadurch wird sichergestellt, dass die vorhandene Ressource beibehalten und nicht gelöscht wird, wenn sie aus dem Stack entfernt wird.
+ [Entfernen Sie die Ressource aus der Vorlage und führen Sie eine Stack-Aktualisierungsoperation aus](#resource-import-resolve-drift-console-step-02-remove-drift). Dadurch wird die Ressource aus dem Stack entfernt, aber nicht gelöscht.
+ [Beschreiben Sie den tatsächlichen Zustand der Ressource in der Stack-Vorlage und importieren Sie dann die vorhandene Ressource wieder in den Stack](#resource-import-resolve-drift-console-step-03-update-template). Dadurch wird die Ressource wieder in den Stack eingefügt und die Unterschiede in den Eigenschaften behoben, die die Abweichungsergebnisse verursacht haben.

Weitere Informationen zum Ressourcenimport finden Sie unter [Manuelles Importieren von AWS Ressourcen in einen CloudFormation Stack](import-resources-manually.md). Eine Liste der Ressourcen, die den Import unterstützen, finden Sie unter [Unterstützung für Ressourcentypen](resource-import-supported-resources.md).

In diesem Beispiel verwenden wir die folgende Vorlage mit der Bezeichnung `templateToImport.json`.

------
#### [ Example JSON ]

```
{
    "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"
                 }
              ],
              "BillingMode": "PROVISIONED",
              "ProvisionedThroughput":{
                 "ReadCapacityUnits":5,
                 "WriteCapacityUnits":1
              }
           }
        },
        "GamesTable": {
            "Type": "AWS::DynamoDB::Table",
            "Properties": {
                "TableName": "Games",
                "AttributeDefinitions": [
                    {
                        "AttributeName": "key",
                        "AttributeType": "S"
                    }
                ],
                "KeySchema": [
                    {
                        "AttributeName": "key",
                        "KeyType": "HASH"
                    }
                ],
                "BillingMode": "PROVISIONED",
                "ProvisionedThroughput": {
                    "ReadCapacityUnits": 5,
                    "WriteCapacityUnits": 1
                }
            }
        }
    }
}
```

------
#### [ Example YAML ]

```
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
      BillingMode: PROVISIONED
      ProvisionedThroughput:
        ReadCapacityUnits: 5
        WriteCapacityUnits: 1
  GamesTable:
    Type: AWS::DynamoDB::Table
    Properties:
      TableName: Games
      AttributeDefinitions:
        - AttributeName: key
          AttributeType: S
      KeySchema:
        - AttributeName: key
          KeyType: HASH
      BillingMode: PROVISIONED
      ProvisionedThroughput:
        ReadCapacityUnits: 5
        WriteCapacityUnits: 1
```

------

In diesem Beispiel nehmen wir an, dass ein Benutzer eine Ressource außerhalb von geändert hat CloudFormation. Nachdem eine Abweichungserkennung ausgeführt wurde, haben wir festgestellt, dass für `GamesTable` `BillingMode` in `PAY_PER_REQUEST` geändert wurde. Weitere Informationen über Drift Detect finden Sie unter [Erkennen Sie nicht verwaltete Konfigurationsänderungen an Stacks und Ressourcen mit Drift Detection](using-cfn-stack-drift.md).

![\[Die Abweichungsergebnisse zeigen die erwarteten und tatsächlichen Ergebnisse in der Konsole an.\]](http://docs.aws.amazon.com/de_de/AWSCloudFormation/latest/UserGuide/images/drift-results-gamestable.png)


Unser Stack ist jetzt veraltet, unsere Ressourcen sind live, aber wir wollen die vorgesehene Ressourcenkonfiguration beibehalten. Dies ist möglich, indem wir die Abweichung durch eine Importoperation beheben, ohne die Services zu unterbrechen.

## Beheben Sie Abweichungen bei einem Importvorgang mithilfe der CloudFormation Konsole
<a name="resource-import-resolve-drift-console"></a>

### Schritt 1. Aktualisieren des Stacks mit der Löschrichtlinie Retain (Beibehalten)
<a name="resource-import-resolve-drift-console-step-01-update-stack"></a>

**So aktualisieren Sie den Stack mithilfe eines `DeletionPolicy`-Attributs mit der Option `Retain`**

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 mit der Abweichung aus.

1. Wählen Sie **Update (Aktualisieren)** und dann im Bereich mit den Stackdetails die Option **Replace current template (Aktuelle Vorlage ersetzen)**.

1. Geben Sie auf der Seite **Specify template (Vorlage angeben)** mit einer der folgenden Methoden die aktualisierte Vorlage an, die das `DeletionPolicy`-Attribut mit der Option `Retain` enthält:
   + 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.

   Wählen Sie anschließend **Weiter**.

1. Überprüfen Sie die Seite **Specify stack details (Stackdetails angeben)** und wählen Sie **Next (Weiter)**.

1. Überprüfen Sie die Seite **Configure stack options (Stackoptionen konfigurieren)** und wählen Sie **Next (Weiter)**.

1. Wählen Sie auf der *stack-name* Seite **„Überprüfen**“ die Option Stack **aktualisieren** aus.

*Ergebnisse*: Auf der Seite **Events (Ereignisse)** Ihres Stacks lautet der Status `UPDATE_COMPLETE`.

Um Abweichungen durch einen Importvorgang zu beheben, ohne die Dienste zu unterbrechen, geben Sie a `Retain` [DeletionPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-deletionpolicy.html)für die Ressourcen an, die Sie aus Ihrem Stack entfernen möchten. Im folgenden Beispiel haben wir der `GamesTable` Ressource [DeletionPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-deletionpolicy.html)das Attribut set to `Retain` hinzugefügt.

------
#### [ Example JSON ]

```
    "GamesTable": {
        "Type": "AWS::DynamoDB::Table",
        "DeletionPolicy": "Retain",
        "Properties": {
            "TableName": "Games",
```

------
#### [ Example YAML ]

```
  GamesTable:
    Type: AWS::DynamoDB::Table
    DeletionPolicy: Retain
    Properties:
      TableName: Games
```

------

### Schritt 2. Entfernen von abgewichenen Ressourcen, zugehörigen Parametern und Ausgaben
<a name="resource-import-resolve-drift-console-step-02-remove-drift"></a>

**So entfernen Sie abgewichene Ressourcen, zugehörige Parameter und Ausgaben**

1. Wählen Sie **Update (Aktualisieren)** und dann im Bereich mit den Stackdetails die Option **Replace current template (Aktuelle Vorlage ersetzen)**.

1. Geben Sie mit einer der folgenden Methoden auf der Seite **Specify template (Vorlage angeben)** Ihre aktualisierte Vorlage mit ihren Ressourcen, zugehörigen Parametern und Ausgaben an, die aus der Stack-Vorlage entfernt wurden:
   + 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.

   Wählen Sie anschließend **Weiter**.

1. Überprüfen Sie die Seite **Specify stack details (Stackdetails angeben)** und wählen Sie **Next (Weiter)**.

1. Überprüfen Sie die Seite **Configure stack options (Stackoptionen konfigurieren)** und wählen Sie **Next (Weiter)**.

1. Wählen Sie auf der *stack-name* Seite **„Überprüfen**“ die Option **Stack aktualisieren** aus.

*Ergebnisse*: Die **Logical ID (Logische ID)** `GamesTable` hat den Status `DELETE_SKIPPED` auf der Seite **Events (Ereignisse)** Ihres Stacks.

Warten Sie, bis der Stack-Aktualisierungsvorgang CloudFormation abgeschlossen ist. Entfernen Sie nach Abschluss der Stack-Aktualisierungsoperation die Ressource, die zugehörigen Parameter und Ausgaben aus der Stack-Vorlage. Importieren Sie dann die aktualisierte Vorlage. Nach Abschluss dieser Aktionen sieht die Beispielvorlage jetzt wie folgt aus.

------
#### [ Example JSON ]

```
{
    "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"
                 }
              ],
              "BillingMode": "PROVISIONED",
              "ProvisionedThroughput":{
                 "ReadCapacityUnits":5,
                 "WriteCapacityUnits":1
              }
           }
        }
    }
}
```

------
#### [ Example YAML ]

```
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
      BillingMode: PROVISIONED
      ProvisionedThroughput:
        ReadCapacityUnits: 5
        WriteCapacityUnits: 1
```

------

### Schritt 3. Aktualisieren der Vorlage, damit Sie dem Live-Status Ihrer Ressourcen entspricht
<a name="resource-import-resolve-drift-console-step-03-update-template"></a>

**So aktualisieren Sie die Vorlage, damit sie dem Live-Status von Ressourcen entspricht**

1. Um die aktualisierte Vorlage zu importieren, wählen Sie **Stack actions (Stack-Aktionen)** und dann **Import resources into stack (Ressourcen in Stack importieren)**.  
![\[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. Prüfen Sie auf der Seite **Import overview (Importübersicht)** die Liste der Dinge, die Sie während dieser Operation angeben müssen, und wählen Sie dann **Next (Weiter)**.

1. Geben Sie auf der Seite **Specify template (Vorlage angeben)** mit einer der folgenden Methoden Ihre aktualisierte Vorlage an:
   + 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.

   Wählen Sie anschließend **Weiter**.

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. Die Eigenschaft `TableName` identifiziert beispielsweise die Ressource `AWS::DynamoDB::Table`.

   1. Geben Sie unter **Identifier value (Bezeichnerwert)** den tatsächlichen Eigenschaftswert ein. In der Beispielvorlage lautet der `TableName` für die `GamesTable`-Ressource `Games`.

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

1. Überprüfen Sie die Seite **Specify stack details (Stack-Details angeben)** und wählen Sie **Next (Weiter)**.

1. Überprüfen Sie auf der Seite **Import overview (Importübersicht)**, welche Ressourcen importiert werden, und wählen Sie dann **Import resources (Ressourcen importieren)**. Dadurch wird der Ressourcentyp `AWS::DynamoDB::Table` zurück in Ihren Stack importiert.

*Ergebnisse*: In diesem Beispiel haben wir die Ressourcenabweichung durch eine Importoperation behoben, ohne Services zu unterbrechen. Sie können den Fortschritt einer Importaktion in der CloudFormation Konsole auf der Registerkarte Ereignisse überprüfen. Importierte Ressourcen weisen den Status `IMPORT_COMPLETE` auf, gefolgt vom Status `CREATE_COMPLETE` mit dem Statusgrund **Resource import complete (Ressourcenimport abgeschlossen)**.

Warten Sie, bis der Stack-Aktualisierungsvorgang CloudFormation abgeschlossen ist. Aktualisieren Sie Ihre Vorlage nach Abschluss der Stack-Aktualisierungsoperation so, dass sie dem tatsächlichen, abgewichenen Zustand Ihrer Ressourcen entspricht. Beispiel: `BillingMode` wird auf `PAY_PER_REQUEST` festgelegt und `ReadCapacityUnits` sowie `WriteCapacityUnits` werden auf `0` festgelegt.

------
#### [ Example JSON ]

```
{
    "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"
                 }
              ],
              "BillingMode": "PROVISIONED",
              "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"
                    }
                ],
                "BillingMode": "PAY_PER_REQUEST",
                "ProvisionedThroughput": {
                    "ReadCapacityUnits": 0,
                    "WriteCapacityUnits": 0
                }
            }
        }
    }
}
```

------
#### [ Example YAML ]

```
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
      BillingMode: PROVISIONED
      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
      BillingMode: PAY_PER_REQUEST
      ProvisionedThroughput:
        ReadCapacityUnits: 0
        WriteCapacityUnits: 0
```

------