Estou experimentando o CloudFormation agora. Eu implantei uma pilha que incluía um AutoScalingGroup (e LaunchConfig e CloudFormation :: Init), LoadBalancer, uma única instância do EC2 (e CloudFormation :: Init) e alguns grupos de segurança.
Se eu terminar as instâncias do EC2 criadas pelo AutoScalingGroup, elas serão recriadas conforme o esperado. Isso é realmente muito útil para testar as alterações nas configurações LaunchConfiguration e CloudFormation :: Init (basicamente, certificando-se de que funciona do zero).
Eu também tenho uma instância do EC2 (chamada DnsServer1
) que tem um IP público. Enquanto trabalhava em seus dados CloudFormation :: Init, eu também terminei manualmente sua instância. Eu sei que o CloudFormation não o restaura como um AutoScalingGroup faz, mas eu esperava que fosse recriado quando eu executei aws cloudformation update-stack
.
Em vez disso, recebo o erro: AWS::EC2::Instance DnsServer1 i-014eee8720c4fb542 does not exist
.
Log de atualização completa:
11:03:40 UTC-0500 UPDATE_ROLLBACK_COMPLETE AWS::CloudFormation::Stack GregCFTest1
11:03:38 UTC-0500 UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS AWS::CloudFormation::Stack GregCFTest1
11:03:36 UTC-0500 UPDATE_COMPLETE AWS::AutoScaling::LaunchConfiguration WebServerLaunchConfig
11:03:36 UTC-0500 UPDATE_COMPLETE AWS::EC2::Instance DnsServer1
11:03:13 UTC-0500 UPDATE_ROLLBACK_IN_PROGRESS AWS::CloudFormation::Stack GregCFTest1 The following resource(s) failed to update: [DnsServer1].
11:03:11 UTC-0500 UPDATE_COMPLETE AWS::AutoScaling::LaunchConfiguration WebServerLaunchConfig
11:03:10 UTC-0500 UPDATE_FAILED AWS::EC2::Instance DnsServer1 i-014eee8720c4fb542 does not exist
11:03:00 UTC-0500 UPDATE_IN_PROGRESS AWS::CloudFormation::Stack GregCFTest1 User Initiated
O que posso fazer para o CloudFormation recriar esse recurso, sem excluir a pilha e recriá-lo?