Substituir valores de parâmetros nas pilhas do conjunto de pilhas do CloudFormation
Em determinados casos, você pode querer que as pilhas de certas regiões ou contas tenham valores de propriedades diferentes dos especificados no próprio conjunto de pilhas. Por exemplo, você pode especificar um valor diferente para um determinado parâmetro com base no uso de desenvolvimento ou de produção da conta. Nessas situações, o CloudFormation permite que você substitua os valores dos parâmetros das pilhas por conta e região. Você pode substituir os valores dos parâmetros do modelo ao criar as pilhas e também os valores dos parâmetros de pilhas já existentes. É possível definir os parâmetros que você substituiu anteriormente nas pilhas apenas de volta para os valores especificados no conjunto de pilhas.
As substituições de valores de parâmetros se aplicam às pilhas das contas e regiões selecionadas. Durante atualizações de conjuntos de pilhas, os valores dos parâmetros substituídos de uma pilha não são atualizados, eles retém o valor substituído.
Você só pode substituir valores de parâmetros específicos no conjunto de pilhas; para adicionar ou excluir um parâmetro, você precisa atualizar o modelo do conjunto de pilhas. Se você adicionar um parâmetro a um modelo de conjunto de pilhas, para poder substituir o valor desse parâmetro em uma pilha, será necessário primeiro atualizar todas as pilhas com o novo parâmetro e valor especificado no conjunto de pilhas. Quando todas as pilhas tiverem sido atualizadas com o novo parâmetro, você poderá substituir o valor do parâmetro nas pilhas individuais como desejado.
Para saber como substituir os valores dos parâmetros do conjunto de pilha ao criar pilhas, consulte Adicionar pilhas a StackSets.
Substituir parâmetros em pilhas (console)
Faça login no AWS Management Console e abra o console AWS CloudFormation em https://console.aws.amazon.com/cloudformation
. -
Na barra de navegação na parte superior da tela, escolha a Região da AWS na qual você criou o conjunto de pilhas.
-
No painel de navegação, escolha StackSets. Na página StackSets, selecione seu conjunto de pilhas.
-
Com o conjunto de pilhas selecionado, escolha Override StackSet parameters (Substituir parâmetros do StackSet) no menu Actions (Ações).
-
Na página Definir opções de implantação, forneça as contas e as regiões das pilhas para as quais você pretende criar substituições.
Por padrão, o CloudFormation implantará pilhas nas contas especificadas na primeira região, depois passará para a próxima e assim por diante, contanto que as falhas de implantação de uma região não excedam uma tolerância a falhas especificada.
-
[Permissões autogerenciadas] Em Locais de implantação, escolha Implantar pilhas em contas. Cole alguns ou todos os IDs de conta de destino usados para criar o conjunto de pilhas.
[Permissões gerenciadas pelo serviço] Siga um destes procedimentos:
-
Escolha Deploy to organizational units (OUs) (Implantar em unidades organizacionais (OUs)). Insira uma ou mais das OUs de destino que você usou para criar seu conjunto de pilhas. Os valores de parâmetro substituídos só se aplicam às contas que estão atualmente nas OUs de destino e em suas OUs filhas. As contas adicionadas às OUs de destino e suas OUs filhas no futuro usarão os valores padrão do conjunto de pilhas e não os valores substituídos.
-
Escolha Deploy to accounts (Implantar em contas). Cole alguns ou todos os IDs de OUs ou de contas de destino usados para criar o conjunto de pilhas.
-
-
Em Especificar regiões, adicione uma ou mais regiões nas quais você implantou pilhas para esse conjunto de pilhas.
Se você adicionar várias regiões, a ordem das regiões em Specify regions (Especificar regiões) determinará a ordem de implantação.
-
Em Opções de implantação, faça o seguinte:
-
Em Máximo de contas simultâneas, especifique quantas contas são processadas simultaneamente.
-
Em Tolerância a falhas, especifique quantas falhas são aceitáveis antes que a operação seja interrompida.
-
Em Simultaneidade de regiões, escolha o modo de processar as regiões: Sequencial (uma região de cada vez) ou Paralelo (várias regiões simultaneamente).
-
Em Modo de simultaneidade, escolha como a simultaneidade se comporta durante a execução de uma operação.
-
Tolerância a falhas estrita: reduz o nível de simultaneidade quando ocorrem falhas, permanecendo dentro da faixa de Tolerância a falhas +1.
-
Tolerância a falhas flexível: mantém o nível de simultaneidade especificado (o valor de Máximo de contas simultâneas) a despeito de falhas.
-
-
-
Escolha Avançar.
-
-
Na página Especificar substituições, marque as caixas de seleção correspondentes aos parâmetros que serão substituídos e escolha Substituir valor do StackSet no menu Editar valor de substituição.
-
Na página Substituir valores de parâmetros do StackSet, faça suas alterações e escolha Salvar alterações.
nota
Para definir os parâmetros substituídos de volta para usarem o valor especificado no conjunto de pilhas, verifique todos os parâmetros e escolha Set to StackSet value (Definir como o valor do StackSet) no menu Edit override value (Editar valor de substituição). Fazer isso removerá todos os valores substituídos quando você atualizar as pilhas.
-
Na página Analisar, examine suas escolhas. Para fazer alterações, escolha Editar na seção relacionada.
-
Quando estiver pronto para prosseguir, escolha Enviar.
O CloudFormation começa a atualizar as pilhas. Visualize o progresso e o status das pilhas na página de detalhes do conjunto de pilhas que se abre quando você escolhe Enviar.
Substituir parâmetros em pilhas (AWS CLI)
Quando estiver atuando como administrador delegado, você deve definir a opção --call-as
como DELEGATED_ADMIN
toda vez que executar um comando de conjunto de pilhas.
--call-as
DELEGATED_ADMIN
-
Execute o comando update-stack-instances da AWS CLI e especifique a opção
--parameter-overrides
.[Permissões autogerenciadas] Na opção
--accounts
, forneça os IDs das contas para as quais você deseja substituir valores de parâmetros nas pilhas.aws cloudformation update-stack-instances --stack-set-name
my-stackset
\ --parameter-overridesParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940
\ --accountsaccount_id
--regionsus-east-1
[Permissões gerenciadas pelo serviço] Na opção
--deployment-targets
, forneça o ID da raiz da organização, as IDs das UOs ou as IDs de contas do AWS Organizations nas quais você deseja substituir parâmetros em pilhas. Neste exemplo, substituímos os valores de parâmetros nas pilhas de todas as contas da UO com o IDou-rcuk-1x5j1lwo
.Os valores de parâmetros substituídos só se aplicam às contas que estão atualmente na OU de destino e em suas OUs filhas. As contas adicionadas à OU de destino e suas OUs filhas no futuro usarão os valores padrão do conjunto de pilhas e não os valores substituídos.
aws cloudformation update-stack-instances --stack-set-name
my-stackset
\ --parameter-overridesParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940
\ --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5j1lwo"]'
\ --regionsus-east-1
-
Verifique se os valores dos parâmetros foram substituídos com êxito nas pilhas executando o comando describe-stack-set-operation para mostrar o status e os resultados da operação de atualização. Para
--operation-id
, use o ID de operação que foi retornado pelo comando update-stack-instances.aws cloudformation describe-stack-set-operation --operation-id
operation_ID