Substituir os valores dos parâmetros usando o console do CloudFormation ou a AWS CLI - AWS CloudFormation

Substituir os valores dos parâmetros usando o console do CloudFormation ou a AWS CLI

Em alguns casos, você pode desejar instâncias de pilha em determinadas regiões ou contas para ter 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 substituir valores de parâmetros em instâncias de pilha por conta e região. Você pode substituir os valores de parâmetros do modelo ao criar as instâncias de pilha pela primeira vez e substituir valores de parâmetros de instâncias de pilha existentes. Você só pode definir parâmetros que substituiu anteriormente em instâncias da pilha de volta para os valores especificados no conjunto de pilhas.

As substituições de valores de parâmetros se aplicam a instâncias de pilha nas contas e regiões selecionadas. Durante atualizações do conjunto de pilhas, nenhum valor de parâmetro substituído para uma instância de pilha é atualizado, mas retém seu 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 instância de pilha, você deve primeiro atualizar todas as instâncias de pilha com os novos parâmetros e valor especificados no conjunto de pilhas. Quando todas as instâncias de pilha forem atualizadas com o novo parâmetro, você poderá substituir o valor do parâmetro nas instâncias de pilha individuais, conforme desejado.

Para saber como substituir valores de parâmetros de conjuntos de pilhas ao criar instâncias de pilha, consulte Adicionar pilhas a um conjunto de pilhas.

Substituir parâmetros em instâncias de pilha usando o console do CloudFormation

  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 na qual você criou o conjunto de pilhas.

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

  4. Com o conjunto de pilhas selecionado, escolha Override StackSet parameters (Substituir parâmetros do StackSet) no menu Actions (Ações).

  5. Na página Definir opções de implantação, forneça as contas e regiões das instâncias de pilha 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 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.

    2. Em Especificar regiões, adicione uma ou mais das regiões para as quais você implantou instâncias da pilha referentes a 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.

    3. Em Deployment options (Opções de implantação):

      • Em Máximo de contas simultâneas, modifique o máximo de contas simultâneas conforme necessário.

      • Em Tolerância a falhas, modifique a tolerância a falhas conforme necessário.

      • Em Simultaneidade de regiões, modifique a simultaneidade de regiões conforme necessário.

      • Em Modo de simultaneidade, modifique o modo de simultaneidade conforme necessário.

    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 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). Isso remove todos os valores substituídos depois de você atualizar as instâncias de pilha.

  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 suas instâncias da pilha. Visualize o progresso e o status das instâncias da pilha na página de detalhes do conjunto de pilhas que é aberta ao escolher Submit (Enviar).

Substituir parâmetros em instâncias de pilha usando o AWS CLI

Ao atuar como administrador delegado, você deve definir a opção --call-as como DELEGATED_ADMIN toda vez que executar um comando StackSets.

--call-as DELEGATED_ADMIN
  1. Execute o comando update-stack-instances da AWS CLI e especifique a opção --parameter-overrides.

    [Permissões autogerenciadas] Para a opção --accounts, forneça os IDs das contas nas quais você deseja substituir valores de parâmetros em instâncias de pilha.

    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 por serviço] Para a opção --deployment-targets, forneça o ID raiz da organização, IDs de OUs ou IDs de contas do AWS Organizations nas quais você deseja substituir parâmetros em instâncias de pilha. Neste exemplo, substituímos valores de parâmetros nas instâncias de pilha em todas as contas na OU 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 à 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-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 em instâncias de pilha 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 retornado pelo comando update-stack-instances.

    aws cloudformation describe-stack-set-operation --operation-id operation_ID