Importação de pilhas autogerenciadas para StackSets do AWS CloudFormation
A operação importação de pilhas do CloudFormation pode importar pilhas existentes para StackSets novos ou existentes para que você possa migrar pilhas existentes para um StackSet em uma só operação. Ao utilizar a importação de pilhas, você evita tempo de inatividade e interrupções por não precisar excluir e recriar esses recursos. Depois que a pilha é importada para um StackSet, a pilha original se torna uma instância da pilha do conjunto de pilhas especificado.
Considerações sobre as importações de pilhas autogerenciadas
-
A operação de importação de pilhas requer uma conta de administrador na qual você cria um StackSet e uma conta de destino que contenha uma pilha.
-
A conta de destino deve ter permissão para utilizar a operação
GetTemplate
com a especificação do ID da pilha ou do ARN. Por isso, as permissões AWSCloudFormationStackSetsAdminstration ou AWSCloudFormationStackSetsExectionRole devem ser concedidas à sua conta de administrador.
Tópicos
Importar uma pilha existente para um novo StackSet (console)
Antes de começar, identifique a pilha que deseja importar.
Faça login no AWS Management Console e abra o console AWS CloudFormation em https://console.aws.amazon.com/cloudformation
. -
No painel de navegação, escolha StackSets.
-
No topo da página StackSets, escolha Create StackSet (Criar StackSet).
-
Na página Escolher um modelo, escolha um modelo por meio de uma das seguintes opções e escolha Avançar.
-
Escolha Amazon S3 URL e especifique o URL do modelo na caixa de texto.
-
Escolha Upload a template file (Fazer upload de um arquivo de modelo) e procure o arquivo de modelo.
-
Escolha From stack ID (Do ID da pilha) e insira seu ID da pilha.
-
-
Na página Especificar detalhes do StackSet, insira o nome de um StackSet que você deseja criar e escolha Avançar.
(Opcional) Insira uma descrição do StackSet.
-
Na página Configurar opções do StackSet, reveja suas seleções e escolha Avançar.
-
Na página Definir opções de implantação, escolha Importar pilhas para o conjunto de pilhas.
-
Insira o ID da pilha a ser importada no campo Stacks to import (Pilhas para importar). Por exemplo, .
arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786
(Opcional) Escolha Adicionar outro ID de pilha e insira o ID da outra pilha que você deseja importar. É possível adicionar até 10 pilhas por operação de importação.
-
Revise as opções de implantação e escolha Avançar.
-
Na página Analisar, analise suas escolhas e as propriedades do seu StackSet. Quando estiver tudo pronto para importar a pilha para o StackSet, escolha Enviar.
Resultados: a pilha importada é agora uma instância de pilha do StackSet especificado. Para saber mais sobre o status de importação das pilhas, consulte Códigos de status do StackSets.
Importar uma pilha existente para um StackSet existente (console)
Antes de começar, identifique a pilha que deseja importar.
Faça login no AWS Management Console e abra o console AWS CloudFormation em https://console.aws.amazon.com/cloudformation
. -
No painel de navegação, escolha StackSets.
-
Na página StackSets, escolha o StackSet para o qual você deseja importar uma pilha.
-
Com o StackSet selecionado, escolha Adicionar pilhas ao StackSet no menu Ações.
-
Na página Definir opções de implantação, escolha Importar pilhas para o conjunto de pilhas e insira o ID da pilha que você deseja importar no campo Pilhas a importar. Por exemplo, .
arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786
(Opcional) Escolha Adicionar outro ID de pilha e insira o ID da outra pilha que você deseja importar. É possível adicionar até 10 pilhas por operação de importação.
-
Escolha Próximo.
-
Na página Especificar substituições, verifique suas seleções e escolha Avançar.
-
Na página Analisar, analise suas escolhas e as propriedades do seu StackSet. Quando estiver tudo pronto para criar seu StackSet, escolha Enviar.
Resultados: a pilha importada é agora uma instância de pilha do StackSet especificado. Para saber mais sobre o status de importação das pilhas, consulte Códigos de status do StackSets.
Importar uma pilha para um StackSet (AWS CLI)
Para importar uma pilha existente para um novo StackSet
O comando create-stack-set
a seguir cria um StackSet e importa a pilha especificada. A pilha a ser importada é identificada pelo ARN. Substitua o espaço reservado de texto por suas próprias informações.
aws cloudformation create-stack-set \ --stack-set-name
MyStackSet
\ --stack-idarn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/466df9e0-0dff-08e3-8e2f-5088487c4896
\ --administration-role-arnarn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole
\ --execution-role-nameAWSCloudFormationStackSetExecutionRole
Para importar uma pilha existente para um StackSet existente
O comando import-stacks-to-stack-sets
a seguir importa a pilha especificada para o StackSet MyStackSet
. A pilha a ser importada é identificada pelo ARN. Substitua o espaço reservado de texto por suas próprias informações.
aws cloudformation import-stacks-to-stack-set \ --stack-set
MyStackSet
\ --stack-idsarn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786
Para especificar mais de uma pilha, use o formato apresentado a seguir para o valor da opção --stack-ids
.
--stack-ids "
arn_1
" "arn_2
"
Para clonar a pilha importada em outras regiões e contas
O comando create-stack-instances
a seguir adiciona instâncias de pilha ao StackSet. Substitua o espaço reservado de texto por suas próprias informações.
aws cloudformation create-stack-instances \ --stack-set-name
MyStackSet
\ --accounts '["account_ID_1
","account_ID_2
"]' \ --regions '["region_1
","region_2
"]'