Criar StackStes do CloudFormation com permissões autogerenciadas - AWS CloudFormation

Criar StackStes do CloudFormation com permissões autogerenciadas

Com permissões self-managed, você pode implantar instâncias de pilha em Contas da AWS específicas de regiões específicas. Para fazer isso, você deve primeiro criar as funções do IAM necessárias para estabelecer uma relação de confiança entre a conta na qual você está administrando o conjunto de pilhas e a conta na qual você está implantando as instâncias de pilha. Para ter mais informações, consulte Conceder permissões autogerenciadas.

nota

Antes de concluir um dos procedimentos a seguir, verifique se os perfis do IAM AWSCloudFormationStackSetExecutionRole e AWSCloudFormationStackSetAdministrationRole existem na sua conta de administrador. Para iniciar pilhas em contas diferentes da sua conta de administrador, verifique se o perfil do IAM AWSCloudFormationStackSetExecutionRole existe nas contas de destino.

O modelo referenciado neste tópico habilita o AWS Config em uma conta de destino nas regiões Oeste dos EUA (Oregon) (us-west-2) e Leste dos EUA (Norte da Virgínia) (us-east-1). O modelo para Habilitar o AWS Config está localizado no seguinte bucket do S3: https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml. Você também pode escolher este modelo de exemplo no console do StackSets.

Criar um conjunto de pilhas com permissões autogerenciadas (console)

  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ê deseja gerenciar o conjunto de pilhas.

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

  4. Na parte superior da página StackSets, escolha Criar StackSet.

  5. Ignore as Permissões para usar os perfis do IAM chamados AWSCloudFormationStackSetExecutionRole e AWSCloudFormationStackSetAdministrationRole que você criou anteriormente.

  6. Em Prerequisite - Prepare template (Pré-requisito - preparar modelo), escolha Use a sample template (Usar um modelo de exemplo).

  7. No menu suspenso em Selecionar um modelo de exemplo, escolha o modelo Habilitar AWS Config. Em seguida, escolha Próximo.

  8. Na página Especificar detalhes do conjunto de pilhas, em Nome do StackSet, forneça um nome para o conjunto de pilhas. Os nomes dos conjuntos de pilhas precisam começar com um caractere alfabético e conter apenas letras, números e hifens. Neste passo a passo, usamos o nome my-awsconfig-stackset.

  9. Em Descrição do StackSet, forneça uma descrição para o conjunto de pilhas.

  10. Em Parâmetros, revise os parâmetros do modelo que são usados pelo AWS Config.

    nota

    Para fins deste passo a passo, use as configurações padrão descritas nesta seção.

    1. Para Configuração do gravador, revise os valores padrão. Para obter mais informações sobre esses parâmetros, consulte Configurar o AWS Config com o console no Guia do desenvolvedor do AWS Config.

    2. (Opcional) Em Configuração do canal de entrega, revise os valores padrão do canal de entrega quanto a atualizações e notificações. Para obter mais informações sobre o canal de entrega no AWS Config, consulte Gerenciar o canal de entrega no Guia de desenvolvedor do AWS Config.

    3. (Opcional) Em Notificações de entrega, revise a configuração padrão das notificações do Amazon Simple Notification Service (SNS).

  11. Escolha Próximo para continuar.

  12. Na página Configure StackSet options (Configurar opções de StackSet), adicione uma tag ao especificar um par de chave e valor. Neste passo-a-passo, criaremos uma tag chamada Fase com um valor Teste. As tags que você aplica aos conjuntos de pilhas são aplicadas a todos os recursos criados pelas suas pilhas. Para obter mais informações sobre como as tags são usadas na AWS, consulte Organizar e acompanhar custos usando tags de alocação de custos da AWS no Guia do usuário do AWS Billing and Cost Management.

  13. Para Execution configuration (Configuração de execução), escolha Active (Ativo) para que o StackSets execute operações não conflitantes simultaneamente e enfileire 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.

  14. Se o seu modelo contém recursos do IAM, em Recursos, escolha Eu reconheço que este modelo pode criar recursos do IAM para especificar que você deseja usar recursos do IAM no modelo. Para ter mais informações, consulte Confirmar recursos do IAM em modelos do CloudFormation.

  15. Escolha Próximo.

  16. Na página Definir opções de implantação, em Adicionar pilhas ao conjunto de pilhas, escolha Implantar novas pilhas.

  17. Em Accounts (Contas), escolha Deploy stacks in accounts (Implantar pilhas em contas). Cole os números da sua Conta da AWS de destino na caixa de texto, separando-os com vírgulas.

  18. Em Specify regions (Especificar regiões), escolha Leste dos EUA (Norte da Virgínia) Região. Repita para a Região Oeste dos EUA (Oregon). Clique na seta para cima ao lado de Região Oeste dos EUA (Oregon) a fim de movê-la para ser a primeira entrada na lista. A ordem das regiões em Specify regions (Especificar regiões) determina a ordem de implantação.

    Por padrão, o CloudFormation implantará pilhas nas contas especificadas na primeira região, depois passará para a próxima e assim por diante, desde que as falhas de implantação de uma região não excedam uma tolerância a falhas especificada.

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

    • Em Maximum concurrent accounts (Máximo de contas concorrentes), mantenha os valores padrão de Number (Número) e 1.

      Isso significa que o CloudFormation implantará sua pilha em apenas uma conta de cada vez.

    • Em Failure tolerance (Tolerância a falhas), mantenha os padrões de Number (Número) e 0.

      Isso significa que, no máximo, uma implantação de pilha poderá falhar em uma das suas regiões especificadas para que o CloudFormation interrompa a implantação na região atual e cancele a implantação nas regiões restantes.

    • Em Simultaneidade de regiões, selecione Sequencial ou Paralela para determinar a ordem de implantação de StackSets por regiões especificadas. Por padrão, a opção Sequential (Sequencial) é selecionada.

    • Em Modo de simultaneidade, atualize o Modo de simultaneidade conforme necessário ou vá para a próxima etapa.

  20. Escolha Próximo.

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

  22. Quando estiver pronto para criar seu conjunto de pilhas, escolha Submit (Enviar).

    O CloudFormation começa a criar seu conjunto de pilhas. Visualize o progresso e o status da criação das pilhas em seu conjunto de pilhas na página de detalhes do conjunto de pilhas que é aberta ao escolher Submit (Enviar).

Criar um conjunto de pilhas com permissões autogerenciadas (AWS CLI)

Ao criar conjuntos de pilhas usando os comandos da AWS CLI, você executa dois comandos separados: create-stack-set para carregar seu modelo e criar o contêiner do conjunto de pilhas e create-stack-instances para criar as pilhas dentro do seu conjunto de pilhas.

  1. Comece executando o comando create-stack-set a seguir para carregar o modelo de exemplo que habilita o AWS Config. Para a opção --template-url, forneça o URL do bucket do Amazon S3 em que seu modelo está localizado. Neste exemplo, usamos my-awsconfig-stackset como valor da opção --stack-set-name.

    aws cloudformation create-stack-set \ --stack-set-name my-awsconfig-stackset \ --template-url https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml
    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.

  2. Quando o comando create-stack-set estiver concluído, execute o comando list-stack-sets para ver qual conjunto de pilhas foi criado. Sua nova pilha configurada deve ser visualizada nos resultados.

    aws cloudformation list-stack-sets
  3. Execute o comando create-stack-instances para adicionar instâncias de pilha ao conjunto de pilhas. Neste passo a passo, usaremos us-west-2 e us-east-1 como os valores da opção --regions.

    aws cloudformation create-stack-instances \ --stack-set-name my-awsconfig-stackset \ --accounts '["account_ID_1","account_ID_2"]' \ --regions '["us-west-2","us-east-1"]'

    Para especificar suas preferências sobre como o CloudFormation executa essa operação de conjunto de pilhas, especifique a opção --operation-preferences, como no exemplo a seguir. Para fins deste exemplo, usaremos conta, e não porcentagem. Para aplicar porcentagens, use FailureTolerancePercentage ou MaxConcurrentPercentage.

    --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1
    nota

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

    Importante

    Aguarde até que uma operação seja concluída antes de iniciar outra. Você só pode executar uma operação por vez.

  4. Usando o operation-id que foi retornado como parte da saída de create-stack-instances na etapa 4, execute o comando describe-stack-set-operation a seguir para verificar se suas instâncias de pilha foram criadas com êxito.

    aws cloudformation describe-stack-set-operation \ --stack-set-name my-awsconfig-stackset \ --operation-id operation_ID