Atualizar o conjunto de pilhas - AWS CloudFormation

Atualizar o conjunto de pilhas

Você pode atualizar seu conjunto de pilhas no AWS Management Console ou usando os comandos do AWS CloudFormation na AWS CLI. Neste passo-a-passo, alteraremos a frequência de entrega do snapshot padrão para a configuração do canal de entrega de 24hours para 12hours.

Para substituir valores de parâmetro para instâncias de pilhas específicas, consulte Substituir parâmetros em instâncias de pilha.

Atualizar o conjunto de pilhas usando o console do AWS CloudFormation

  1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. No painel de navegação, escolha StackSets.

  3. Na página StackSets, selecione o conjunto de pilhas criado em Criar um conjunto de pilhas. Neste passo-a-passo, criaremos um conjunto de pilhas chamado my-awsconfig-stackset.

  4. Com o conjunto de pilhas selecionado, escolha Edit StackSet details (Editar detalhes do StackSet) no menu Actions (Ações).

    
                            Atualizar o conjunto de pilhas na página do conjunto de pilhas
  5. Na página Choose a template (Escolher um modelo), informe se você deseja atualizar o modelo atual, especificar um URL do S3 para outro modelo ou fazer upload de um novo modelo para o AWS CloudFormation. Neste passo-a-passo, usaremos o modelo atual. Escolha Use current template (Usar modelo atual) e selecione Next (Próximo).

  6. Na página Specify StackSet details (Especificar detalhes do StackSet) modifique os valores de parâmetros e especifique os destinos da implantação.

    1. [Permissões autogerenciadas] Para Deployment targets (Destinos da implantação), escolha Deploy stacks in accounts (Implantar pilhas em contas). Cole os números da sua conta de destino na caixa de texto, separando-os com vírgulas.

      [Permissões gerenciadas pelo serviço] Para Deployment targets (Destinos da implantação), escolha as contas em sua organização nas quais implantar.

    2. Selecione a região.

    3. Altere o valor do parâmetro Frequency (Frequência) de 24hours (24 horas) para 12hours (12 horas).

      Para obter mais informações sobre este e outros parâmetros, que especificam valores usados pelo AWS Config, consulte Configurar o AWS Config com o console no Guia do desenvolvedor do AWS Config.

      Não faça alterações nos outros parâmetros. Para a finalidade deste passo-a-passo, não configuraremos as atualizações do Amazon SNS.

      Ao concluir, escolha Next (Avançar).

  7. Na página Configure StackSet options (Configurar opções do StackSet), não são necessárias alterações, mas é possível atualizar, excluir ou adicionar novas tags aqui, se desejar. Para obter mais informações sobre como as tags são usadas na AWS, consulte Usar tags de alocação de custos, no Guia do usuário do AWS Billing and Cost Management. Também é possível gerenciar a configuração de execução para especificar se o StackSets executa as operações não conflitantes simultaneamente e enfileira as operações conflitantes. Depois do término das operações conflitantes, o StackSets inicia as operações em fila na ordem de solicitação.

    nota

    Se já houver operações em execução ou em fila, o StackSets enfileirará todas as operações de entrada, mesmo que não sejam conflitantes.

    Não será possível modificar a configuração de execução do conjunto de pilhas enquanto houver operações em execução ou em fila para esse conjunto de pilhas.

    Não altere as Permissions (Permissões) e escolha Next (Próximo).

  8. Na página Definir opções de implantação, mantenha o valor padrão de 1 e Por número para Máximo de contas concorrentes. Mantenha o valor padrão Tolerância a falhas igual a 0 e a opção padrão Por número. Escolha Próximo.

    nota

    Você não pode alterar contas e regiões aqui, ou seja, não é possível implantar mudanças no conjunto de pilhas em pilhas contidas em algumas contas e regiões, mas não em outras.

  9. Na página Revisão, revise suas escolhas e as propriedades do seu conjunto de pilhas. Para fazer as alterações, escolha Editar na área no canto superior direito em que você deseja alterar as propriedades. Antes de atualizar o conjunto de pilhas, é necessário preencher a caixa de seleção na área Capabilities (Recursos) para confirmar que alguns dos recursos que você está atualizando com o conjunto de pilhas podem exigir novos recursos e permissões do IAM. Para obter mais informações sobre as permissões que poderão ser necessárias, consulte Reconhecer recursos do IAM em modelos do AWS CloudFormation, neste guia. Quando estiver pronto para criar seu conjunto de pilhas, escolha Submit (Enviar).

    O AWS CloudFormation começa a aplicar as atualizações ao seu conjunto de pilhas e exibe a guia Operations (Operações) da página de detalhes do conjunto de pilhas

  10. É possível visualizar o progresso e o status das operações de atualização na guia Operations (Operações). O parâmetro Frequency (Frequência) atualizado deverá ser visualizado na guia Parameter (Parâmetro).

Atualizar o conjunto de pilhas usando a AWS CLI

Ao atuar como administrador delegado, você deve definir o parâmetro --call-as como DELEGATED_ADMIN todas as vezes que executar um comando StackSets.

--call-as DELEGATED_ADMIN

Execute o comando update-stack-set da AWS CLI para fazer alterações no seu conjunto de pilhas. Neste passo-a-passo, atualizaremos o valor do parâmetro MaximumExecutionFrequency. Para obter mais informações sobre os nomes dos parâmetros e os valores para criar ou atualizar uma regra do AWS Config, consulte put-config-rule na referência da AWS CLI. Para alterar os valores dos parâmetros do modelo, adicione o parâmetro --parameters. Para obter mais informações sobre o que você pode especificar como um valor para --parameters, consulte Parameter na Referência de APIs do AWS CloudFormation e update-stack na Referência de comandos da AWS CLI.

No comando de exemplo mostrado aqui, atualizaremos o conjunto de pilhas usando --parameters. Especificamente, alteraremos a frequência de entrega do snapshot padrão para a configuração do canal de entrega de TwentyFour_Hours para Twelve_Hours. Como ainda estamos usando o modelo atual, adicionaremos o parâmetro --use-previous-template.

  1. Execute o seguinte comando . Em Nome do conjunto de pilhas, especifique o nome do conjunto de pilhas. my-awsconfig-stackset.

    Configure a tolerância a falhas e o máximo de contas concorrentes definindo FailureToleranceCount como 0 e MaxConcurrentCount como 1 no parâmetro --operation-preferences, como mostrado no exemplo a seguir. Para aplicar porcentagens, use FailureTolerancePercentage ou MaxConcurrentPercentage. Para a finalidade deste passo-a-passo, usaremos conta, e não porcentagem.

    nota

    O valor de MaxConcurrentCount depende do valor de FailureToleranceCount. MaxConcurrentCount é, no máximo, um a mais do que MaxConcurrentCount.

    [Permissões autogerenciadas] Forneça os IDs das contas que você deseja que a atualização tenha como destino.

    aws cloudformation update-stack-set --stack-set-name my-awsconfig-stackset --use-previous-template --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=TwentyFour_Hours\\,Twelve_Hours --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1 --accounts '["account_ID_1","account_ID_2"]'

    [Permissões gerenciadas pelo serviço] Forneça o ID da organização (raiz), os IDs de OUs ou os IDs de contas do AWS Organizations que você deseja que sua atualização tenha como destino.

    aws cloudformation update-stack-set --stack-set-name my-awsconfig-stackset --use-previous-template --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=TwentyFour_Hours\\,Twelve_Hours --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1 --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5j1lwo", "ou-rcuk-slr5lh0a"]' --regions '["eu-west-1"]'
  2. Verifique se o conjunto de pilhas foi atualizado com êxito 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-set.

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