AWS Cloudformation et modifications manuelles

10

Je n'arrive pas à trouver de documentation sur ce qui se passe lorsque vous jouez manuellement avec les objets de Cloudformation.
Je vois qu'il marque ses objets, mais récupère-t-il si, par exemple, quelqu'un supprime une règle de routage?

EDIT : Je viens de recevoir deux réponses contradictoires. Je voudrais demander de la documentation / des preuves, car je dois décider des orientations que je donne à mes collègues concernant la modification de ces ressources.

Nitz
la source

Réponses:

8

CloudFormation crée ou modifie uniquement les ressources AWS pendant le déploiement, la mise à jour ou la suppression d'une pile. Il ne vérifie et n'applique pas continuellement les états de configuration des «ressources de pile individuelles» - une dérive peut définitivement se produire.

Par exemple, si je déploie une pile CF et modifie ensuite manuellement une règle entrante sur l'un de ses groupes de sécurité, cette modification persistera jusqu'à ce que j'exécute une mise à jour CF explicite ou que je redéploie la pile.

Voici quelques extraits / liens utiles:

Q: Puis-je gérer des ressources AWS individuelles qui font partie d'une pile AWS CloudFormation?

Oui. AWS CloudFormation ne gêne pas; vous gardez le contrôle total de tous les éléments de votre infrastructure. Vous pouvez continuer à utiliser tous vos outils AWS et tiers existants pour gérer vos ressources AWS.

Mises à jour d'AWS CloudFormation Stacks: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html

Empêcher les mises à jour des ressources de pile: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html

Veuillez noter que le dernier lien fait uniquement référence à la protection des ressources lors d'une action de mise à jour CloudFormation, et non aux modifications ad hoc apportées via la console de gestion ou l'API aux ressources individuelles.

Adam
la source
1
Avez-vous une réelle expérience en la matière ou s'agit-il simplement de spéculations? Le devis de documentation ne dit rien sur la modification / éviter de Cloudformation de modifier vos personnalisations.
Nitz
4
Oui, j'ai déployé de nombreuses piles CF et je n'ai jamais été témoin de l'application de la configuration par les FC. Je me suis déjà tiré une balle dans le pied en modifiant accidentellement plusieurs SG qui faisaient partie d'une pile CF et j'ai dû la redéployer. Vous aviez raison de manquer de documentation - c'est le meilleur que j'ai pu trouver en 10 minutes.
Adam
2
Voulez-vous dire par «redéployer» supprimer et déployer à nouveau, ou existe-t-il une autre façon?
Dusan Bajic
4

Si vous jouez avec les ressources que Cloudformation déploie, les ressources ne seront pas récupérées / restaurées / mises en conformité, si vous avez vraiment besoin de renforcer l'intégrité, vous devrez redéployer la pile.

Sirch
la source
0

À ma connaissance, CloudFormation imposera essentiellement un «état du monde» et corrigera les ressources mal configurées.

Dans votre exemple, une règle de routage supprimée sera recréée. Si quelqu'un a modifié un contrôle de santé ELB, il sera réinitialisé à la configuration déclarée dans le modèle.

Craig Watson
la source
4
Je ne suis pas d'accord. Cela peut être le cas pour certaines ressources mais pas pour d'autres. Par exemple, quelqu'un a supprimé quelques groupes créés par CloudFromation Auto Scaling sur la console, et maintenant la pile ne se met pas à jour car elle ne peut pas les trouver.
Jeff Strunk
@JeffStrunk qui serait dû au fait que CloudFormation ne recréera pas une ressource si aucune modification n'a été apportée aux propriétés de cette ressource. Il fait une différence du modèle, pas les ressources réelles pour déterminer s'il doit se déclencher pour ces ressources. Donc, si vous supprimez une ressource, puis modifiez une propriété de cette ressource dans votre modèle CloudFormation, cette ressource sera probablement recréée lorsque l'action de mise à jour ne la trouvera pas.
JacksonHaenchen