Verwenden von Änderungssätzen mit Drift-Erkennung - 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.

Verwenden von Änderungssätzen mit Drift-Erkennung

Bei Änderungssätzen, bei denen Änderungen berücksichtigt werden, handelt es sich um erweiterte CloudFormation Änderungssätze, mit denen Sie Stackabweichungen auf sichere Weise erkennen und bewältigen können. Stacks weichen von ihrer erwarteten Vorlagenkonfiguration ab, wenn Stack-Ressourcen außerhalb geändert werden CloudFormation, indem das AWS-Managementkonsole AWS CLI, oder SDK der zugrunde liegenden Dienste verwendet wird. Änderungssätze, die Drift berücksichtigen, vergleichen Vorlagen mit dem tatsächlichen Zustand Ihrer Stack-Ressourcen und passen die veränderten Ressourcen an ihre Vorlagendefinitionen an. Wenn die Vorlagendefinition einer Ressource aktualisiert wird, sodass sie ihrem aktuellen Status entspricht, setzen Änderungssätze, die Abweichungen erkennen, den Drift-Status der Ressource zurück, ohne die Ressource zu ändern.

Die Verwendung von Änderungssätzen, bei denen Abweichungen berücksichtigt werden, bietet unter anderem folgende Vorteile:

  • Überschreibungen von Drift als Vorschau anzeigen — Ermitteln Sie, ob bei einer Bereitstellung kritische out-of-band Änderungen rückgängig gemacht werden, die während der Reaktion auf einen Vorfall vorgenommen wurden.

  • Systematischer Abgleich von Abweichungen — Richten Sie veränderte Ressourcen sicher an konforme Vorlagendefinitionen ab, indem Sie entweder veränderte Eigenschaften mit Vorlagenwerten überschreiben oder die Vorlage so aktualisieren, dass sie dem tatsächlichen Ressourcenstatus entspricht.

  • Verbesserte Rollback-Funktionen — Wenn eine Bereitstellung fehlschlägt, stellen Sie die Ressourcen auf ihren tatsächlichen Zustand vor der Bereitstellung zurück, nicht auf den vorherigen Vorlagenstatus.

  • Vollständige Transparenz — Sehen Sie genau, wie sich Ihre Bereitstellung auf die tatsächlichen Ressourcenkonfigurationen auswirkt, bevor Sie Änderungen vornehmen.

Herkömmliche Änderungssets bieten einen Vergleich Ihrer neuen Vorlage mit der vorherigen Vorlage für einen Stack, berücksichtigen jedoch nicht die Stack-Drift. Änderungssätze, die Drift berücksichtigen, lösen dieses Problem, indem sie einen dreiseitigen Vergleich ermöglichen zwischen:

  • Aktueller Status — Die Live-Konfiguration Ihrer Ressourcen. CloudFormation liest die Konfiguration der Ressourcen in Ihrem Konto zum Zeitpunkt der Erstellung des Änderungssatzes über den zugrunde liegenden Dienst APIs.

  • Status der vorherigen Bereitstellung — Die in der Vorlage definierte Konfiguration aus Ihrer letzten CloudFormation Bereitstellung.

  • Gewünschter Status — Die in Ihrer neuen Vorlage definierte Konfiguration.

Änderungssätze, die Drift berücksichtigen, aktualisieren den aktuellen Status aller Stack-Ressourcen, sodass er dem gewünschten Status entspricht, auch wenn eine Ressource in der Vorlage nicht explizit geändert wurde.

Überlegungen

  • Unterstützung von Ressourcentypen — Änderungssätze, die Drift-Änderungen berücksichtigen, unterstützen den Vergleich des gewünschten Zustands mit dem tatsächlichen Status für Hunderte von Ressourcentypen. Bei Ressourcentypen, die nicht unterstützt werden, greifen Änderungssätze, die Änderungen erkennen, auf den Vergleich des vorherigen Bereitstellungsstatus mit dem gewünschten Status zurück. Einzelheiten finden Sie im Abschnitt Unterstützte Ressourcentypen.

  • Schreibgeschützte Eigenschaften — Bei Eigenschaften, die vertrauliche Daten (Passwörter, Geheimnisse) enthalten, werden Änderungssätze, bei denen Änderungen berücksichtigt werden, mit früheren Bereitstellungswerten verglichen und nicht mit tatsächlichen Werten.

  • AWS-verwaltete Eigenschaften — Drift-fähige Änderungssätze behalten out-of-band Änderungen bei, die von AWS Services an verwalteten Eigenschaften vorgenommen wurden, wie z. B. die gewünschte Kapazität einer Amazon EC2 Auto Scaling Scaling-Gruppe. Einzelheiten finden Sie im Abschnitt „ AWS-verwaltete Eigenschaften“.

  • Externe Tag-Schlüssel — Bei Änderungssätzen, die Drift-fähig sind, werden keine Tagschlüssel entfernt oder geändert, die nicht in der Vorlage angegeben wurden, wodurch Konflikte mit ABAC-Systemen (attribute-based access control) vermieden werden.

  • Ersatz veränderter Ressourcen — Änderungssätze, die Drift-Änderungen berücksichtigen, unterstützen keinen Drift-Abgleich für unveränderliche Eigenschaften.

  • Stapelübergreifende Anlagen — Einige Ressourcentypen, wie z. B.AWS::IAM::Policy, können den tatsächlichen Zustand anderer Ressourcentypen beeinflussen, wie z. AWS::IAM::Role Änderungssätze, die Drift-fähig sind, behandeln das Anhängen von Ressourcen innerhalb eines Stacks. Wenn eine Ressource durch das Anhängen einer sekundären Ressource aus einem anderen Stapel geändert wird, erkennen Änderungssätze, die Abweichungen berücksichtigen, die Änderung als Drift und können die Zuordnung rückgängig machen. Zu den beliebtesten anfügbaren Ressourcen gehörenAWS::IAM::Policy,, undAWS::IAM::ManagedPolicy. AWS::EC2::SecurityGroupIngress AWS::EC2::SecurityGroupEgress

AWS-verwaltete Immobilien

Sie können bestimmte Ressourceneigenschaften für die aktive AWS Verwaltung konfigurieren. Sie können beispielsweise Amazon Relational Database Service (Amazon RDS) erlauben, die Nebenversion einer Amazon RDS-Tabelle automatisch zu aktualisieren. Diese Änderungen können sich zeigen, wenn der Stack CloudFormation eindringt. Änderungssätze, die Drift berücksichtigen, erkennen, dass bei Eigenschaften, die AWS verwaltet werden, eine Abweichung zu erwarten ist, und lassen ihren tatsächlichen Wert unverändert, wenn Sie die Eigenschaft in ihrer Vorlage nicht geändert haben. Die wichtigsten Beispiele für -verwaltete Eigenschaften sind: AWS

  • Aktivierung der AutoMinorVersionUpgrade Eigenschaft einer Amazon RDS-Tabelle, um automatische Updates der Engine-Version zu ermöglichen.

  • Verwendung der AWS::ApplicationAutoScaling::ScalableTarget Ressource zur Aktivierung der auto-scaling für Eigenschaften wie die read/write Kapazitätseinheiten einer Amazon DynamoDB-Tabelle und die gewünschte Anzahl eines Amazon Elastic Container Service-Clusters.

  • Verwenden der Gruppen AWS::AutoScaling::ScalingPolicy für Amazon EC2 Auto Scaling.

Änderungssätze, die Drift erkennen, verdeutlichen die Eigenschaften, die als AWS„verwaltet“ identifiziert wurden. Einzelheiten finden Sie im AWS CLI Abschnitt.

Verwendung von Änderungssätzen, die Änderungen berücksichtigen (Konsole)

Sie können über die CloudFormation Konsole änderungsabhängige Änderungssätze mit demselben Arbeitsablauf wie bei herkömmlichen Änderungssätzen erstellen und verwalten, jedoch mit zusätzlichen Optionen für Bereitstellungsmodi.

Änderungssätze erstellen, bei denen Änderungen berücksichtigt werden

So erstellen Sie einen Änderungssatz, der Abweichungen berücksichtigt (Konsole)
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CloudFormation Konsole unter https://console.aws.amazon.com /cloudformation.

  2. Wählen Sie auf der Seite Stacks den Stack aus, den Sie aktualisieren möchten.

  3. Wählen Sie Stack-Aktionen und dann Änderungssatz für aktuellen Stack erstellen aus.

  4. Wählen Sie auf der Seite „Änderungssatz erstellen“ für „Change set type“ die Option Drift aware change set aus.

  5. Wählen Sie Create change set.

  6. Sehen Sie sich auf der Seite mit den Details zum Änderungssatz den dreiseitigen Vergleich an, in dem die tatsächliche, vorherige Bereitstellung und der gewünschte Status für jede betroffene Ressource angezeigt werden.

  7. Wenn Sie mit den Änderungen zufrieden sind, wählen Sie Änderungssatz ausführen.

Überprüfe Änderungssätze, bei denen Abweichungen berücksichtigt werden

Wenn Sie sich einen Änderungssatz, der Änderungen berücksichtigt, in der Konsole ansehen, werden Ihnen im Vergleich zu herkömmlichen Änderungssätzen erweiterte Informationen angezeigt:

  • Stack-Drift-Status — Gibt an, ob der Stack seit seiner letzten Bereitstellung nicht mehr richtig funktioniert hat.

  • Eigenschaftenvergleich — Zeigt einen JSON-Unterschied zwischen dem tatsächlichen und dem gewünschten Status einer betroffenen Ressource an.

  • Drift-Indikatoren — Kennzeichnet deutlich Eigenschaften innerhalb des JSON-Diffs, die sich verändert haben. Klicken Sie auf Drift anzeigen, um den vorherigen Bereitstellungswert für eine Eigenschaft zu sehen.

  • Indikatoren für die Wertquelle — Zeigt an, ob die vorherigen Werte für eine Eigenschaft aus dem aktuellen Zustand oder dem vorherigen Bereitstellungsstatus stammen.

Verwendung von Änderungssätzen, bei denen Abweichungen berücksichtigt werden ()AWS CLI

Sie können änderungsabhängige Änderungssätze mithilfe von erstellen und verwalten, AWS CLI indem Sie dem Befehl den --deployment-mode REVERT_DRIFT Parameter hinzufügen. create-change-set

Änderungssätze erstellen, bei denen Änderungen berücksichtigt werden

So erstellen Sie einen Änderungssatz, der Abweichungen berücksichtigt

Verwenden Sie den create-change-setBefehl mit dem --deployment-mode REVERT_DRIFT Parameter, um einen Änderungssatz zu erstellen, der Abweichungen berücksichtigt.

aws cloudformation create-change-set \ --stack-name my-stack \ --change-set-name my-drift-aware-changeset \ --template-body file://updated-template.yaml \ --deployment-mode REVERT_DRIFT \ --capabilities CAPABILITY_IAM

Überprüfung von Änderungssätzen, bei denen Abweichungen berücksichtigt werden

Um die Details eines Änderungssatzes zu überprüfen, bei dem Änderungen berücksichtigt werden

Verwenden Sie den describe-change-setBefehl, um die Details eines Änderungssatzes zu überprüfen, bei dem Änderungen berücksichtigt wurden:

aws cloudformation describe-change-set \ --change-set-name my-drift-aware-changeset \ --stack-name my-stack

Die Antwort umfasst erweiterte Informationen für Änderungssätze, bei denen Abweichungen berücksichtigt werden:

  • StackDriftStatus— Zeigt an, ob sich der Stapel verändert hat (DRIFTED, IN_SYNCNOT_CHECKED, oder). UNKNOWN

  • ResourceDriftStatus— Zeigt den Drift-Status für jede Ressource an (DELETED,MODIFIED,IN_SYNC, oderNOT_CHECKED).

  • BeforeValueFrom— Gibt an, ob der vorherige Wert für eine Eigenschaft von ACTUAL_STATE oder stammtPREVIOUS_DEPLOYMENT_STATE.

  • Drift— Enthält die Drift-Details für eine EigenschaftPreviousValue, einschließlichActualValue, undDriftDetectionTimestamp.

  • ResourceDriftIgnoredProperties— Enthält die Eigenschaften einer Ressource, für die der Änderungssatz die Drift nicht rückgängig macht, sowie die Gründe für das Ignorieren der Drift.

Weitere Informationen finden Sie unter DescribeChangeSet in der AWS CloudFormation -API-Referenz.

Änderungssätze werden ausgeführt, bei denen Abweichungen berücksichtigt werden

Um einen Änderungssatz auszuführen, bei dem Änderungen berücksichtigt werden

Nachdem Sie den Änderungssatz überprüft haben, verwenden Sie den execute-change-setBefehl, um die Änderungen zu übernehmen:

aws cloudformation execute-change-set \ --change-set-name my-drift-aware-changeset \ --stack-name my-stack

Wenn die Bereitstellung fehlschlägt, CloudFormation werden die Ressourcen auf ihren tatsächlichen Zustand vor der Bereitstellung zurückgesetzt und die seit der letzten Bereitstellung out-of-band vorgenommenen Änderungen beibehalten.

Unterstützte Ressourcentypen

Änderungssätze, bei denen Abweichungen berücksichtigt werden, unterstützen einen dreiseitigen Vergleich zwischen dem aktuellen Status, dem Status der vorherigen Bereitstellung und dem gewünschten Status für alle Ressourcentypen, die Drift-Erkennung unterstützen, mit Ausnahme der folgenden Ressourcentypen:

  • AWS::SageMaker::MlflowTrackingServer

  • AWS::Route53Resolver::FirewallRuleGroup

  • AWS::MediaLive::Multiplexprogram

  • AWS::VpcLattice::ResourceConfiguration

  • AWS::S3::StorageLensGroup

  • AWS::Bedrock::AgentAlias

  • AWS::MSK::Cluster

  • AWS::RDS::DBProxy

  • AWS::Redshift::ClusterParameterGroup

  • AWS::QBusiness::Index

  • AWS::NetworkManager::CoreNetwork

  • AWS::IAM::OIDCProvider

  • AWS::Organizations::ResourcePolicy

  • AWS::SNS::TopicInlinePolicy

  • AWS::Route53::KeySigningKey

  • AWS::DataZone::PolicyGrant

  • AWS::Transfer::Certificate

  • AWS::SageMaker::ImageVersion

  • AWS::Neptune::DBParameterGroup

  • AWS::ODB::CloudVmCluster

  • AWS::RolesAnywhere::TrustAnchor

  • AWS::Evidently::Launch

  • AWS::Detective::Graph

  • AWS::Maester::DocumentType

  • AWS::SageMaker::ModelPackageGroup

  • AWS::S3Express::BucketPolicy

  • AWS::Panorama::PackageVersion

  • AWS::S3Tables::TableBucketPolicy

Änderungssätze, bei denen Abweichungen berücksichtigt werden, greifen bei Ressourcen, die den dreiseitigen Vergleich nicht unterstützen, auf einen Vergleich zwischen dem vorherigen Bereitstellungsstatus und dem gewünschten Status zurück.