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 nicht verwalteten Konfigurationsänderungen an Stacks und Ressourcen
Auch wenn Sie Ihre Ressourcen über 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-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, Stack-Aktualisierungs- oder Löschvorgänge erschweren. Sie können die Abweichungserkennung verwenden, um Stack-Ressourcen zu identifizieren, an denen Konfigurationsänderungen außerhalb der - CloudFormation Verwaltung 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.
Themen
Was ist Abweichung?
Mit der Abweichungserkennung können Sie feststellen, ob die tatsächliche Konfiguration eines Stacks von seiner erwarteten Konfiguration abweicht. Verwenden Sie , CloudFormation um Abweichungen für einen gesamten Stack oder für einzelne 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.
Um festzustellen, ob eine Ressource abgewichen ist, CloudFormation bestimmt die erwarteten Ressourceneigenschaftswerte, wie sie in der Stack-Vorlage definiert sind, und alle als Vorlagenparameter angegebenen Werte. CloudFormation vergleicht dann diese Erwartungswerte mit den tatsächlichen Werten dieser Ressourceneigenschaften, wie sie derzeit im Stack 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 Stack, die abgewichen ist.
CloudFormation erkennt eine Abweichung der AWS Ressourcen, die die Abweichungserkennung unterstützen. Ressourcen, die die Abweichungserkennung nicht unterstützen, erhalten den Abweichungsstatus NOT_CHECKED. Eine Liste der AWS Ressourcen, die die Abweichungserkennung unterstützen, finden Sie unter Unterstützung für Ressourcentypen.
Darüber hinaus CloudFormation unterstützt die Abweichungserkennung für private Ressourcentypen, die bereitstellbar sind, d. h. deren Bereitstellungstyp entweder FULLY_MUTABLE
oder istIMMUTABLE
. 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 zum Ressourcenbereitstellungstyp finden Sie unter dem -ProvisioningType
Parameter der -DescribeType
Aktion in der AWS CloudFormation API-Referenz zu und des -DescribeType
Befehls in der - AWS CLI Befehlsreferenz. Weitere Informationen zu privaten Ressourcen finden Sie unter Verwenden der AWS CloudFormation Registrierung.
Sie können die Abweichungserkennung für Stacks mit folgenden Status durchführen: CREATE_COMPLETE
, UPDATE_COMPLETE
, UPDATE_ROLLBACK_COMPLETE
und UPDATE_ROLLBACK_FAILED
.
Beim Erkennen von Abweichungen in einem Stack erkennt CloudFormation keine Abweichungen in verschachtelten Stacks, die zu diesem Stack gehören. Weitere Informationen finden Sie unter Arbeiten mit verschachtelten Stacks. Stattdessen können Sie eine Abweichungserkennung direkt für den verschachtelten Stack durchführen.
Anmerkung
CloudFormation bestimmt nur die Abweichung für Eigenschaftswerte, die explizit festgelegt werden, entweder über die Stack-Vorlage oder durch Angabe von Vorlagenparametern. Dies gilt nicht für Standardwerte für Ressourceneigenschaften. Damit eine Ressourceneigenschaft zum Ermitteln der Abweichung CloudFormation verfolgt, legen Sie den Eigenschaftswert explizit fest, auch wenn Sie ihn auf den Standardwert setzen.
Statuscodes für die Abweichungserkennung
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-Abweichungen CloudFormation zuweist.
Drift Detection Operation Status (Abweichungserkennungs-Operationsstatus) | Beschreibung |
---|---|
|
Der Vorgang zur Erkennung der Stack-Abweichung wurde für alle Ressourcen im Stack, die die Abweichungserkennung unterstützen, erfolgreich abgeschlossen. |
|
Die Stack-Abweichungserkennung ist für mindestens eine Ressource im Stack fehlgeschlagen. Die Ergebnisse sind für Ressourcen verfügbar, für die die Abweichungserkennung CloudFormation erfolgreich abgeschlossen wurde. |
|
Der Vorgang zur Erkennung der Stack-Abweichung ist derzeit im Gange. |
In der folgenden Tabelle sind die Abweichungsstatuscodes aufgeführt CloudFormation , die Stacks zuweisen.
Abweichungsstatus | Beschreibung |
---|---|
|
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. |
|
CloudFormation hat nicht überprüft, ob sich der Stack, das Stack-Set oder die Stack-Instance von der erwarteten Vorlagenkonfiguration unterscheidet. |
|
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_SYNC. |
In der folgenden Tabelle sind die Abweichungsstatuscodes aufgeführt, die Stack-Ressourcen CloudFormation zuweist.
Ressourcen-Abweichungsstatus | Beschreibung |
---|---|
|
Die Ressource unterscheidet sich von ihrer erwarteten Vorlagenkonfiguration, da die Ressource gelöscht wurde. |
|
Die Ressource unterscheidet sich von ihrer erwarteten Vorlagenkonfiguration. |
|
CloudFormation hat nicht überprüft, ob sich die Ressource von ihrer erwarteten Vorlagenkonfiguration unterscheidet. |
|
Die aktuelle Konfiguration der Ressource entspricht der erwarteten Vorlagenkonfiguration. |
In der folgenden Tabelle sind die Statuscodes des Differenztyps aufgeführt, die Ressourceneigenschaften CloudFormation zuweisen, die sich von ihrer erwarteten Vorlagenkonfiguration unterscheiden.
Eigenschaftsabweichungstypen | Beschreibung |
---|---|
|
Ein Wert wurde zu einer Ressourceneigenschaft hinzugefügt, die ein Array- oder ein Listen-Datentyp ist. |
|
Die Eigenschaft wurde aus der aktuellen Ressourcenkonfiguration entfernt. |
|
Der aktuelle Eigenschaftswert unterscheidet sich von seinem erwarteten Wert, der in der Stack-Vorlage definiert ist. |
Überlegungen zur Erkennung von Abweichungen
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 Berechtigungec2:DescribeInstances
haben, um die Abweichungserkennung für den Stack durchzuführen. -
cloudformation:DetectStackDrift
-
cloudformation:DetectStackResourceDrift
-
cloudformation:BatchDescribeTypeConfigurations
Weitere Informationen zum Festlegen von Berechtigungen in CloudFormationfinden Sie unter Steuern des Zugriffs mit AWS Identity and Access Management.
In bestimmten Edge-Fällen kann CloudFormation möglicherweise nicht immer genaue Abweichungsergebnisse zurückgeben. 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
undAWS::EC2::SecurityGroupEgress
verwendet werden, um Werte inAWS::EC2::SecurityGroup
-Ressourcen hinzuzufügen und zu entfernen. In diesen Fällen CloudFormation analysiert die Stack-Vorlage auf Anlagen, bevor der Abweichungsvergleich durchgeführt wird. CloudFormation kann diese Analyse jedoch nicht über Stacks hinweg durchführen und liefert daher möglicherweise keine genauen Abweichungsergebnisse, wenn sich angehängte Ressourcen in verschiedenen Stacks befinden.Die folgenden Ressourcen unterstützen die Abweichungserkennung und ermöglichen oder erfordern Zuordnungen aus anderen Ressourcen:
Ressourcentyp Zuordnungsressourcentyp AWS::SNS::Topic
AWS::SNS::Subscription
AWS::IAM::User
AWS::IAM::UserToGroupAddition
AWS::IAM::Group
AWS::IAM::Role
AWS::IAM::User
AWS::IAM::Policy
AWS::IAM::ManagedPolicy
AWS::ElasticLoadBalancingV2::Listener
AWS::ElasticLoadBalancingV2::ListenerCertificate
AWS::EC2::SecurityGroup
AWS::EC2::SecurityGroupEgress
AWS::EC2::SecurityGroupIngress
-
CloudFormation führt keine Abweichungserkennung für die -
KMSKeyId
Eigenschaft von Ressourcen durch. Da AWS KMS Schlüssel durch mehrere Aliase referenziert werden können, CloudFormation kann für diese Eigenschaft keine konstant genauen Abweichungsergebnisse garantieren. -
Es gibt bestimmte Ressourceneigenschaften, die Sie in Ihrer Stack-Vorlage angeben können, die von Natur aus CloudFormation nicht mit den Eigenschaften in den resultierenden Stack-Ressourcen vergleichen können. 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 auf ihren ursprünglichen Ressourceneigenschaftswert in der Stack-Vorlage zurückgeführt werden können.
Beispielsweise CloudFormation kann den Quellcode einer Lambda-Funktion nicht dem
Code
Eigenschaftstyp derAWS::Lambda::Function
Ressource zuordnen und CloudFormation daher nicht in die Ergebnisse der Abweichungserkennung aufnehmen. -
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-Service niemals den Wert der
Password
Eigenschaft des Eigenschaftstyps IAM-Benutzer LoginProfile zurück und CloudFormation kann ihn daher nicht in die Ergebnisse der Abweichungserkennung aufnehmen. -
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
. -
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.
-