Ich kann anscheinend keine Dokumentation darüber finden, was passiert, wenn Sie manuell mit den Objekten von Cloudformation herumspielen.
Ich sehe, dass es seine Objekte markiert, aber wird es wiederhergestellt, wenn beispielsweise jemand eine Routing-Regel löscht?
EDIT : Ich habe gerade zwei widersprüchliche Antworten erhalten. Ich möchte einige Unterlagen / Beweise anfordern, da ich entscheiden muss, welche Anweisungen ich meinen Kollegen zum Ändern dieser Ressourcen gebe.
CloudFormation erstellt oder ändert AWS-Ressourcen nur während der Bereitstellung, Aktualisierung oder Löschung eines Stapels. Die Konfigurationszustände einzelner Stapelressourcen werden nicht ständig überprüft und erzwungen - es kann definitiv zu Abweichungen kommen.
Wenn ich beispielsweise einen CF-Stapel bereitstelle und später eine eingehende Regel für eine ihrer Sicherheitsgruppen manuell ändere, bleibt diese Änderung bestehen, bis ich ein explizites CF-Update ausführe oder den Stapel erneut bereitstelle.
Hier sind einige hilfreiche Schnipsel / Links:
F: Kann ich einzelne AWS-Ressourcen verwalten, die Teil eines AWS CloudFormation-Stacks sind?
Ja. AWS CloudFormation steht nicht im Weg. Sie behalten die volle Kontrolle über alle Elemente Ihrer Infrastruktur. Sie können weiterhin alle vorhandenen AWS- und Drittanbieter-Tools zum Verwalten Ihrer AWS-Ressourcen verwenden.
Beachten Sie, dass sich der letzte Link nur auf den Schutz von Ressourcen während einer CloudFormation-Aktualisierungsaktion bezieht, nicht auf Ad-hoc-Änderungen, die über die Verwaltungskonsole oder die API an einzelnen Ressourcen vorgenommen wurden.
Haben Sie tatsächlich Erfahrung damit oder handelt es sich nur um Spekulationen? Das Dokumentationszitat sagt nichts über das Ändern / Vermeiden von Cloudformation-Änderungen Ihrer Anpassungen aus.
Nitz
4
Ja, ich habe viele CF-Stacks bereitgestellt und noch nie die Konfiguration von CF erzwungen. Ich habe mich zuvor in den Fuß geschossen, indem ich versehentlich mehrere SGs geändert habe, die Teil eines CF-Stacks waren und ihn erneut bereitstellen mussten. Sie hatten Recht mit dem Mangel an Dokumentation - dies ist das Beste, was ich in 10 Minuten finden konnte.
Adam
2
Meinen Sie mit "erneut bereitstellen" Löschen und erneut bereitstellen, oder gibt es einen anderen Weg?
Dusan Bajic
4
Wenn Sie mit Ressourcen herumspielen, die Cloudformation bereitstellt, werden die Ressourcen nicht wiederhergestellt / wiederhergestellt / in Übereinstimmung gebracht. Wenn Sie die Integrität wirklich erzwingen müssen, müssen Sie den Stapel erneut bereitstellen.
Soweit mir bekannt ist, wird CloudFormation im Wesentlichen einen "Zustand der Welt" erzwingen und falsch konfigurierte Ressourcen korrigieren.
In Ihrem Beispiel wird eine gelöschte Routing-Regel neu erstellt. Wenn jemand einen ELB-Integritätscheck geändert hat, wird dieser auf die in der Vorlage deklarierte Konfiguration zurückgesetzt.
Ich stimme dir nicht zu. Dies kann bei einigen Ressourcen der Fall sein, bei anderen jedoch nicht. Beispielsweise hat jemand einige von CloudFromation erstellte automatische Skalierungsgruppen auf der Konsole gelöscht, und der Stapel kann jetzt nicht aktualisiert werden, da er sie nicht finden kann.
Jeff Strunk
@JeffStrunk Dies liegt daran, dass CloudFormation keine Ressource neu erstellt, wenn keine Änderungen an den Eigenschaften dieser Ressource vorgenommen wurden. Es unterscheidet sich von der Vorlage und nicht von den tatsächlichen Ressourcen, um zu bestimmen, ob sie für diese Ressourcen ausgelöst werden soll. Wenn Sie also eine Ressource löschen und dann eine Eigenschaft dieser Ressource in Ihrer CloudFormation-Vorlage ändern, wird diese Ressource wahrscheinlich neu erstellt, wenn die Aktualisierungsaktion sie nicht findet.
Wenn Sie mit Ressourcen herumspielen, die Cloudformation bereitstellt, werden die Ressourcen nicht wiederhergestellt / wiederhergestellt / in Übereinstimmung gebracht. Wenn Sie die Integrität wirklich erzwingen müssen, müssen Sie den Stapel erneut bereitstellen.
quelle
Soweit mir bekannt ist, wird CloudFormation im Wesentlichen einen "Zustand der Welt" erzwingen und falsch konfigurierte Ressourcen korrigieren.
In Ihrem Beispiel wird eine gelöschte Routing-Regel neu erstellt. Wenn jemand einen ELB-Integritätscheck geändert hat, wird dieser auf die in der Vorlage deklarierte Konfiguration zurückgesetzt.
quelle