Atualizar pilhas diretamente - AWS CloudFormation

Atualizar pilhas diretamente

Quando você deseja implementar rapidamente atualizações em sua pilha, execute uma atualização direta. Com uma atualização direta, você envia um modelo ou parâmetros de entrada que especificam as atualizações dos recursos na pilha e o AWS CloudFormation imediatamente as implanta. Se quiser usar um modelo para fazer as atualizações, é possível modificar o modelo atual e armazená-lo localmente ou em um bucket do Amazon S3.

Para propriedades de recursos que não suportam atualizações, você deve manter os valores atuais. Para visualizar as alterações que o AWS CloudFormation fará em sua pilha antes de atualizá-la, use conjuntos de alterações. Para ter mais informações, consulte Atualizar pilhas usando conjuntos de alterações.

nota

Ao atualizar uma pilha, o AWS CloudFormation pode interromper os recursos ou substituir os recursos atualizados, dependendo de quais propriedades você atualiza. Para obter mais informações sobre os comportamentos de atualização de recursos, consulte Atualizar comportamentos de recursos da pilha.

Para atualizar uma pilha de AWS CloudFormation (console)
  1. Faça login no AWS Management Console e abra o console AWS CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. No console do AWS CloudFormation, na lista de pilhas, selecione a pilha em execução que você deseja atualizar.

  3. No painel de detalhes da pilha, escolha Update (Atualizar).

  4. Se você não modificou o modelo de pilha, selecione Usar modelo atual e escolha Próximo.

    Se você modificou o modelo, selecione Replace current template (Substituir modelo atual) e especifique a localização do modelo atualizado na seção Specify template (Especificar modelo):

    • Para um modelo armazenado localmente em seu computador, selecione Upload a template file (Fazer upload de um arquivo de modelo). Selecione Escolher arquivo para navegar até o arquivo e selecioná-lo, depois escolha Próximo.

      nota

      Se você carregar um arquivo de modelo local, o AWS CloudFormation o carregará em um bucket do Amazon Simple Storage Service (Amazon S3) na sua conta da AWS. Se você ainda não tiver um bucket do S3 que foi criado pelo AWS CloudFormation, ele criará um bucket exclusivo para cada Região na qual você faz upload de um arquivo de modelo. Se você já tiver um bucket do S3 que foi criado pelo AWS CloudFormation em sua conta da AWS, o AWS CloudFormation adicionará o modelo a esse bucket.

      Considerações para se ter em mente sobre buckets do S3 criados pelo AWS CloudFormation

      • Os buckets são acessíveis a qualquer pessoa com permissões do Amazon S3 em sua conta da AWS.

      • O AWS CloudFormation cria os buckets com a criptografia no lado do servidor habilitada por padrão, criptografando, assim, todos os objetos armazenados no bucket.

        Gerencie diretamente as opções de criptografia para buckets criados pelo AWS CloudFormation, por exemplo, usando o console do Amazon S3, em https://console.aws.amazon.com/s3/, ou a AWS CLI. Para obter mais informações, consulte Criptografia padrão do Amazon S3 para buckets do S3, no Guia do usuário do Amazon Simple Storage Service.

      • É possível utilizar seu próprio bucket e gerenciar suas permissões carregando modelos manualmente no Amazon S3. Ao criar ou atualizar uma pilha, especifique o URL de um arquivo de modelo do Amazon S3.

    • Para um modelo armazenado no bucket do Amazon S3, escolha Amazon S3 URL (URL do Amazon S3). Digite ou cole o URL do modelo e escolha Next (Próximo).

      Se tiver um modelo em um bucket com versionamento habilitado, você poderá indicar uma versão específica do modelo, como https://s3.amazonaws.com/templates/myTemplate.template?versionId=123ab1cdeKdOW5IH4GAcYbEngcpTJTDW. Para obter mais informações, consulte Gerenciar objetos em um bucket habilitado para versionamento no Guia do usuário do Amazon Simple Storage Service.

  5. Se o seu modelo contém parâmetros, na página Especificar detalhes da pilha, é possível inserir ou modificar os valores dos parâmetros, depois escolha Próximo.

    O AWS CloudFormation preenche cada parâmetro com o valor que está definido atualmente na pilha, com exceção de parâmetros declarados com o atributo NoEcho. No entanto, ainda é possível usar os valores atuais ao marcar Usar valor existente.

    Para mais informações sobre o uso de NoEcho para mascarar informações confidenciais, além do uso de parâmetros dinâmicos para gerenciar segredos, consulte a prática recomendada Não incorporar credenciais em seus modelos.

    
          Um campo de parâmetro com a opção Use existing value (Usar valor existente) marcada.
  6. Na página Configure stack options (Configurar opções da pilha), é possível atualizar as tags e as permissões aplicadas à pilha e modificar opções avançadas como política de pilha, configurar a reversão ou atualizar o tópico de notificação do Amazon SNS.

    Para obter mais informações sobre essas opções, consulte Configurar opções de pilha do AWS CloudFormation.

    Escolha Próximo.

  7. Analise as informações e as alterações da pilha que você enviou.

    Verifique se você enviou as informações corretas, como os valores de parâmetro ou modelo de URL correto. Se o seu modelo contém recursos do IAM, selecione I acknowledge that this template may create IAM resources (Eu reconheço que este modelo pode criar recursos do IAM) para especificar que você deseja usar recursos do IAM no modelo. Para obter mais informações sobre o uso de recursos do IAM em modelos, consulte Controlar o acesso com o AWS Identity and Access Management.

    Na seção Change set preview (Visualização do conjunto de alterações), verifique se o AWS CloudFormation fará todas as alterações esperadas. Por exemplo, você pode verificar se o AWS CloudFormation adiciona, remove e modifica os recursos que você pretende adicionar, remover ou modificar. O AWS CloudFormation gera essa pré-visualização criando um conjunto de alterações para a pilha. Para ter mais informações, consulte Atualizar pilhas usando conjuntos de alterações.

  8. Quando estiver satisfeito com as suas alterações, clique em Update stack (Atualizar pilha).

    nota

    Nesse ponto, você também tem a opção de visualizar o conjunto de alterações para rever as atualizações propostas mais cuidadosamente. Para isso, escolha View change set (Visualizar conjunto de alterações) em vez de Update stack (Atualizar pilha). O CloudFormation mostra o conjunto de alterações gerado com base nas suas atualizações. Quando estiver pronto para executar a atualização da pilha, clique em Executar.

    O CloudFormation exibe a página de detalhes para a sua pilha, com o painel Events (Eventos) selecionado. Sua pilha agora tem um status de UPDATE_IN_PROGRESS. Depois que o CloudFormation tiver concluído com êxito a atualização da pilha, ele definirá o status da pilha como UPDATE_COMPLETE.

    Caso a atualização da pilha falhe, o CloudFormation reverterá automaticamente as alterações e definirá o status como UPDATE_ROLLBACK_COMPLETE.

    nota

    Você pode cancelar uma atualização enquanto ela estiver no estado UPDATE_IN_PROGRESS. Para ter mais informações, consulte Cancelar uma atualização de pilha.

Para atualizar uma pilha do AWS CloudFormation (AWS CLI)
  • Use o comando aws cloudformation update-stack para atualizar diretamente uma pilha. Você especifica a pilha, os recursos e os valores de parâmetro que você deseja atualizar e, se quiser usar um modelo atualizado, o nome do modelo.

    O exemplo a seguir atualiza o modelo e parâmetros de entrada para a pilha mystack:

    $ aws cloudformation update-stack --stack-name mystack \ --template-url https://s3.amazonaws.com/sample/updated.template \ --parameters ParameterKey=VPCID,ParameterValue=SampleVPCID ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2

    O exemplo a seguir atualiza apenas os valores do parâmetros SubnetIDs da pilha mystack:

    $ aws cloudformation update-stack --stack-name mystack \ --use-previous-template \ --parameters ParameterKey=VPCID,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2

    O exemplo a seguir adiciona dois tópicos de notificação de pilha à pilha mystack:

    $ aws cloudformation update-stack --stack-name mystack \ --use-previous-template --notification-arns \ "arn:aws:sns:us-east-1:12345678912:mytopic" "arn:aws:sns:us-east-1:12345678912:mytopic2"

    O exemplo a seguir remove todos os tópicos de notificação de pilha da pilha mystack:

    $ aws cloudformation update-stack --stack-name mystack \ --use-previous-template --notification-arns []