Modificar um modelo de pilha - AWS CloudFormation

Modificar um modelo de pilha

Para modificar os recursos e as propriedades declaradas no modelo de uma pilha, você deve modificar seu modelo. Para garantir que você atualize apenas os recursos pretendidos, use o modelo da pilha existente como um ponto de partida e faça as atualizações nesse modelo. Ao gerenciar seu modelo em um sistema de controle de código-fonte, use uma cópia do modelo como ponto de partida. Ou então, você pode obter uma cópia de um modelo de pilha do CloudFormation.

Para modificar apenas os parâmetros ou configurações de uma pilha (como um tópico do Amazon SNS de uma pilha), você pode reutilizar o modelo de pilha existente. Você não precisa obter uma cópia do modelo de pilha ou fazer modificações no modelo de pilha.

nota

Se o modelo incluir uma alteração incompatível, o CloudFormation retornará uma mensagem informando que a alteração não é permitida. Porém, essa mensagem pode ocorrer de modo assíncrono, porque, por padrão, os recursos são criados e atualizados pelo CloudFormation em uma ordem não determinística.

Atualizar um modelo de pilha (console)

nota

O Application Composer no modo de console do CloudFormation é um aprimoramento do Designer do AWS CloudFormation. É recomendável utilizar o Application Composer em vez do Designer sempre que possível. Para obter mais informações, consulte Usar o Application Composer para criar modelos visualmente.

  1. Na página Pilhas do console do CloudFormation, clique no nome da pilha que você deseja atualizar.

  2. No painel de detalhes da pilha selecionada, escolha o painel Template (Modelo) e clique em View in Designer (Visualizar no Designer).

    O AWS CloudFormation abre uma cópia do modelo de pilha no AWS CloudFormation Designer..

  3. Modifique o modelo.

    Você pode usar a interface de arrastar e soltar do AWS CloudFormation Designer ou o editor JSON e YAML integrado para modificar o modelo. Para obter mais informações sobre como usar o &AWS CloudFormation Designer, consulte Usar o AWS CloudFormation Designer antigo para criar modelos.

    Modificar apenas os recursos que você deseja atualizar. Use os mesmos valores da configuração da pilha atual para recursos e propriedades que você não estiver atualizando. Você pode modificar o modelo realizando qualquer uma das seguintes ações:

    • Adicionar novos recursos ou remover recursos existentes.

      Para a maioria dos recursos, a alteração do nome lógico de um recurso é equivalente a excluir esse recurso e substituí-lo por um novo. Todos os outros recursos que dependem do recurso renomeado também precisam ser atualizados e isso pode fazer com que eles sejam substituídos. Outros recursos exigem que você atualize uma propriedade (não apenas o nome lógico) para iniciar uma atualização.

    • Adicionar, modificar ou excluir propriedades de recursos existentes.

      Para obter informações sobre os efeitos da atualização das propriedades de recursos específicos, consulte a Referência de tipos de recursos da AWS. Para cada propriedade, os efeitos de uma atualização serão um dos seguintes:

    • Adicione, modifique ou exclua os atributos para os recursos (Metadata, DependsOn, CreationPolicy, UpdatePolicy e DeletionPolicy).

      Importante

      Não é possível atualizar o atributo CreationPolicy ou UpdatePolicy isoladamente. Você pode atualizá-los apenas ao incluir alterações que adicionam, modificam ou excluem recursos. Por exemplo, você pode adicionar ou modificar um atributo de metadados de um recurso.

    • Adicionar, modificar ou excluir declarações de parâmetros. No entanto, você não pode adicionar, modificar ou excluir um parâmetro que é usado por um recurso que não aceite atualizações.

    • Adicionar, modificar ou excluir declarações de mapeamentos.

      Importante

      Se os valores em um mapeamento não estiverem sendo usados pela pilha, você não poderá atualizar o mapeamento por si só. Você precisa incluir alterações que adicionam, modificam ou excluem recursos. Por exemplo, você pode adicionar ou modificar um atributo de metadados de um recurso. Se você atualizar um valor de mapeamento que a pilha está usando, você não precisa fazer outras alterações para iniciar uma atualização.

    • Adicionar, modificar ou excluir declarações de condições.

      Importante

      Você não pode atualizar as condições por si só. Você pode atualizar condições apenas ao incluir alterações que adicionam, modificam ou excluem recursos. Por exemplo, você pode adicionar ou modificar um atributo de metadados de um recurso.

    • Adicionar, modificar ou excluir declarações de valores de saída.

    Alguns recursos ou propriedades podem ter restrições de valores de propriedade ou alterações nesses valores. Por exemplo, as alterações na propriedade AllocatedStorage de um recurso AWS::RDS::DBInstance devem ser maiores que a configuração atual. Se o valor especificado para a atualização não atender a essas restrições, haverá falha na atualização desse recurso. Para obter as restrições específicas de alterações em AllocatedStorage, consulte ModifyDBInstance.

    As atualizações em um recurso podem afetar as propriedades de outros recursos. Se você tiver usado a função Ref ou Fn::GetAtt para especificar um atributo de um recurso atualizado como parte do valor de uma propriedade de outro recurso do modelo, o CloudFormation também atualizará o recurso que contém a referência à propriedade que foi alterada. Por exemplo, se você tivesse atualizado a propriedade MasterUsername de um recurso AWS::RDS::DBInstance e tivesse um recurso AWS::AutoScaling::LaunchConfiguration que tivesse uma propriedade UserData contendo uma referência ao nome da instância de banco de dados usando a função Ref, o CloudFormation recriaria a instância de banco de dados com um novo nome e atualizaria também o recurso LaunchConfiguration.

  4. Para verificar os erros de sintaxe em seu modelo, na barra de ferramentas do AWS CloudFormation Designer, escolha Validate template (Validar modelo) ( ).

    Visualize e corrija quaisquer erros no painel Mensagens e, em seguida, valide o modelo novamente. Se você não vir nenhum erro, seu modelo estará sintaticamente válido.

  5. Na barra de ferramentas do AWS CloudFormation Designer, escolha o menu File (Arquivo) ( ) e, em seguida, escolha Save (Salvar) para salvar o modelo em um bucket do S3 ou localmente.

  6. Use seu modelo modificado para atualizar sua pilha diretamente ou atualizar sua pilha usando um conjunto de alterações.

Obter e atualizar um modelo para uma pilha (CLI)

  1. Para obter o modelo para a pilha que você deseja atualizar, use o comando get-template da CLI.

  2. Copie o modelo, cole-o em um arquivo de texto, modifique-o e salve-o. Copie apenas o modelo. O comando inclui o modelo entre aspas, mas não copie as aspas em torno do modelo. O modelo em si começa com uma chave de abertura e termina com a chave de fechamento final. Especifique as alterações nos recursos da pilha nesse arquivo.

  3. Use seu modelo modificado para atualizar sua pilha diretamente ou atualizar sua pilha usando um conjunto de alterações.