AWS Cloudformation e alterações manuais

10

Não consigo encontrar nenhuma documentação sobre o que acontece quando você mexe manualmente com os objetos do Cloudformation.
Vejo que ele marca seus objetos, mas ele se recupera se, digamos, alguém excluir uma regra de roteamento?

EDIT : Acabei de receber duas respostas contraditórias. Eu gostaria de solicitar alguma documentação / evidência, pois tenho que decidir quais orientações estou dando aos meus colegas sobre a modificação desses recursos.

Nitz
fonte

Respostas:

8

O CloudFormation cria ou modifica apenas os recursos da AWS durante a implantação, atualização ou exclusão de uma pilha. Ele não 'verifica e impõe continuamente' estados de configuração de 'recursos de pilha individuais' - o desvio pode definitivamente ocorrer.

Por exemplo, se eu implantar uma pilha CF e depois modificar manualmente uma regra de entrada em um de seus grupos de segurança, essa modificação persistirá até que eu execute uma atualização CF explícita ou reimplemente a pilha.

Aqui estão alguns trechos / links úteis:

P: Posso gerenciar recursos individuais da AWS que fazem parte de uma pilha do AWS CloudFormation?

Sim. O AWS CloudFormation não atrapalha; você mantém o controle total de todos os elementos de sua infraestrutura. Você pode continuar usando todas as ferramentas existentes da AWS e de terceiros para gerenciar seus recursos da AWS.

Atualizações da AWS CloudFormation Stacks: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html

Impedir atualizações para empilhar recursos: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html

Observe que o último link refere-se apenas à proteção de recursos durante uma ação de atualização do CloudFormation, não a alterações ad-hoc feitas pelo console de gerenciamento ou API a recursos individuais.

Adão
fonte
1
Você tem experiência real em fazê-lo ou isso é apenas especulação? A citação da documentação não diz nada sobre a modificação do Cloudformation / como evitar a modificação de suas personalizações.
Nitz
4
Sim, implantei muitas pilhas de CF e nunca presenciei a configuração de imposição de CF. Eu já dei um tiro no pé antes de modificar acidentalmente vários SGs que faziam parte de uma pilha CF e tive que reimplementá-la. Você estava certo sobre a falta de documentação - este é o melhor que pude encontrar em 10 minutos.
Adam
2
Você 'reimplementa' significa excluir e implantar novamente ou existe outra maneira?
Dusan Bajic
4

Se você mexer com os recursos que o Cloudformation implanta, os recursos não serão recuperados / restaurados / colocados em conformidade; se você realmente precisar reforçar a integridade, precisará reimplementar a pilha.

Sirch
fonte
0

Tanto quanto sei, o CloudFormation reforçará essencialmente um "estado do mundo" e corrigirá recursos mal configurados.

No seu exemplo, uma regra de roteamento excluída será recriada. Se alguém tiver modificado uma verificação de integridade ELB, ela será redefinida para a configuração declarada no modelo.

Craig Watson
fonte
4
Discordo. Pode ser o caso de alguns recursos, mas não de outros. Por exemplo, alguém excluiu alguns CloudFromation criados no Auto Scaling Groups no console e agora a pilha falha na atualização porque não consegue encontrá-los.
Jeff Strunk
@JeffStrunk, porque o CloudFormation não recriará um recurso se não houver alterações nas propriedades desse recurso. Ele difere o modelo, não os recursos reais para determinar se deve ser acionado para esses recursos. Portanto, se você excluir um recurso e alterar uma propriedade desse recurso no seu modelo CloudFormation, esse recurso provavelmente será recriado quando a ação de atualização falhar em encontrá-lo.
JacksonHaenchen