Erkennen von Abweichungen auf einem gesamten CloudFormation Stack - AWS CloudFormation

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 von Abweichungen auf einem gesamten CloudFormation Stack

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.

So erkennen Sie eine Abweichung für einen gesamten Stack mithilfe der AWS Management Console
  1. Öffnen Sie die - AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation.

  2. 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.

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

  3. Warten Sie, bis den Abweichungserkennungsvorgang CloudFormation abgeschlossen hat. Wenn der Abweichungserkennungsvorgang abgeschlossen ist, CloudFormation aktualisiert den Abweichungsstatus und die letzte Abweichungsprüfungszeit für Ihren Stack. 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 Abweichungserkennungsvorgang für einen bestimmten Stack gleichzeitig ausführen. CloudFormation setzt den Abweichungserkennungsvorgang fort, auch wenn Sie die Informationsleiste schließen.

  4. Ü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 Gesamtabweichungsstatus des Stacks zusätzlich zum letzten Mal auf, als die Abweichungserkennung für den Stack oder eine seiner einzelnen Ressourcen initiiert 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.

    Im Abschnitt Ressourcenabweichungsstatus CloudFormation listet jede Stack-Ressource, ihren Abweichungsstatus und das letzte Mal auf, wenn die Abweichungserkennung für die Ressource initiiert wurde. Die logische ID und die physische ID jeder Ressource werden angezeigt, um Ihnen bei der Identifizierung zu helfen. Darüber hinaus CloudFormation zeigt für Ressourcen mit dem Status MODIFIED Details zur Ressourcenabweichung an.

    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 Abweichungsdetailseite 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.
So erkennen Sie eine Abweichung für einen gesamten Stack mithilfe der AWS CLI

Verwenden Sie die folgenden aws cloudformation Befehle AWS CLI, um eine Abweichung für einen gesamten Stack mithilfe der 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 logischen IDs aller bestimmten Ressourcen angeben, die Sie als Filter für diese Abweichungserkennung verwenden möchten.

    $ aws cloudformation detect-stack-drift --stack-name my-stack-with-resource-drift { "StackDriftDetectionId": "624af370-311a-11e8-b6b7-500cexample" }
  2. 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 { "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 }
  3. 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 den Parameter stack-resource-drift-status-filters, um Informationen zur Stack-Abweichung für die Ressourcen abzurufen, 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 { "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" } ] }