Tenho uma pilha aninhada no AWS CloudFormation cuja pilha principal é uma pilha raiz. Quero importar um recurso existente para a pilha aninhada. Porém, quando tento importar o recurso para a pilha raiz, recebo o erro “This template does not include any resources to import” (Este modelo não inclui nenhum recurso para importar).
Descrição breve
Quando a pilha principal da pilha aninhada é a pilha raiz, uma das práticas recomendadas é modificar somente a pilha raiz.
Observação: a resolução a seguir serve para importar um recurso para uma pilha aninhada cuja pilha principal é a pilha raiz.
Importante: sempre execute a detecção de desvio em pilhas após uma operação de importação para verificar se o recurso importado não foi desviado.
Resolução
Siga estas etapas a fim de importar recursos para uma pilha aninhada:
- Atualize o modelo raiz com uma DeletionPolicy Retain (Reter) no recurso aninhado AWS::CloudFormation::Stack para desvincular a pilha da pilha raiz sem excluí-la.
- Atualize a pilha raiz removendo AWS::CloudFormation::Stack do modelo.
Observação: após atualizar a pilha raiz, a pilha aninhada continua marcada como Nested (Aninhada).
- Execute uma operação de importação na pilha aninhada desvinculada para importar o recurso existente.
Observação: como a pilha ainda é considerada aninhada, o serviço exibe um aviso recomendando que você atualize a pilha principal. Ignore-o e continue atualizando a pilha aninhada. Não modifique nenhum outro recurso durante a importação.
- Remova a pilha aninhada desvinculada do status IMPORT_COMPLETE atualizando-a novamente com uma alteração facilmente removível, como a adição de saídas ou etiquetas.
- Execute uma operação de importação na pilha raiz para adicionar a pilha aninhada de volta à sua hierarquia aninhada.
Observação: certifique-se de que o modelo raiz inclua uma referência ao modelo atualizado da pilha aninhada, garantindo que ele contenha o recurso recém-importado.
Informações relacionadas
Workshop do CloudFormation: Laboratório de pilhas aninhadas