Importe recursos da AWS para uma pilha do CloudFormation com uma importação de recursos
O recurso de importação de recursos permite importar recursos da AWS existentes para uma pilha nova ou existente do CloudFormation. Esse atributo é útil se você quiser começar a usar o CloudFormation para gerenciar atributos que foram criados fora do CloudFormation sem precisar excluí-los e recriá-los.
O CloudFormation oferece duas opções para importar recursos existentes em uma pilha:
-
O gerador de IaC é uma ferramenta que verifica automaticamente seus recursos existentes e gera um modelo do CloudFormation com base em seu estado atual. Esse modelo pode então ser usado para importar esses recursos em uma pilha.
-
A importação de recursos é um \processo manual em que você descreve os recursos existentes em seu modelo do CloudFormation e depois os importa para uma pilha. Essa abordagem exige que você especifique manualmente as propriedades e configurações do recurso no modelo.
Além de colocar os recursos existentes sob o gerenciamento do CloudFormation, o recurso de importação de recursos pode ser útil nos seguintes cenários:
-
Movendo recursos entre pilhas: você pode importar recursos de uma pilha para outra, permitindo que você reorganize sua infraestrutura conforme necessário.
-
Aninhamento de pilhas existentes: você pode importar uma pilha existente como uma pilha aninhada dentro de outra pilha, permitindo projetos de infraestrutura modulares e reutilizáveis.
O CloudFormation é compatível com a importação de uma ampla gama de recursos. Para ter mais informações, consulte Suporte a tipos de recursos.
Tópicos
Visão geral
Durante uma operação de importação, você cria um conjunto de alterações importando recursos existentes para uma pilha ou cria uma pilha com os recursos existentes. Você fornece o seguinte durante a importação.
-
Um modelo que descreve toda a pilha, incluindo os recursos de pilha originais e os recursos que estão sendo importados. Todos os recursos que serão importados deverão ter um Atributo DeletionPolicy.
-
Identificadores para os recursos que você está importando, que o CloudFormation pode usar para realizar o mapeamento dos IDs lógicos no modelo com os recursos existentes.
nota
O CloudFormation é compatível somente com um nível de aninhamento usando a importação de recursos. Isso significa que você não pode importar uma pilha em uma pilha filho ou importar uma pilha com filhos.
Identificadores de recursos
Você fornece dois valores para identificar cada recurso que está sendo importado.
-
Uma propriedade identificadora. Esta é uma propriedade de recursos que pode ser usada para identificar cada tipo de recurso. Por exemplo, um recurso
AWS::S3::Bucket
pode ser identificado usando oBucketName
.A propriedade do recurso usada para identificar o recurso que está sendo importado varia de acordo com o tipo de recurso. É possível encontrar a propriedade do recurso no console do CloudFormation. Depois de criar um modelo que inclua o recurso a ser importado, você poderá iniciar o processo de importação, no qual encontrará as propriedades do identificador para os recursos que estão sendo importados. Para alguns tipos de recursos, pode existir diversas maneiras de identificá-los, e você pode selecionar qual propriedade deseja usar nas listas suspensas.
Como alternativa, é possível obter as propriedades do identificador para os recursos que estão sendo importados ao chamar o comando get-template-summary da CLI e ao selecionar o URL do S3 do modelo de pilha como o valor da opção
--template-url
. -
Um valor do identificador. Esse é o valor real da propriedade do recurso. Por exemplo, o valor real da propriedade
BucketName
deve serMyS3Bucket
.É possível obter o valor da propriedade do identificador usando o console de serviço do recurso.
Validação da importação de recursos
Durante uma operação de importação, o CloudFormation realiza as seguintes validações.
-
O recurso a ser importado já existe.
-
As propriedades e os valores de configuração de cada recurso a ser importado aderem ao esquema do tipo do recurso, que define as propriedades aceitas, as propriedades obrigatórias e os valores de propriedades compatíveis.
-
As propriedades obrigatórias são especificadas no modelo. As propriedades obrigatórias de cada tipo de recurso estão listadas na Referência de tipos de propriedades e recursos da AWS.
-
O recurso a ser importado não pertence a outra pilha na mesma região.
O CloudFormation não verifica se a configuração do modelo corresponde à configuração real das propriedades de recursos.
Importante
Verifique se os recursos e suas propriedades definidas no modelo correspondem à configuração pretendida da importação de recursos para evitar alterações inesperadas.
Códigos de status de importação de recursos
Essa tabela descreve os vários tipos de status usados com o recurso de importação de recursos.
Status da operação de importação | Descrição |
---|---|
|
A operação de importação está em andamento. |
|
A operação de importação foi concluída para todos os recursos da pilha. |
|
A operação de reversão da importação está sendo revertida para a configuração de modelo anterior. |
|
Falha na operação de reversão da importação. |
|
A importação foi revertida para a configuração de modelo anterior. |
Considerações durante uma operação de importação
-
Após a importação ter sido concluída, e antes de realizar as operações de pilhas subsequentes, recomendamos executar a detecção de desvios nos recursos importados. A detecção de desvios garante que a configuração do modelo corresponda à configuração real. Para ter mais informações, consulte Detectar desvio em uma pilha inteira do CloudFormation.
-
As operações de importação não permitem criações de novos recursos, exclusões de recursos ou alterações para configurações de propriedade.
-
Cada recurso a ser importado deve ter um atributo
DeletionPolicy
para que a operação de importação tenha êxito. ODeletionPolicy
pode ser definido como qualquer valor possível. Somente os recursos que você está importando precisam de umaDeletionPolicy
. Os recursos que já fazem parte da pilha não precisam deDeletionPolicy
. -
Não é possível importar o mesmo recurso em várias pilhas.
-
Você pode usar a condição da política
cloudformation:ImportResourceTypes
do IAM para controlar com quais tipos de recursos os usuários podem trabalhar durante uma operação de importação. Para ter mais informações, consulte Condições do CloudFormation. -
Os limites de pilha do CloudFormation se aplicam à importação de recursos. Para obter mais informações sobre limites, consulte Entender as cotas do CloudFormation.
Recursos adicionais do
Para resolver o desvio de pilha com uma importação de recursos, consulte Resolver o desvio com uma operação de importação.