AWS Cloudformation i zmiany ręczne

10

Nie mogę znaleźć żadnej dokumentacji na temat tego, co dzieje się, gdy ręcznie zadzierasz z obiektami Cloudformation.
Widzę, że otacza obiekty, ale czy odzyskuje, jeśli powiedzmy, że ktoś usunie regułę routingu?

EDYCJA : Właśnie otrzymałem dwie sprzeczne odpowiedzi. Chciałbym poprosić o dokumentację / dowody, ponieważ muszę zdecydować, w jaki sposób udzielam kolegom informacji na temat modyfikacji tych zasobów.

Nitz
źródło

Odpowiedzi:

8

CloudFormation tworzy lub modyfikuje zasoby AWS tylko podczas wdrażania, aktualizacji lub usuwania stosu. Nie nieustannie „sprawdza i wymusza” stany konfiguracji zasobów poszczególnych stosów - z pewnością może wystąpić dryf.

Na przykład, jeśli wdrożę stos CF, a następnie ręcznie zmodyfikuję regułę przychodzącą na jednej z jej grup zabezpieczeń, ta modyfikacja będzie obowiązywać do momentu uruchomienia jawnej aktualizacji CF lub ponownego wdrożenia stosu.

Oto kilka pomocnych fragmentów / linków:

P: Czy mogę zarządzać pojedynczymi zasobami AWS, które są częścią stosu AWS CloudFormation?

Tak. AWS CloudFormation nie przeszkadza; zachowujesz pełną kontrolę nad wszystkimi elementami swojej infrastruktury. Możesz nadal korzystać ze wszystkich istniejących narzędzi AWS i innych firm do zarządzania zasobami AWS.

Aktualizacje AWS CloudFormation stosy: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html

Zapobiegaj aktualizacjom stosów zasobów: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html

Pamiętaj, że ostatni link odnosi się tylko do ochrony zasobów podczas działania Aktualizacji CloudFormation, a nie zmian ad-hoc wprowadzonych za pomocą Konsoli zarządzania lub interfejsu API do poszczególnych zasobów.

Adam
źródło
1
Czy masz z tym faktyczne doświadczenie, czy to tylko spekulacje? Cytat z dokumentacji nie mówi nic o modyfikowaniu / unikaniu modyfikacji przez Cloudformation.
Nitz
4
Tak, wdrożyłem wiele stosów CF i nigdy nie byłem świadkiem konfiguracji wymuszania CF. Wcześniej strzeliłem sobie w stopę, przypadkowo modyfikując kilka SG, które były częścią stosu CF i musiałem je ponownie wdrożyć. Miałeś rację, że brakuje Ci dokumentacji - to najlepsze, co udało mi się znaleźć w 10 minut.
Adam
2
Czy przez „ponowne wdrożenie” oznacza usunięcie i wdrożenie ponownie, czy jest inny sposób?
Dusan Bajic
4

Jeśli zadzierasz z zasobami wdrażanymi przez Cloudformation, zasoby te nie zostaną odzyskane / przywrócone / doprowadzone do zgodności, jeśli naprawdę potrzebujesz wymusić integralność, musisz ponownie wdrożyć stos.

Sirch
źródło
0

O ile mi wiadomo, CloudFormation zasadniczo wymusi „stan świata” i poprawi źle skonfigurowane zasoby.

W twoim przykładzie zostanie usunięta usunięta reguła routingu. Jeśli ktoś zmodyfikował sprawdzanie kondycji ELB, zostanie ono zresetowane do konfiguracji zadeklarowanej w szablonie.

Craig Watson
źródło
4
Nie zgadzam się. Może tak być w przypadku niektórych zasobów, ale nie innych. Na przykład ktoś usunął kilka CloudFromation utworzonych grup automatycznego skalowania na konsoli, a teraz stos nie aktualizuje się, ponieważ nie może ich znaleźć.
Jeff Strunk
@JeffStrunk byłoby to spowodowane tym, że CloudFormation nie odtworzy zasobu, jeśli nie zostaną wprowadzone zmiany we właściwościach tego zasobu. Różni się od szablonu, a nie od rzeczywistych zasobów, aby ustalić, czy powinien on zostać uruchomiony dla tych zasobów. Jeśli więc usuniesz zasób, a następnie zmienisz właściwość tego zasobu w szablonie CloudFormation, zasób ten zostanie prawdopodobnie ponownie utworzony, gdy akcja aktualizacji go nie znajdzie.
JacksonHaenchen