Substituir valores de parâmetros nas pilhas do StackSet do CloudFormation - AWS CloudFormation

Substituir valores de parâmetros nas pilhas do StackSet 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 StackSet. 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. Você pode definir apenas os parâmetros que você substituiu anteriormente nas pilhas de volta para os valores especificados no StackSet.

As substituições de valores de parâmetros se aplicam às pilhas das contas e regiões selecionadas. Durante as atualizações do StackSet, todos os valores dos parâmetros substituídos de uma pilha não são atualizados, mas retêm o valor substituído.

Você só pode substituir valores de parâmetros especificados no StackSet; para adicionar ou excluir um parâmetro, você precisa atualizar o modelo do StackSet. Se você adicionar um parâmetro a um modelo de StackSet, 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 StackSet. 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 StackSet ao criar pilhas, consulte Adicionar pilhas a StackSets.

Substituir parâmetros em pilhas (console)

Para substituir parâmetros de pilhas específicas
  1. Faça login no AWS Management Console e abra o console AWS CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. Na barra de navegação na parte superior da tela, escolha a Região da AWS em que você criou o StackSet.

  3. No painel de navegação, escolha StackSets. Na página StackSets, selecione seu StackSet.

  4. Com o StackSet selecionado, escolha Substituir parâmetros do StackSet no menu Ações.

  5. 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.

    1. [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 StackSet.

      [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 UOs de destino que você usou para criar seu StackSet. 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 UOs de destino e suas UOs secundárias no futuro usarão os valores padrão do StackSet e não os valores substituídos.

      • Escolha Deploy to accounts (Implantar em contas). Cole alguns ou todos os IDs de UOs ou de contas de destino usados para criar o StackSet.

    2. Em Especificar regiões, adicione uma ou mais regiões nas quais você implantou pilhas para esse StackSet.

      Se você adicionar várias regiões, a ordem das regiões em Specify regions (Especificar regiões) determinará a ordem de implantação.

    3. 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 o número máximo de falhas de conta permitidas por região. A operação será interrompida e não prosseguirá para outras regiões quando esse limite for atingido.

      • 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 da conta 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.

    4. Escolha Próximo.

  6. 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.

  7. 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 StackSet, verifique todos os parâmetros e escolha Definir como o valor do StackSet no menu Editar valor de substituição. Fazer isso removerá todos os valores substituídos quando você atualizar as pilhas.

  8. Na página Analisar, examine suas escolhas. Para fazer alterações, escolha Editar na seção relacionada.

  9. 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 StackSet que é exibida quando você escolhe Enviar.

Substituir parâmetros em pilhas (AWS CLI)

nota

Ao atuar como um administrador delegado, você deve incluir --call-as DELEGATED_ADMIN no comando.

Para substituir parâmetros de pilhas específicas
  1. 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-overrides ParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940 \ --accounts account_id --regions us-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 ID ou-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 à UO de destino e suas UOs secundárias no futuro usarão os valores padrão do StackSet e não os valores substituídos.

    aws cloudformation update-stack-instances --stack-set-name my-stackset \ --parameter-overrides ParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940 \ --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo \ --regions us-east-1
  2. 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. Em --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