

# Gerenciar pilhas em todas as contas e regiões com StackSets
<a name="what-is-cfnstacksets"></a>

O CloudFormation StackSets amplia a capacidade das pilhas, permitindo que você crie, atualize ou exclua pilhas em várias contas e Regiões da AWS com uma única operação. Usando uma conta de administrador, você define e gerencia um modelo do CloudFormation e usa-o como base para o provisionamento de pilhas para as contas de destino selecionadas nas várias Regiões da AWS especificadas.

![\[Um StackSet é uma coleção de recursos em um modelo, que é implantada entre várias contas e regiões.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/stack_set_conceptual_sv.png)


Esta seção é para ajudar você a começar a usar StackSets. Aqui, você encontrará respostas às perguntas frequentes sobre como trabalhar e solucionar problemas de criação, atualização e exclusão de StackSets.

**Topics**
+ [Conceitos do StackSets](stacksets-concepts.md)
+ [Pré-requisitos para usar o CloudFormation StackSets](stacksets-prereqs.md)
+ [Começar a usar StackSets com um modelo de exemplo](stacksets-getting-started.md)
+ [Criar CloudFormation StackSets com permissões autogerenciadas](stacksets-getting-started-create-self-managed.md)
+ [Criar CloudFormation StackSets com permissões gerenciadas pelo serviço](stacksets-orgs-associate-stackset-with-org.md)
+ [Habilite ou desabilite implantações automáticas de StackSets no AWS Organizations](stacksets-orgs-manage-auto-deployment.md)
+ [Atualizar o CloudFormation StackSets](stacksets-update.md)
+ [Adicionar pilhas ao CloudFormation StackSets](stackinstances-create.md)
+ [Substituir valores de parâmetros nas pilhas do StackSet do CloudFormation](stackinstances-override.md)
+ [Excluir pilhas do CloudFormation StackSets](stackinstances-delete.md)
+ [Excluir CloudFormation StackSets](stacksets-delete.md)
+ [Evitar implantações de StackSets com falha usando portas de conta de destino](stacksets-account-gating.md)
+ [Escolher o modo de simultaneidade para o CloudFormation StackSets](concurrency-mode.md)
+ [Detectar desvios em StackSets do CloudFormation](stacksets-drift.md)
+ [Importar pilhas para o CloudFormation StackSets](stacksets-import.md)
+ [Práticas recomendadas para usar o CloudFormation StackSets](stacksets-bestpractices.md)
+ [Modelos de exemplo do CloudFormation StackSets](stacksets-sampletemplates.md)
+ [Solução de problemas de CloudFormation StackSets](stacksets-troubleshooting.md)

# Conceitos do StackSets
<a name="stacksets-concepts"></a>

Os conceitos e terminologia a seguir são fundamentais para o entendimento e uso de StackSets.

**Topics**
+ [Contas de administrador e de destino](#stacksets-concepts-accts)
+ [CloudFormation StackSets](#stacksets-concepts-stackset)
+ [Modelos de permissões para StackSets](#stacksets-concepts-stackset-permission-models)
+ [Instâncias da pilha](#stacksets-concepts-stackinstances)
+ [Operações de StackSets](#stacksets-concepts-ops)
+ [Opções de operação de StackSets](#stackset-ops-options)
+ [Tags](#stackset-concepts-tags)
+ [Códigos de status do StackSets](#stackset-status-codes)
+ [Códigos de status da instância de pilha](#stack-instance-status-codes)

## Contas de administrador e de destino
<a name="stacksets-concepts-accts"></a>

Uma *conta de administrador* é a Conta da AWS em que você cria StackSets. Para StackSets com permissões gerenciadas pelo serviço, a conta de administrador é a conta de administrador delegado ou a conta gerencial da organização. Você pode gerenciar um StackSet fazendo login na conta de administrador da AWS que criou o StackSet.

A *conta de destino* é a conta em que você cria, atualiza ou exclui uma ou mais pilhas no seu StackSet. Antes de usar um StackSet para criar pilhas em uma conta de destino, estabeleça uma relação de confiança entre as contas de administrador e de destino.

## CloudFormation StackSets
<a name="stacksets-concepts-stackset"></a>

Um *StackSet* atua como um contêiner para várias pilhas que são implantadas em regiões e Contas da AWS específicas. Cada pilha é baseada no mesmo modelo do CloudFormation, mas você pode personalizar pilhas individuais usando parâmetros.

Depois de definir um StackSet, você poderá criar, atualizar ou excluir pilhas nas Regiões da AWS e contas de destino especificadas. Ao criar, atualizar ou excluir pilhas, também é possível especificar preferências de operação. Por exemplo, inclua a ordem das regiões em que você deseja realizar a operação, o limite de tolerância a falhas antes que as operações de pilha sejam interrompidas e o número de contas que realizam operações de pilha ao mesmo tempo.

Um StackSet é um recurso regional. Se você criar um StackSet em uma Região da AWS, apenas poderá vê-lo ou alterá-lo ao visualizar essa região.

## Modelos de permissões para StackSets
<a name="stacksets-concepts-stackset-permission-models"></a>

Você pode criar StackSets usando permissões *autogerenciadas* ou permissões *gerenciadas pelo serviço*.

Com permissões *autogerenciadas* você cria os perfis do IAM necessários para o StackSets implantar em contas e regiões. Esses perfis são necessários para estabelecer um relacionamento confiável entre a conta em que você está administrando o StackSet e a conta em que você está implantando instâncias de pilha. Usando esse modelo de permissões, o StackSets pode implantar em qualquer Conta da AWS na qual você tenha permissões para criar um perfil do IAM.

Com permissões *gerenciadas pelo serviço* você pode implantar instâncias de pilha em contas gerenciadas pelo AWS Organizations. Usando esse modelo de permissões, você não precisa criar os perfis do IAM necessários. O StackSets cria perfis do IAM em seu nome. Com esse modelo, você também pode ativar implantações automáticas em contas que serão adicionadas à sua organização no futuro.

O AWS Organizations integra-se ao CloudFormation e ajuda a gerenciar e governar centralmente seu ambiente à medida que você escala e expande seus recursos da AWS.
+ Conta de gerenciamento: a conta que você usa para criar a organização. Para obter mais informações, consulte [Conceitos e terminologia do AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html).
+ Administrador delegado: um serviço compatível da AWS pode registrar uma conta-membro da AWS da organização como administrador para as contas da organização nesse serviço. Para obter mais informações, consulte [Serviços da AWS que você pode usar com o AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html).

Para obter mais informações sobre como criar e gerenciar StackSets com permissões gerenciadas pelo serviço, consulte os seguintes tópicos:
+ [Ativar o acesso confiável para StackSets com o AWS Organizations](stacksets-orgs-activate-trusted-access.md)
+ [Registrar uma conta de membro de administrador delegado](stacksets-orgs-delegated-admin.md)
+ [Criar CloudFormation StackSets com permissões gerenciadas pelo serviço](stacksets-orgs-associate-stackset-with-org.md)

## Instâncias da pilha
<a name="stacksets-concepts-stackinstances"></a>

Uma *instância de pilha* é uma referência a uma pilha em uma conta de destino dentro de uma região. Uma instância de pilha pode existir sem uma pilha. Por exemplo, se a pilha não puder ser criada por algum motivo, a instância de pilha mostrará o motivo da falha ao criar a pilha. Uma instância de pilha está associada a apenas um StackSet.

Confira a seguir as relações lógicas entre StackSets, operações de pilha e pilhas. Ao atualizar um StackSet, *todas* as instâncias de pilha associadas serão atualizadas em todas as contas e regiões.

![\[Um StackSet pode criar, atualizar ou excluir instâncias de pilha e pilhas entre contas e regiões.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/stack_sets_operations_stacks_sv.png)


## Operações de StackSets
<a name="stacksets-concepts-ops"></a>

Você pode executar as operações a seguir em StackSets.

Criar um StackSet  
A criação de um StackSet inclui a especificação de um modelo do CloudFormation que você usará para criar pilhas, especificando as contas de destino em que deseja criá-las e as Regiões da AWS em que deseja implantá-las nas suas contas de destino. Um StackSet garante uma implantação consistente dos mesmos recursos de pilha, com as mesmas configurações, para todas as contas de destino especificadas nas regiões escolhidas.

Atualizar um StackSet  
Ao atualizar um StackSet, você envia as mudanças para as pilhas no seu StackSet. Você pode atualizar um StackSet de uma das maneiras a seguir. Suas atualizações de modelo sempre afetam todas as pilhas; não é possível atualizar o modelo seletivamente para algumas pilhas no StackSet, mas não para outras.  
+ Altere as configurações existentes no modelo ou adicione novos recursos, como atualização de configurações de parâmetros para um serviço específico ou adição de novas instâncias do Amazon EC2.
+ Substitua o modelo por um modelo diferente.
+ Adicione as pilhas a contas de destino existentes/adicionais ou regiões existentes/adicionais.

Excluir pilhas  
Ao excluir pilhas, você remove uma pilha e todos os recursos associados das contas de destino e nas regiões que especificou. Você pode excluir suas pilhas das seguintes maneiras.  
+ Exclua pilhas de algumas contas de destino, enquanto deixa outras pilhas em outras contas de destino em execução.
+ Exclua as pilhas de algumas regiões e deixe pilhas em outras regiões em execução.
+ Exclua pilhas do seu StackSet, mas salve-as para que continuem sendo executadas independentemente do seu StackSet. Para isso, basta escolher a opção **Reter pilhas**. Você pode gerenciar as pilhas retidas fora do seu StackSet no CloudFormation.
+ Exclua todas as pilhas do seu StackSet, em preparação para excluir todo o StackSet.

Excluir um StackSet  
Você só poderá excluir seu StackSet quando não houver instâncias de pilha nele.

## Opções de operação de StackSets
<a name="stackset-ops-options"></a>

As opções descritas nesta seção ajudam você a controlar o tempo e o número de falhas permitidas para executar com sucesso as operações do StackSet e evitar a perda dos recursos de pilhas.

Máximo de contas concorrentes  
Com esta configuração (disponível na criação, atualização e exclusão de fluxos de trabalho), é possível especificar a quantidade máxima ou porcentagem de contas de destino em que uma operação é executada ao mesmo tempo. Uma quantidade ou porcentagem inferior significa que uma operação será realizada em menos contas de destino ao mesmo tempo. As operações são realizadas em uma região de cada vez, na ordem especificada na caixa **Deployment order** (Ordem de implantação). Por exemplo, se você estiver implantando pilhas em 10 contas de destino dentro de duas regiões, a definição de **Maximum concurrent accounts** (Máximo de contas simultâneas) como **50** e **By percentage** (Por porcentagem) implanta as pilhas em cinco contas na primeira região, depois, nas próximas cinco contas na primeira região até passar para a próxima região e iniciar a implantação nas primeiras cinco contas de destino.  
Ao escolher **Por porcentagem**, se a porcentagem especificada não representar um número inteiro das suas contas especificadas, o CloudFormation arredondará o valor para baixo. Por exemplo, se você estiver implantando pilhas em 10 contas de destino e definir **Máximo de contas simultâneas** como **25** e **Por porcentagem**, o CloudFormation arredondará o valor de implantação de 2,5 pilhas simultaneamente (o que não seria possível) para 2 pilhas simultaneamente.  
Configuração permite que você especifique o *máximo* para as operações. Para grandes implementações, em determinadas circunstâncias, o número real de contas atuadas simultaneamente pode ser menor devido à limitação do serviço.  
O **Máximo de contas simultâneas** pode depender do valor da **Tolerância a falhas**, dependendo do **Modo de simultaneidade**. Se o **Modo de simultaneidade** estiver definido como **Tolerância rigorosa a falhas**, o **Máximo de contas simultâneas** poderá ser no máximo uma a mais do que a configuração de **Tolerância a falhas**.

Modo de simultaneidade  
Essa configuração, disponível nos fluxos de trabalho de criação, atualização e exclusão, permite que você escolha como o nível de simultaneidade se comportará durante as operações do StackSet. Para obter mais informações, consulte [Escolher o modo de simultaneidade para o CloudFormation StackSets](concurrency-mode.md).

Tolerância a falhas  
Esta configuração (disponível na criação, atualização e exclusão de fluxos de trabalho) permite especificar o número máximo ou porcentagem de falhas de operação da pilha que podem ocorrer, por região, além de qual CloudFormation interrompe uma operação automaticamente. Uma quantidade ou porcentagem menor significa que a operação será executada em menos pilhas, mas que você poderá começar a solucionar as operações com falha mais rapidamente. Por exemplo, se você estiver atualizando 10 pilhas em 10 contas de destino em três regiões, a definição de **Failure tolerance (Tolerância a falhas)** como **20** e **By percentage (Por porcentagem)** significa que um máximo de duas atualizações de pilhas em uma região poderá falhar para que a operação continue. Se uma terceira pilha na mesma região falhar, o CloudFormation interromperá a operação. Se não for possível atualizar uma pilha na primeira região, a operação de atualização continuará nela e depois passará para a próxima. Se não for possível atualizar duas pilhas na segunda região, a tolerância a falhas de 20% será atingida. Se uma terceira pilha na região falhar, o CloudFormation interromperá a operação de atualização e não passará para as regiões subsequentes.  
Ao escolher **Por porcentagem**, se a porcentagem especificada não representar um número inteiro das pilhas em cada região, o CloudFormation arredondará o valor para baixo. Por exemplo, se você estiver implantando pilhas em 10 contas de destino em três regiões e definir **Tolerância a falhas** como **25** e **Por porcentagem**, o CloudFormation arredondará a tolerância de falha de 2,5 pilhas (o que não seria possível) para 2 pilhas por região.

Reter pilhas  
Essa configuração, disponível nos fluxos de trabalho de exclusão de pilha, permite que você mantenha as pilhas e os recursos em execução mesmo após terem sido excluídas de um StackSet. Quando você retém pilhas, o CloudFormation deixa as pilhas intactas nas contas e regiões individuais. As pilhas são desassociadas do StackSet, mas a pilha e seus recursos são salvos. Após concluir a operação de exclusão de pilhas, você gerenciará as pilhas retidas no CloudFormation, usando a conta de destino (e não da conta de administrador) que as criou. 

Simultaneidade de região  
Essa configuração, disponível nos fluxos de trabalho de criação, atualização e exclusão, permite escolher como os StackSets são implantados em regiões.  
*Sequential* (Sequencial): implanta a operação de StackSets em uma região por vez, conforme especificado pela caixa **Deployment order** (Ordem de implantação) da região, desde que as falhas de implantação de uma região não excedam uma tolerância a falhas especificada. A implantação sequencial é a seleção padrão.  
*Paralela*: implanta as operações do StackSets em todas as regiões especificadas simultaneamente, desde que as falhas de implantação de uma região não excedam uma tolerância a falhas especificada.

## Tags
<a name="stackset-concepts-tags"></a>

Você pode adicionar tags durante as operações de criação e atualização do StackSet, especificando pares de chave/valor. As tags são úteis para classificar e filtrar recursos do StackSet para faturamento e alocação de custos. Para obter mais informações sobre como usar tags na AWS, consulte [Organizing and tracking costs using AWS cost allocation tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) no *Gerenciamento de Faturamento e Custos da AWS User Guide*. Depois de especificar o par chave-valor, escolha **\$1** para salvar a tag. Você pode excluir tags que não está mais usando selecionando o **X** vermelho à direita de uma tag.

As tags que você aplica aos StackSets são aplicadas a todas as pilhas e aos recursos criados por elas. Também é possível adicionar tags no nível somente da pilha no CloudFormation, mas talvez elas não sejam mostradas no StackSets.

Embora o StackSets não adicione tags definida pelo sistema, você não deve iniciar os nomes de chaves de nenhuma tag com a string `aws:`.

## Códigos de status do StackSets
<a name="stackset-status-codes"></a>

O CloudFormation StackSets gera códigos de status para operações de StackSets.

A tabela a seguir descreve os códigos de status das operações de StackSets.

`RUNNING`  
A operação está em andamento.

`SUCCEEDED`  
A operação terminou sem exceder a tolerância a falhas.

`FAILED`  
A quantidade de pilhas em que a operação não pôde ser concluída excedeu a tolerância a falhas definida pelo usuário. O valor da tolerância a falhas definido para uma operação é aplicado a cada região durante as operações de criação e atualização de pilhas. Se a quantidade de pilhas com falha dentro de uma região exceder a tolerância a falhas, o status da operação na região será alterado para `FAILED`. O status da operação como um todo também será definido como `FAILED`, e o CloudFormation cancelará a operação em todas as demais regiões.

`QUEUED`  
[`Service-managed permissions`] Para implantações automáticas que exigem uma sequência de operações, a operação entra em uma fila para ser executada. Por exemplo:  
+ Mover uma conta de uma unidade organizacional (UO) `OU1`, para outra `OU2`, aciona uma implantação automática. StackSets executa uma operação de exclusão para remover a instância de pilha da conta `OU1` de destino na região de destino e enfileira uma operação de criação para adicionar uma instância de pilha à conta `OU2` de destino na região de destino.
+ A adição de uma conta `AccountA` a uma UO aciona uma implantação automática. O StackSets executa uma operação de criação para adicionar uma instância de pilha à `AccountA` na região de destino. Se você adicionar outra conta `AccountB` à UO enquanto essa operação de criação estiver em execução, o StackSets enfileirará uma segunda operação de criação. Quando a primeira operação de criação estiver concluída, o StackSets executará a segunda operação de criação para adicionar uma instância de pilha à `AccountB` na região de destino.

`STOPPING`  
A pedido do usuário, a operação está em processo de interrupção.

`STOPPED`  
A pedido do usuário, a operação foi interrompida.

## Códigos de status da instância de pilha
<a name="stack-instance-status-codes"></a>

O CloudFormation StackSets gera códigos de status para instâncias de pilhas.

A tabela a seguir descreve os códigos de status para instâncias de pilhas no StackSets.

`CURRENT`  
A pilha está atualizada com o StackSet.

`OUTDATED`  
A pilha não está atualizada com o StackSet por um dos motivos a seguir.  
+ Uma operação [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html) ou [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) na pilha associada falhou.
+ A pilha fazia parte de uma operação [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html) ou [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) que falhou, ou que foi interrompida antes da criação ou atualização da pilha.

`INOPERABLE`  
Uma operação [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html) falhou e deixou a pilha em um estado instável. As pilhas neste estado são excluídas de outras operações [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html). Pode ser necessário executar uma operação [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html), com `RetainStacks` definido como `true`, para excluir a instância de pilha e, em seguida, excluir a pilha manualmente.

`CANCELLED`  
A operação na conta e região especificadas foi cancelada. Isso ocorre porque um usuário interrompeu a operação do StackSet ou porque as operações do StackSet excederam a tolerância a falhas.

`FAILED`  
Falha na operação na conta e região especificadas. Se houver falha na operação do StackSet em contas suficientes dentro de uma região, a tolerância a falhas para a operação do StackSet como um todo poderá ser excedida.

`FAILED_IMPORT`  
Houve falha na importação da instância da pilha na conta e na região especificadas, deixando a pilha em um estado instável. Depois que os problemas que causaram a falha são corrigidos, a operação de importação pode ser repetida. Se houver bastante falhas em operações de StackSets em contas suficientes de uma região, a tolerância a falhas para a operação do StackSet como um todo poderá ser excedida.

`PENDING`  
A operação na conta e região especificadas ainda não foi iniciada.

`RUNNING`  
A operação na conta e região especificadas está em andamento no momento.

`SKIPPED_SUSPENDED_ACCOUNT`  
A operação na conta e região especificadas foi ignorada porque a conta foi suspensa no momento da operação.

`SUCCEEDED`  
A operação na conta e região especificadas foi concluída com êxito.

# Pré-requisitos para usar o CloudFormation StackSets
<a name="stacksets-prereqs"></a>

Os StackSets estendem a funcionalidade das pilhas para que você possa criar, atualizar ou excluir pilhas de várias contas e regiões com uma única operação.

Como o StackSets realiza operações de pilha em várias contas, antes de começar a criar o seu primeiro StackSet, você precisará ter as permissões necessárias definidas nas suas Contas da AWS.

Você pode gerenciar StackSets usando permissões *autogerenciadas* ou *gerenciadas pelo serviço*. 
+ Para StackSets *autogerenciados*, você deve criar e gerenciar perfis do IAM em cada conta e Região da AWS de destino. Para obter mais informações, consulte [Conceder permissões autogerenciadas](stacksets-prereqs-self-managed.md).
+ Para *StackSets gerenciados pelo serviço*, você não precisa criar e gerenciar manualmente perfis do IAM em cada conta; a AWS trata da criação de perfis e permissões para você. Para obter mais informações, consulte [Ativar o acesso confiável](stacksets-orgs-activate-trusted-access.md).

**Topics**
+ [Preparar-se para realizar de operações de StackSets em Regiões da AWS desabilitadas por padrão](stacksets-opt-in-regions.md)
+ [Conceder permissões autogerenciadas](stacksets-prereqs-self-managed.md)
+ [Ativar o acesso confiável para StackSets com o AWS Organizations](stacksets-orgs-activate-trusted-access.md)

# Preparar-se para realizar de operações de StackSets em Regiões da AWS desabilitadas por padrão
<a name="stacksets-opt-in-regions"></a>

As Regiões da AWS introduzidas após 20 de março de 2019, como Ásia-Pacífico (Hong Kong), estão desabilitadas por padrão. Você deve habilitar essas regiões para sua(s) conta(s) para poder usá-las. Para obter informações consulte [Habilitar ou desabilitar Regiões da AWS na sua conta](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) no *Guia de referência do AWS Gerenciamento de contas*.

Para criar um StackSet em uma conta de administrador de StackSet (se estiver usando permissões autogerenciadas) ou em uma conta gerencial da organização (se estiver usando permissões gerenciadas pelo serviço) em uma região desabilitada por padrão, primeiro você deve habilitar essa região para a conta de administrador ou gerencial.

Para que o CloudFormation crie ou atualize com êxito uma instância de pilha:
+ A conta de destino deve residir em uma região atualmente habilitada para essa conta de destino.
+ A conta de administrador do StackSet ou a conta gerencial da organização deve estar com a mesma região habilitada que a conta de destino.

**Importante**  
Esteja ciente de que, durante as operações do StackSet, as contas de administrador e de destino trocam metadados referentes às próprias contas, bem como ao StackSet e às instâncias do StackSet envolvidas.  
Além disso, caso desabilite uma região que contém uma conta em que residem instâncias do StackSet, você será responsável por excluir essas instâncias ou recursos, se desejado. Além disso, esteja ciente de que os metadados relativos à conta de destino na região desabilitada serão retidos na conta de administrador.

# Conceder permissões autogerenciadas
<a name="stacksets-prereqs-self-managed"></a>

Este tópico fornece instruções sobre como criar os perfis de serviço do IAM requeridos pelo StackSets para a implantação em contas e em Regiões da AWS com permissões *autogerenciadas*. Esses perfis são necessários para estabelecer um relacionamento confiável entre a conta em que você está administrando o StackSet e a conta em que você está implantando instâncias de pilha. Usando esse modelo de permissões, o StackSets pode implantar em qualquer Conta da AWS na qual você tenha permissões para criar um perfil do IAM. 

Para usar permissões *gerenciadas pelo serviço*, consulte [Ativar o acesso confiável](stacksets-orgs-activate-trusted-access.md).

**Topics**
+ [Visão geral das permissões autogerenciadas](#prereqs-self-managed-permissions)
+ [Concessão de permissões para o gerenciamento de pilhas em todas as contas de destino a todos os usuários da conta do administrador](#stacksets-prereqs-accountsetup)
+ [Definir opções de permissões avançadas para operações de StackSets](#stacksets-prereqs-advanced-perms)
+ [Configurar chaves globais para atenuar problemas de confused deputy](#confused-deputy-mitigation)

## Visão geral das permissões autogerenciadas
<a name="prereqs-self-managed-permissions"></a>

Antes de criar um StackSet com permissões autogerenciadas, é necessário ter criado perfis de serviço do IAM em cada conta.

As etapas básicas são:

1. Determine qual Conta da AWS é a *conta do administrador*.

   Os StackSets serão criados nessa conta de administrador. Uma *conta de destino* é a conta em que você cria as pilhas individuais que pertencem a um StackSet.

1. Determine como você deseja estruturar as permissões para o StackSet.

   A configuração de permissões mais simples (e mais permissiva) é oferecer a *todos* os usuários e grupos na conta de administrador a capacidade de criar e atualizar *todos* os StackSets gerenciados por meio da conta. Se precisar de um controle mais refinado, defina permissões para especificar:
   + Quais usuários e grupos podem executar operações do StackSet em quais contas de destino.
   + Quais recursos os usuários e grupos podem incluir em seus StackSets.
   + Quais operações do StackSet os usuários e grupos específicos podem executar.

1. Crie as funções de serviço do IAM necessárias nas contas de administrador e de destino para definir as permissões desejadas. 

   Especificamente, os dois perfis necessários são:
   + **AWSCloudFormationStackSetAdministrationRole**: este perfil é implantado na conta do administrador.
   + **AWSCloudFormationStackSetExecutionRole**: este perfil é implantado em todas as contas nas quais você cria instâncias de pilha.

## Concessão de permissões para o gerenciamento de pilhas em todas as contas de destino a todos os usuários da conta do administrador
<a name="stacksets-prereqs-accountsetup"></a>

Esta seção mostra como configurar permissões para permitir que todos os usuários e os grupos da conta do administrador executem operações do StackSet em todas as contas de destino. A seção orientará você na criação dos perfis de serviço do IAM necessários nas contas de administrador e de destino. Qualquer pessoa que usa a conta do administrador pode criar, atualizar ou excluir pilhas em qualquer uma das contas de destino. 

Ao estruturar permissões dessa maneira, os usuários não passam um perfil de administração ao criar ou atualizar um StackSet.

![\[Qualquer usuário na conta de administrador poderá criar um StackSet nas contas de destino após criar uma relação de confiança.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/stacksets_perms_master_target.png)


------
#### [ Administrator account ]

Na conta do administrador, crie uma função do IAM denominada **AWSCloudFormationStackSetAdministrationRole**. 

É possível fazer isso ao criar uma pilha usando o modelo do CloudFormation disponível em [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetAdministrationRole.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetAdministrationRole.yml). 

**Example Exemplo de política de permissões**  
O perfil de administração criado pelo modelo disponibilizado anteriormente inclui a política de permissões apresentada a seguir.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/AWSCloudFormationStackSetExecutionRole"
      ],
      "Effect": "Allow"
    }
  ]
}
```

**Example Exemplo de política de confiança 1**  
O modelo disponibilizado anteriormente também inclui a política de confiança, apresentada a seguir, que concede ao serviço a permissão para usar o perfil de administração e as permissões anexadas ao perfil.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

**Example Exemplo de política de confiança 2**  
Para implantar instâncias de pilha em uma conta de destino que reside em uma região desabilitada por padrão, você também deverá incluir a entidade principal de serviço regional para essa região. Cada região desabilitada por padrão terá sua própria entidade principal de serviço regional.  
O exemplo de política de confiança apresentado a seguir concede ao serviço a permissão para usar o perfil de administração na região Ásia-Pacífico (Hong Kong) (`ap-east-1`), uma região que está desabilitada por padrão.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
            "cloudformation.amazonaws.com",
            "cloudformation.ap-east-1.amazonaws.com"
         ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```
Para obter mais informações, consulte [Preparar-se para realizar de operações de StackSets em Regiões da AWS desabilitadas por padrão](stacksets-opt-in-regions.md). Para obter uma lista de códigos de região, consulte [Regional endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) no *Referência geral da AWS Guide*.

------
#### [ Target accounts ]

Em cada conta de destino, crie uma função de serviço chamada **AWSCloudFormationStackSetExecutionRole** que confie na conta do administrador. Essa função deve ter esse nome exato. É possível fazer isso ao criar uma pilha usando o modelo do CloudFormation disponível em [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetExecutionRole.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetExecutionRole.yml). Ao usar este modelo, você será solicitado a fornecer o ID da conta do administrador com a qual sua conta de destino deve ter uma relação de confiança.

**Importante**  
Lembre-se de que este modelo concede acesso de administrador. Depois de usar o modelo para criar uma função de execução da conta de destino, você deve definir o escopo das permissões na declaração de política para os tipos de recursos que você criará usando o StackSets.

O perfil de serviço da conta de destino requer permissões para executar quaisquer operações especificadas no modelo do CloudFormation. Por exemplo, se o seu modelo estiver criando um bucket do S3, então você precisará de permissões para criar novos objetos para o S3. A conta de destino sempre precisa da concessão de permissões totais por parte do CloudFormation, que incluem permissões para criar, atualizar, excluir e descrever pilhas. 

**Example Exemplo 1 de política de permissões**  
A função criada por este modelo habilita a seguinte política em uma conta de destino.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*"
    }
  ]
}
```

**Example Exemplo 2 de política de permissões**  
O exemplo a seguir mostra uma declaração de política com as permissões *mínimas* para que o StackSets funcione. Para criar pilhas em contas de destino que usam recursos de serviços que são diferentes dos recursos usados pelo CloudFormation, é necessário adicionar essas ações e esses recursos de serviço à instrução de política **AWSCloudFormationStackSetExecutionRole** para cada conta de destino.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "cloudformation:*"
      ],
      "Resource": "*"
    }
  ]
}
```

**Example Exemplo de política de confiança**  
A seguinte relação de confiança é criada pelo modelo. O ID da conta do administrador é mostrado como *admin\$1account\$1id*.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```
Você pode configurar a relação de confiança de uma função de execução da conta de destino existente para confiar em uma função específica na conta do administrador. Se você excluir a função na conta de administrador e criar uma nova para substituí-la, deve configurar suas relações de confiança da conta de destino com a função da nova conta de administrador, representada por *admin\$1account\$1id* no exemplo anterior.

------

## Definir opções de permissões avançadas para operações de StackSets
<a name="stacksets-prereqs-advanced-perms"></a>

Se precisar de um controle mais refinado sobre os StackSets que os usuários e os grupos criam por meio de uma única conta de administrador, use perfis do IAM para especificar:
+ Quais usuários e grupos podem executar operações do StackSet em quais contas de destino.
+ Quais recursos os usuários e grupos podem incluir em seus StackSets.
+ Quais operações do StackSet os usuários e grupos específicos podem executar.

### Controlar quais usuários podem executar operações de StackSets em contas de destino específicas
<a name="stacksets-prereqs-multiadmin"></a>

Use os perfis de administração personalizados para controlar quais usuários e grupos podem executar operações de StackSets em diferentes contas de destino. Você pode querer controlar quais usuários da conta de administrador podem executar as operações de StackSets em quais contas de destino. Para fazer isso, crie uma relação de confiança entre cada conta de destino e uma função de administração personalizada específica, em vez de criar a função de serviço **AWSCloudFormationStackSetAdministrationRole** na própria conta de administrador. Você então ativa usuários e grupos específicos para usar o perfil de administração personalizado ao executar operações de StackSets em uma determinada conta de destino.

Por exemplo, você pode criar uma função A e uma função B na sua conta de administrador. Você pode conceder à função A permissões para acessar as contas de destino de 1 a 8. Você pode conceder à função B permissões para acessar as contas de destino de 9 a 16.

![\[Uma relação de confiança entre um perfil de administração personalizado e contas de destino que permite aos usuários criar um StackSet.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/stacksets_perms_admin_target.png)


A configuração das permissões necessárias envolve a definição de um perfil de administração personalizado, a criação de um perfil de serviço para a conta de destino e a concessão de permissão aos usuários para passar o perfil de administração personalizado ao executar as operações de StackSets.

Em geral, uma vez que você já tenha as permissões necessárias, é desta forma que funciona: ao criar um StackSet, o usuário deve especificar um perfil de administração personalizado. O usuário deve ter a permissão para transferir o perfil para o CloudFormation. Além disso, o perfil de administração personalizado deve ter uma relação de confiança com as contas de destino especificadas para o StackSet. O CloudFormation cria o StackSet e associa o perfil de administração personalizado a ele. Ao atualizar um StackSet, o usuário deve especificar um perfil de administração personalizado de forma explícita, mesmo que seja o mesmo perfil de administração personalizado usado anteriormente com esse StackSet. O CloudFormation usa esse perfil para atualizar a pilha, de acordo com os requisitos apresentados acima.

------
#### [ Administrator account ]

**Example Exemplo de política de permissões**  
Para cada StackSet, crie um perfil de administração personalizado com permissões para assumir o perfil de execução da conta de destino.   
O nome do perfil de execução da conta de destino deve ser semelhante para todas as contas de destino. Se o nome do perfil for **AWSCloudFormationStackSetExecutionRole**, o StackSets o usará automaticamente ao criar um StackSet. Se você especificar um nome de perfil personalizado, os usuários deverão fornecer o nome do perfil de execução ao criar um StackSet.  
Crie um [perfil de serviço do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) com um nome personalizado e a política de permissões apresentada a seguir. Nos exemplos abaixo, *custom\$1execution\$1role* refere-se ao perfil de execução nas contas de destino.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/custom_execution_role"
            ],
            "Effect": "Allow"
        }
    ]
}
```
Para especificar diversas contas em uma única instrução, separe-as usando vírgulas.  

```
"Resource": [
  "arn:aws:iam::target_account_id_1:role/custom_execution_role", 
  "arn:aws:iam::target_account_id_2:role/custom_execution_role"
]
```
É possível especificar todas as contas de destino ao usar um caractere curinga (\$1) em vez de um ID da conta.  

```
"Resource": [
  "arn:aws:iam::*:role/custom_execution_role"
]
```

**Example Exemplo de política de confiança 1**  
Você deve fornecer uma política de confiança para o perfil de serviço com a finalidade de definir quais entidades principais do IAM podem assumir o perfil.    
****  

```
{ 
  "Version":"2012-10-17",		 	 	  
  "Statement": [ 
    { 
      "Effect": "Allow", 
      "Principal": { 
        "Service": "cloudformation.amazonaws.com" 
      }, 
      "Action": "sts:AssumeRole" 
    } 
  ] 
}
```

**Example Exemplo de política de confiança 2**  
Para implantar instâncias de pilha em uma conta de destino que reside em uma região desabilitada por padrão, você também deverá incluir a entidade principal de serviço regional para essa região. Cada região desabilitada por padrão terá sua própria entidade principal de serviço regional.  
O exemplo de política de confiança apresentado a seguir concede ao serviço a permissão para usar o perfil de administração na região Ásia-Pacífico (Hong Kong) (`ap-east-1`), uma região que está desabilitada por padrão.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
            "cloudformation.amazonaws.com",
            "cloudformation.ap-east-1.amazonaws.com"
         ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```
Para obter mais informações, consulte [Preparar-se para realizar de operações de StackSets em Regiões da AWS desabilitadas por padrão](stacksets-opt-in-regions.md). Para obter uma lista de códigos de região, consulte [Regional endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) no *Guia de referência geral da AWS*.

**Example Exemplo de política para transferência do perfil**  
Você também precisa de uma política de permissões do IAM para os usuários do IAM que permita que o usuário passe o perfil de administração personalizado ao executar operações de StackSets. Para obter mais informações, consulte [Conceder a um usuário permissões para transmitir uma função a um produto da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html).  
No exemplo abaixo, *customized\$1admin\$1role* refere-se ao perfil de administração que o usuário precisa transferir.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetRole",
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/customized_admin_role"
    }
  ]
}
```

------
#### [ Target accounts ]

Em cada conta de destino, crie um perfil de serviço que tenha uma relação de confiança com o perfil de administração personalizado que você deseja usar com essa conta. 

O perfil da conta de destino requer permissões para executar quaisquer operações especificadas no modelo do CloudFormation. Por exemplo, se o seu modelo estiver criando um bucket do S3, você precisará de permissões para criar novos objetos no S3. A conta de destino sempre precisa da concessão de permissões totais por parte do CloudFormation, que incluem permissões para criar, atualizar, excluir e descrever pilhas.

O nome do perfil da conta de destino deve ser semelhante para todas as contas de destino. Se o nome do perfil for **AWSCloudFormationStackSetExecutionRole**, o StackSets o usará automaticamente ao criar um StackSet. Se você especificar um nome de perfil personalizado, os usuários deverão fornecer o nome do perfil de execução ao criar um StackSet.

**Example Exemplo de política de permissões**  
O exemplo a seguir mostra uma declaração de política com as permissões *mínimas* para que o StackSets funcione. Para criar pilhas em contas de destino que usam recursos de serviços que são diferentes dos recursos usados pelo CloudFormation, é necessário adicionar essas ações e esses recursos de serviço à política de permissões.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:*"
      ],
      "Resource": "*"
    }
  ]
}
```

**Example Exemplo de política de confiança**  
Você deve fornecer a política de confiança apresentada a seguir ao criar o perfil para definir a relação de confiança.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/customized_admin_role"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

### Controlar os recursos que os usuários podem incluir em StackSets específicos
<a name="stacksets-prereqs-executionrole"></a>

Use perfis de execução personalizados para controlar quais recursos de pilha os usuários e grupos podem incluir em seus StackSets. Por exemplo, você pode querer configurar um grupo que só pode incluir recursos relacionados ao Amazon S3 nos StackSets criados, enquanto outra equipe só pode incluir recursos do DynamoDB. Para fazer isso, você cria uma relação de confiança entre o perfil de administração personalizado para cada grupo e um perfil de execução personalizado para cada conjunto de recursos. O perfil de execução personalizado define quais recursos de pilha podem ser inclusos nos StackSets. O perfil de administração personalizado reside na conta do administrador, enquanto o perfil de execução personalizado reside em cada conta de destino em que você deseja criar StackSets usando os recursos definidos. Você então ativa usuários e grupos específicos para usar o perfil de administração personalizado ao executar operações de StackSets.

Por exemplo, é possível criar os perfis de administração personalizados A, B e C na conta do administrador. Usuários e grupos com permissão para usar o Perfil A podem criar StackSets que contêm os recursos de pilha especificamente listados no perfil de execução personalizado X, mas não aqueles nos perfis Y ou Z, ou os recursos não incluídos em qualquer perfil de execução.

![\[Uma relação de confiança entre um perfil de administrador personalizado e um perfil de execução personalizado em contas de destino, permitindo que os usuários criem um StackSet.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/stacksets_perms_admin_execution.png)


Ao atualizar um StackSet, o usuário deve especificar um perfil de administração personalizado de forma explícita, mesmo que seja o mesmo perfil de administração personalizado usado anteriormente com esse StackSet. O CloudFormation executa a atualização usando o perfil de administração personalizado especificado, desde que o usuário tenha as permissões para executar operações nesse StackSet.

Da mesma forma, o usuário também pode especificar uma função de execução personalizada. Se um perfil de execução personalizado for especificado, o CloudFormation usará esse perfil para atualizar a pilha, de acordo com os requisitos apresentados acima. Se o usuário não especificar um perfil de execução personalizado, o CloudFormation realizará a atualização usando o perfil de execução personalizado anteriormente associado ao StackSet, desde que o usuário tenha as permissões para executar operações nesse StackSet.

------
#### [ Administrator account ]

Crie um perfil de administração personalizado em sua conta de administrador, conforme detalhado em [Controlar quais usuários podem executar operações de StackSets em contas de destino específicas](#stacksets-prereqs-multiadmin). Inclua uma relação de confiança entre o perfil de administração personalizado e os perfis de execução personalizados que você deseja usar.

**Example Exemplo de política de permissões**  
O exemplo apresentado a seguir corresponde a uma política de permissões para **AWSCloudFormationStackSetExecutionRole** definido para a conta de destino, além de um perfil de execução personalizado.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Sid": "Stmt1487980684000",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole" 
      ],
      "Resource": [ 
        "arn:aws:iam::*:role/AWSCloudFormationStackSetExecutionRole",
        "arn:aws:iam::*:role/custom_execution_role" 
      ]
    } 
  ]
}
```

------
#### [ Target accounts ]

Nas contas de destino em que deseja criar seus StackSets, crie um perfil de execução personalizado que conceda permissões aos serviços e recursos que você deseja que os usuários e grupos possam incluir nos StackSets.

**Example Exemplo de política de permissões**  
O exemplo a seguir fornece as permissões mínimas para StackSets, junto com a permissão para criar tabelas do Amazon DynamoDB.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:*"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "dynamoDb:createTable"
      ],
      "Resource": "*"
    }
  ]
}
```

**Example Exemplo de política de confiança**  
Você deve fornecer a política de confiança apresentada a seguir ao criar o perfil para definir a relação de confiança.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/customized_admin_role"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

### Definir permissões para operações específicas de StackSets
<a name="stacksets-prereqs-iam-actions"></a>

Além disso, você pode definir permissões para quais usuários e grupos podem executar operações específicas do StackSet, como criação, atualização ou exclusão de StackSets ou instâncias de pilha. Para obter mais informações, consulte [Actions, resources, and condition keys for CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html) na *Service Authorization Reference*.

## Configurar chaves globais para atenuar problemas de confused deputy
<a name="confused-deputy-mitigation"></a>

“Confused deputy” é um problema de segurança no qual uma entidade sem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Na AWS, a personificação entre serviços pode resultar no problema do ‘confused deputy’. A personificação entre serviços pode ocorrer quando um serviço (o *serviço de chamada*) chama outro serviço (o *serviço chamado*). O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. Para evitar isso, a AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com entidades principais de serviço que receberam acesso aos recursos em sua conta.

Recomendamos usar as chaves de contexto de condição global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) nas políticas de recursos para limitar as permissões que o CloudFormation StackSets concede a outro serviço para o recurso. Se você utilizar ambas as chaves de contexto de condição global, o valor `aws:SourceAccount` e a conta `aws:SourceArn` no valor deverão utilizar o mesmo ID de conta quando utilizados na mesma instrução de política.

A maneira mais eficaz de se proteger do problema ‘confused deputy’ é usar a chave de contexto de condição global `aws:SourceArn` com o ARN completo do recurso. Se você não souber o ARN completo do recurso ou se especificar vários recursos, use a chave de condição de contexto global `aws:SourceArn` com curingas (`*`) para as partes desconhecidas do ARN. Por exemplo, `arn:aws:cloudformation::123456789012:*`. Sempre que possível, use `aws:SourceArn`, pois ela é mais específica. Use `aws:SourceAccount` apenas quando não puder determinar o ARN ou padrão de ARN correto.

Quando o StackSets assume a função de **Administração** na sua conta de **administrador**, ele preenche o ID dessa conta de **administrador** e nome do recurso da Amazon (ARN) do StackSets. Portanto, é possível definir condições para [chaves globais](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) `aws:SourceAccount` e `aws:SourceArn` nas relações de confiança para evitar [problemas de confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). O exemplo a seguir mostra como é possível usar as chaves de contexto de condição globais `aws:SourceArn` e `aws:SourceAccount` em StackSets para evitar o problema “confused deputy”.

------
#### [ Administrator account ]

**Example Chaves globais para `aws:SourceAccount` e `aws:SourceArn`**  
Ao usar o StackSets, defina as chaves globais `aws:SourceAccount` e `aws:SourceArn` na política de confiança **AWSCloudFormationStackSetAdministrationRole** para evitar problemas de confused deputy.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "111122223333"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:cloudformation:*:111122223333:stackset/*"
        }
      }
    }
  ]
}
```

**Example ARNs de StackSets**  
Especifique seus ARNs de StackSets associados para um controle mais definido.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudformation.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333",
                    "aws:SourceArn": [
                        "arn:aws:cloudformation:STACKSETS-REGION:111122223333:stackset/STACK-SET-ID-1",
                        "arn:aws:cloudformation:STACKSETS-REGION:111122223333:stackset/STACK-SET-ID-2"
                    ]
                }
            }
        }
    ]
}
```

------

# Ativar o acesso confiável para StackSets com o AWS Organizations
<a name="stacksets-orgs-activate-trusted-access"></a>

Este tópico fornece instruções sobre como ativar o acesso confiável com o AWS Organizations, que é requerido pelo StackSets para realizar implantações em contas e em Regiões da AWS usando permissões *gerenciadas pelo serviço*. Para usar permissões *autogerenciadas*, consulte [Conceder permissões autogerenciadas](stacksets-prereqs-self-managed.md).

Antes de criar um StackSet com permissões gerenciadas pelo serviço, você deve primeiro concluir as seguintes tarefas:
+ [Habilitar todos os recursos](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) no AWS Organizations. Apenas com os recursos de faturamento consolidado habilitados, não é possível criar um StackSet com permissões gerenciadas pelo serviço.
+ Ativa o acesso confiável com AWS Organizations. Essa ação permite que o CloudFormation crie um perfil vinculado ao serviço na conta de gerenciamento. Depois que o acesso confiável é ativado, quando você cria um StackSet com permissões gerenciadas pelo serviço, o CloudFormation cria tanto o perfil vinculado ao serviço necessário quanto um perfil de serviço denominado `stacksets-exec-*` nas contas de destino (membro).

  Com o acesso confiável ativado, a conta gerencial e as contas de administrador delegado podem criar e gerenciar StackSets gerenciados pelo serviço para sua organização.

Para ativar o acesso confiável, você deve ser um usuário administrador na conta de gerenciamento. Um *usuário administrador* é um usuário que tem todas as permissões em sua conta da Conta da AWS. Para obter mais informações, consulte [Criar um usuário administrador](https://docs.aws.amazon.com/accounts/latest/reference/getting-started-step4.html) no *Guia de administração do AWS Gerenciamento de contas*. Para obter recomendações para proteger a segurança da conta de gerenciamento, consulte [Práticas recomendadas para a conta de gerenciamento](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_best-practices_mgmt-acct.html) no *Manual do usuário do AWS Organizations*.

**Para ativar o acesso confiável**

1. Faça login na AWS como administrador da conta de gerenciamento e abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation).

1. No painel de navegação, escolha **StackSets**. Se o acesso confiável estiver desativado, um banner será exibido solicitando que você ative o acesso confiável.  
![\[Ativa o banner de acesso confiável.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/console-stacksets-enable-trusted-access-from-stacksets-list-new.png)

1. Escolha **Ativar acesso confiável**.

   O acesso confiável será ativado com êxito quando o banner a seguir for exibido.  
![\[Banner de acesso confiável ativado com sucesso.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/console-stackset-trusted-access-enabled-banner-new.png)
**nota**  
Ativar o acesso às organizações é o mesmo que Habilitar o acesso às organizações, e Desativar o acesso às organizações é o mesmo que Desabilitar o acesso às organizações. Esses termos foram atualizados com base nas diretrizes de marketing. 

**Para desativar o acesso confiável**  
Consulte [CloudFormation StackSets e AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html) no *Guia do usuário do AWS Organizations*.

Antes de desativar o acesso confiável com o AWS Organizations, você deve cancelar o registro de todos os administradores delegados. Para obter mais informações, consulte [Registro de um administrador delegado](stacksets-orgs-delegated-admin.md).

**nota**  
Para obter informações sobre o uso de operações de API em vez do console para ativar ou desativar o acesso confiável, consulte:  
[https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateOrganizationsAccess.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateOrganizationsAccess.html)
[https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeactivateOrganizationsAccess.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeactivateOrganizationsAccess.html)
[https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeOrganizationsAccess.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeOrganizationsAccess.html)

## Perfis vinculados ao serviço
<a name="stacksets-orgs-service-linked-roles"></a>

A conta de gerenciamento usa o perfil vinculado ao serviço **AWSServiceRoleForCloudFormationStackSetsOrgAdmin**. Você só poderá modificar ou excluir esse perfil se o acesso confiável com o AWS Organizations estiver desativado. 

Cada conta de destino usa um perfil vinculado ao serviço **AWSServiceRoleForCloudFormationStackSetsOrgMember**. Você poderá modificar ou excluir esse perfil apenas com duas condições: se o acesso confiável com o AWS Organizations estiver desativado ou se a conta for removida da organização de destino ou da unidade organizacional (UO).

Para mais informações, consulte [CloudFormation StackSetsAWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html) no * Guia do usuário do AWS Organizations*.

# Registrar uma conta de membro de administrador delegado
<a name="stacksets-orgs-delegated-admin"></a>

Além da conta gerencial da sua organização, as contas de membro com permissões de administrador delegado podem criar e gerenciar StackSets com permissões gerenciadas pelo serviço para a organização. Os StackSets com permissões gerenciadas pelo serviço são criados na conta gerencial, incluindo os StackSets criados por administradores delegados. Para ser registrado como administrador delegado para sua organização, sua conta de membro deve estar na organização. Para obter mais informações sobre o ingresso em uma organização, consulte [Inviting an Conta da AWS to join your organization](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_invites.html).

Sua organização pode ter até cinco administradores delegados registrados de uma só vez. Os administradores delegados podem optar por implantar em todas as contas da sua organização ou OUs específicas. O acesso confiável com o AWS Organizations deve ser ativado antes que os administradores delegados possam implantar em contas gerenciadas pelo Organizations. Para obter mais informações, consulte [Ativar o acesso confiável para StackSets com o AWS Organizations](stacksets-orgs-activate-trusted-access.md).

**Importante**  
Esteja ciente do seguinte:  
Os administradores delegados têm permissões completas para implantar em contas em sua organização. A conta gerencial não pode limitar as permissões de administrador delegado para implantar em UOs específicas ou para executar operações específicas do StackSet.
Certifique-se de que seus administradores delegados tenham permissões `organizations:ListDelegatedAdministrators` para evitar possíveis erros.

É possível registrar administradores delegados para sua organização nas seguintes regiões: Leste dos EUA (Ohio), Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Norte da Califórnia), Oeste dos EUA (Oregon), Ásia-Pacífico (Mumbai), Ásia-Pacífico (Seul), Ásia-Pacífico (Singapura), Ásia-Pacífico (Sydney), Ásia-Pacífico (Tóquio), Canadá (Central), Europa (Frankfurt), Europa (Irlanda), Europa (Londres), Europa (Paris), Europa (Estocolmo), Israel (Tel Aviv), América do Sul (São Paulo), AWS GovCloud (Leste dos EUA) e AWS GovCloud (Oeste dos EUA).

Você pode registrar e cancelar o registro de administradores delegados usando o [CloudFormation console](https://console.aws.amazon.com/cloudformation/), [ a AWS CLI](https://aws.amazon.com/cli/) ou [SDKs](https://aws.amazon.com/developer/tools/) da AWS.

## Para registrar um administrador delegado (console)
<a name="stacksets-orgs-register-delegated-admin-console"></a>

1. Faça login na AWS como administrador da conta gerencial e abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

1. No painel de navegação, escolha **StackSets**.

1. Em **Delegated administrators** (Administradores delegados), escolha **Register delegated administrator** (Registrar administrador delegado).

1. Na caixa de diálogo **Register delegated administrator** (Registrar administrador delegado), escolha **Register delegated administrator** (Registrar administrador delegado).

   A mensagem de sucesso indica que a conta de membro foi registrada com êxito como administrador delegado.

## Para cancelar o registro de um administrador delegado (console)
<a name="stacksets-orgs-deregister-delegated-admin-console"></a>

1. Faça login na AWS como administrador da conta gerencial e abra o console do CloudFormation em [https://console.aws.amazon.com/](https://console.aws.amazon.com/).

1. No painel de navegação, escolha **StackSets**.

1. Em **Delegated administrators** (Administradores delegados), selecione a conta que deseja cancelar o registro e escolha **Deregister** (Cancelar registro).

   A mensagem de sucesso indica que a conta de membro teve o registro cancelado de administrador delegado com êxito.

   Você pode registrar esta conta novamente a qualquer momento.

## Para registrar um administrador delegado do (AWS CLI)
<a name="stacksets-orgs-register-delegated-admin-cli"></a>

1. Abra a AWS CLI.

1. Execute o comando `register-delegated-administrator`.

   ```
   $ aws organizations register-delegated-administrator \
     --service-principal=member.org.stacksets.cloudformation.amazonaws.com \
     --account-id="memberAccountId"
   ```

1. Execute o comando `list-delegated-administrators` para verificar se a conta de membro especificada foi registrada com êxito como administrador delegado.

   ```
   $ aws organizations list-delegated-administrators \
     --service-principal=member.org.stacksets.cloudformation.amazonaws.com
   ```

## Para cancelar o registro de um administrador delegado (AWS CLI)
<a name="stacksets-orgs-deregister-delegated-admin-cli"></a>

1. Abra a AWS CLI.

1. Execute o comando `deregister-delegated-administrator`.

   ```
   $ aws organizations deregister-delegated-administrator \
     --service-principal=member.org.stacksets.cloudformation.amazonaws.com \
     --account-id="memberAccountId"
   ```

1. Execute o comando `list-delegated-administrators` para verificar se a conta de membro especificada foi cancelada com êxito como administrador delegado.

   ```
   $ aws organizations list-delegated-administrators \
     --service-principal=member.org.stacksets.cloudformation.amazonaws.com
   ```

   Você pode registrar esta conta novamente a qualquer momento.

# Começar a usar StackSets com um modelo de exemplo
<a name="stacksets-getting-started"></a>

Este tutorial ajudará você a começar a usar StackSets com o Console de gerenciamento da AWS. Ele vai orientar você na criação de um StackSet usando um modelo de exemplo. Você aprenderá a implantar pilhas em várias regiões, a monitorar as operações do StackSet e a visualizar os resultados.

Neste tutorial, você vai criar um StackSet que habilitará o AWS Config em sua Conta da AWS nas regiões Oeste dos EUA (Oregon) (`us-west-2`) e Leste dos EUA (Norte da Virgínia) (`us-east-1`). Com StackSets, você pode criar, atualizar ou excluir pilhas em várias contas e regiões com uma única operação, o que o torna a solução ideal para gerenciar a infraestrutura em grande escala. Embora este tutorial use uma única conta para simplificar, ele demonstra de forma eficaz os recursos multirregionais de StackSets. 

O modelo de exemplo está disponível no seguinte bucket do S3: [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml).

**nota**  
Os StackSets são gratuitos, mas você será cobrado pelos recursos da AWS que criar com eles, como o AWS Config neste tutorial. Para obter mais informações, consulte [Preços do AWS Config](https://aws.amazon.com/config/pricing/).

**Topics**
+ [Pré-requisitos](#stacksets-tutorial-prerequisites)
+ [Criar um StackSet com um modelo de exemplo do console](#stacksets-tutorial-create-stackset)
+ [Monitorar a criação de um StackSet](#stacksets-tutorial-monitor-creation)
+ [Visualizar os resultados do StackSet](#stacksets-tutorial-view-results)
+ [Atualizar seu StackSet](#stacksets-tutorial-update-stackset)
+ [Adicionar pilhas ao seu StackSet](#stacksets-tutorial-add-stacks)
+ [Limpeza](#stacksets-tutorial-clean-up)
+ [Próximas etapas](#stacksets-tutorial-next-steps)

## Pré-requisitos
<a name="stacksets-tutorial-prerequisites"></a>

Antes de começar este tutorial, certifique-se de ter cumprido os seguintes pré-requisitos:
+ Você deve ter configurado os perfis do IAM necessários para permissões autogerenciadas. Para criar um StackSet e implantar pilhas em uma única conta, você precisa dos seguintes perfis em sua conta:
  + `AWSCloudFormationStackSetAdministrationRole`
  + `AWSCloudFormationStackSetExecutionRole`

  Para obter instruções detalhadas sobre como configurar esses perfis, consulte [Conceder permissões autogerenciadas](stacksets-prereqs-self-managed.md).

## Criar um StackSet com um modelo de exemplo do console
<a name="stacksets-tutorial-create-stackset"></a>

**Para criar um StackSet que habilite o AWS Config**

1. Abra o [console do CloudFormation](https://console.aws.amazon.com/cloudformation/).

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

   Você pode escolher qualquer região compatível com StackSets. A região que você selecionar não afetará as regiões em que você pode implantar com seu StackSet.

1. No painel de navegação, escolha **StackSets**.

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

1. Em **Permissões**, escolha **Permissões de autoatendimento** e depois os perfis do IAM que você criou nos pré-requisitos.
   + Para o perfil de administrador do IAM, escolha **AWSCloudFormationStackSetAdministrationRole**.
   + Para o nome do perfil de execução do IAM, escolha **AWSCloudFormationStackSetExecutionRole**. 

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

1. Em **Selecionar um modelo de exemplo**, escolha o modelo **Habilitar AWS Config**. Em seguida, escolha **Próximo**.

   Esse modelo criará os recursos necessários para habilitar o AWS Config em sua conta, incluindo um gravador de configuração e um canal de entrega.

1. Na página **Especificar detalhes do StackSet**, em **Nome do StackSet**, insira **my-awsconfig-stackset**.

1. Em **Descrição do StackSet**, insira **A StackSet that enables Config across multiple Regions**.

1. Em **Parâmetros**, configure as configurações do AWS Config da seguinte forma:

   1. Em **Compatível com todos os tipos de recursos**, mantenha o valor padrão, **true**, para registrar todos os tipos de recursos compatíveis.

   1. Em **Incluir os tipos de recursos globais**, mantenha o valor padrão, **false**, para excluir os recursos globais, como os perfis do IAM.

   1. Deixe **Lista de tipos de recursos se nem todos forem compatíveis** definido como **<All>**.

   1. Em **A região que contém o recurso de perfil vinculado ao serviço de configuração**, substitua **<DeployToAnyRegion>** por **us-west-2**.

      Isso significa que o perfil vinculado ao serviço denominado `AWSServiceRoleForConfig` será criado apenas se houver uma pilha implantada na região Oeste dos EUA (Oregon). Você escolherá as regiões de implantação mais adiante neste procedimento.

   1. Em **Frequência de registro do gravador de configuração**, escolha gravação **DIÁRIA**.

1. Escolha **Próximo** para continuar.

1. Na página **Configurar opções do StackSet**, escolha **Adicionar nova tag** e adicione uma tag ao especificar um par de chave/valor:

   1. Em **Chave**, digite **Stage**.

   1. Em **Valor**, insira **Test**.

   As tags que você aplica aos StackSets são aplicadas a todos os recursos criados pelas suas pilhas.

1. Em **Configuração de execução**, escolha **Ativo** para habilitar o tratamento otimizado de operações do CloudFormation:
   + As operações não conflitantes são executadas simultaneamente para tempos de implantação mais rápidos.
   + As operações conflitantes são automaticamente colocadas em fila e processadas na ordem em que foram solicitadas.

   Quando há operações sendo executas ou na fila, o CloudFormation coloca na fila todas as operações recebidas, mesmo que elas não gerem conflitos. Você não pode alterar as configurações de execução durante esse período.

1. Escolha **Próximo**.

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

1. Em **Accounts (Contas)**, escolha **Deploy stacks in accounts (Implantar pilhas em contas)**.

1. Na caixa de texto, insira o ID da Conta da AWS.

1. Em **Especificar regiões**, selecione as seguintes regiões nesta ordem:

   1. Região Oeste dos EUA (Oregon) (`us-west-2`)

   1. Região Leste dos EUA (Norte da Virgínia) (`us-east-1`)

   Se necessário, 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 determina a ordem de implantação.

1. Em **Opções de implantação**, configure as seguintes configurações:

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

      Para implantações de várias contas, essa configuração significa que o CloudFormation implantará sua pilha em apenas uma conta de cada vez.

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

      Isso significa que nenhuma implantação de pilha poderá falhar em uma das suas regiões especificadas antes que o CloudFormation interrompa a implantação na região atual e cancele as implantações nas regiões restantes.

   1. Em **Simultaneidade de regiões**, escolha **Sequencial** (padrão).

      Essa configuração garante que o CloudFormation conclua as implantações em uma região antes de passar para a próxima.

   1. Em **Modo de simultaneidade**, mantenha o padrão de **Tolerância a falhas estrita**.

      Para implantações com várias contas, isso reduz o nível de simultaneidade da conta quando ocorrem falhas, permanecendo dentro da faixa de **Tolerância a falhas** \$11.

1. Escolha **Próximo**.

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

1. Quando estiver tudo pronto para criar seu StackSet, escolha **Enviar**.

## Monitorar a criação de um StackSet
<a name="stacksets-tutorial-monitor-creation"></a>

Depois de escolher **Enviar**, o CloudFormation começa a criar seu StackSet e a implantar pilhas nas regiões especificadas em sua conta. A página de detalhes do StackSet é aberta automaticamente, em que você pode monitorar o progresso da operação.

**Para monitorar a criação do StackSet**

1. Na página de detalhes do StackSet, a guia **Operações** é exibida por padrão, mostrando a operação atual em andamento.

1. O status da operação deve ser inicialmente `RUNNING`. O CloudFormation cria pilhas nas regiões que você especificou de acordo com as opções de implantação configuradas.

1. Para ver mais detalhes sobre a operação, selecione o ID da operação na lista.

1. Na página de detalhes da operação, você pode visualizar o status das instâncias de pilha que estão sendo criadas em cada região.

1. Aguarde até que o status da operação mude para `SUCCEEDED`, o que indica que o StackSet e todas as suas instâncias de pilha foram criados com êxito.

## Visualizar os resultados do StackSet
<a name="stacksets-tutorial-view-results"></a>

Depois que a criação do StackSet for concluída, você poderá visualizar as instâncias de pilha implantadas e verificar se o AWS Config foi habilitado em sua conta nas regiões especificadas.

**Para visualizar os resultados do StackSet**

1. Na página de detalhes do StackSet, escolha a guia **Instâncias de pilha**.

1. Você deve ver uma lista de instâncias de pilha que foram criadas em sua conta nas regiões especificadas. Cada instância de pilha deve ter um status `SUCCEEDED`, indicando que foi implantada com êxito.

1. Para verificar se o AWS Config está habilitado em sua conta, você pode verificar o console do AWS Config em cada uma das regiões implantadas.

## Atualizar seu StackSet
<a name="stacksets-tutorial-update-stackset"></a>

Depois de criar seu StackSet, você pode querer atualizá-lo para modificar os valores dos parâmetros ou adicionar mais regiões. Esta seção mostra como atualizar o parâmetro de frequência de gravação do AWS Config.

**Para atualizar seu StackSet**

1. Na página **StackSets**, selecione seu **my-awsconfig-stackset**.

1. Com o StackSet selecionado, escolha **Editar detalhes do StackSet** no menu **Ações**.

1. Na página **Escolher um modelo**, em **Pré-requisito - Preparar modelo**, escolha **Usar modelo atual**.

1. Escolha **Próximo**.

1. Na página **Especificar detalhes do StackSet**, em **Parâmetros**, encontre a **Frequência de registro do gravador de configuração** e altere-a de **DIÁRIA** para **CONTÍNUA**.

1. Escolha **Próximo**.

1. Na página **Configurar opções do StackSet**, deixe as configurações como estão e escolha **Avançar**.

1. Na página **Definir opções de implantação**, especifique o ID da sua conta e as mesmas regiões que você usou ao criar o StackSet.

1. Para **Opções de implantação**, mantenha as mesmas configurações de antes.

1. Escolha **Próximo**.

1. Na página **Analisar**, analise suas alterações e escolha **Enviar**.

1. O CloudFormation começa a atualizar seu StackSet. Você pode monitorar o progresso na guia **Operações** da página de detalhes do StackSet.

## Adicionar pilhas ao seu StackSet
<a name="stacksets-tutorial-add-stacks"></a>

Você pode adicionar mais pilhas ao seu StackSet implantando em regiões adicionais. Esta seção mostra como adicionar pilhas a uma nova região.

**Para adicionar pilhas ao seu StackSet**

1. Na página **StackSets**, selecione seu **my-awsconfig-stackset**.

1. Com o StackSet selecionado, escolha **Adicionar pilhas ao StackSet** no menu **Ações**.

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

1. Em **Contas**, escolha **Implantar pilhas em contas** e insira o ID da sua conta.

1. Em **Especificar regiões**, selecione uma nova região, como **Europa (Irlanda)** (`eu-west-1`).

1. Para **Opções de implantação**, mantenha as mesmas configurações de antes.

1. Escolha **Próximo**.

1. Na página **Especificar substituições**, deixe os valores da propriedade conforme especificados e escolha **Avançar**.

1. Na página **Review (Revisar)**, reveja suas escolhas e selecione **Submit (Enviar)**.

1. O CloudFormation começa a criar novas pilhas na região especificada. Você pode monitorar o progresso na guia **Operações** da página de detalhes do StackSet.

## Limpeza
<a name="stacksets-tutorial-clean-up"></a>

Para evitar cobranças por recursos indesejados do AWS Config, você deve fazer a limpeza excluindo as pilhas do seu StackSet, excluindo o próprio StackSet e removendo os perfis do IAM que você criou para este tutorial. Como todos os recursos são implantados em sua conta, a limpeza é simples.

**Para excluir pilhas do seu StackSet**

1. Na página **StackSets**, selecione seu **my-awsconfig-stackset**.

1. Com o StackSet selecionado, escolha **Excluir pilhas do StackSet** no menu **Ações**.

1. Na página **Definir opções de implantação**, em **Contas**, escolha **Implantar pilhas em contas** e insira o ID da sua conta.

1. Em **Especificar regiões**, selecione todas as regiões em que você implantou pilhas.

1. Em **Opções de implantação**, mantenha as configurações padrão.

1. Certifique-se de que **Reter pilhas** *não* esteja ativado, para que as pilhas e seus recursos sejam excluídos.

1. Escolha **Próximo**.

1. Na página **Review (Revisar)**, reveja suas escolhas e selecione **Submit (Enviar)**.

1. O CloudFormation começa a excluir as pilhas do seu StackSet. Você pode monitorar o progresso na guia **Operações** da página de detalhes do StackSet.

**Para excluir seu StackSet**

1. Depois que todas as pilhas tiverem sido excluídas, na página **StackSets**, selecione seu **my-awsconfig-stackset**.

1. Com o StackSet selecionado, escolha **Excluir StackSet** no menu **Ações**.

1. Quando a confirmação for solicitada, selecione **Excluir**.

**Para excluir os perfis de serviço do IAM**

Como você implantou somente na sua conta, você só precisará excluir os perfis do IAM dessa única conta, tornando a limpeza muito mais simples do que as implantações com várias contas.

1. Abra o [console do IAM](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Roles (Funções)**.

1. Na caixa de pesquisa, insira **AWSCloudFormationStackSet** para encontrar os perfis que você criou para este tutorial.

1. Marque a caixa de seleção ao lado de **AWSCloudFormationStackSetAdministrationRole**.

1. Escolha **Excluir** na parte superior da página.

1. Na caixa de diálogo de confirmação, insira **delete** e escolha **Excluir**.

1. Repita o mesmo processo para excluir o **AWSCloudFormationStackSetExecutionRole**.

Depois de excluir o StackSet, um bucket do Amazon S3 permanecerá em cada Região da AWS devido ao atributo `DeletionPolicy` no recurso `AWS::S3::Bucket`. Isso preserva seus dados de histórico do AWS Config. Se você não precisar mais desses dados, poderá excluir o bucket manualmente com segurança. Para excluir um bucket, primeiro exclua seu conteúdo. Esvaziar um bucket exclui todos os objetos nele contidos.

**Para esvaziar e excluir os buckets do Amazon S3**

1. Abra o [console Amazon S3](https://console.aws.amazon.com/s3/).

1. No painel de navegação, no lado esquerdo do console, selecione **Buckets**.

1. Na lista **Buckets**, você verá os buckets criados para esse StackSet em cada região em que você implantou. Selecione a opção ao lado do nome do bucket criado para esse StackSet e escolha **Esvaziar**.

1. Na página **Esvaziar bucket**, confirme se deseja esvaziar o bucket digitando **permanently delete** no campo de texto, depois escolha **Esvaziar**.

1. Monitore o andamento do processo de esvaziamento do bucket na página **Esvaziar bucket: status**. 

1. Para retornar à sua lista de buckets, escolha **Exit (Sair)**.

1. Selecione a opção ao lado do nome do bucket e escolha **Excluir**.

1. Quando for solicitada a confirmação, digite o nome do bucket e escolha **Excluir bucket**.

1. Monitore o andamento do processo de exclusão do bucket na lista **Buckets**. Quando o Amazon S3 conclui a exclusão do bucket, remove-o da lista.

1. Repita esse processo para cada bucket criado pelo StackSet nas diferentes regiões.

## Próximas etapas
<a name="stacksets-tutorial-next-steps"></a>

Parabéns\$1 Você criou com sucesso um StackSet usando um modelo de exemplo, implantou pilhas em várias regiões da sua conta, atualizou o StackSet, adicionou mais pilhas e limpou seus recursos. Ao se concentrar na implantação de uma única conta, você simplificou o processo de limpeza e, ao mesmo tempo, aprendeu os principais recursos multirregionais de StackSets.

Para saber mais sobre StackSets, confira os seguintes tópicos:
+ [Substituir valores de parâmetros nas pilhas do StackSet do CloudFormation](stackinstances-override.md): saiba como substituir valores de parâmetros para contas e regiões específicas.
+ [Criar CloudFormation StackSets com permissões gerenciadas pelo serviço](stacksets-orgs-associate-stackset-with-org.md): estude a criação de StackSets para implantações em várias contas com o AWS Organizations.

# Criar CloudFormation StackSets com permissões autogerenciadas
<a name="stacksets-getting-started-create-self-managed"></a>

Este tópico descreve como criar StackSets com permissões *autogerenciadas* para implantar pilhas em regiões e Contas da AWS. 

**nota**  
Antes de continuar, crie os perfis de serviço do IAM necessários para StackSets para estabelecer uma relação de confiança entre a conta em que você está administrando o StackSet e a conta em que você está implantando as pilhas. Para obter mais informações, consulte [Conceder permissões autogerenciadas](stacksets-prereqs-self-managed.md).

**Topics**
+ [Criar um StackSet com permissões autogerenciadas (console)](#stacksets-getting-started-create-self-managed-console)
+ [Criar um StackSet com permissões autogerenciadas (AWS CLI)](#stacksets-getting-started-self-managed-cli)

## Criar um StackSet com permissões autogerenciadas (console)
<a name="stacksets-getting-started-create-self-managed-console"></a>

**Para criar um StackSet**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

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

1. No painel de navegação, escolha **StackSets**.

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

1. Em **Permissões**, escolha **Permissões de autoatendimento** e depois os perfis do IAM que você criou.

1. Em **Pré-requisito: prepare o modelo**, escolha **O modelo está pronto**.

1. Em **Specify template (Especificar modelo)**, escolha especificar o URL para o bucket do S3 que contém o modelo de pilha ou fazer upload de um arquivo de modelo de pilha. Em seguida, escolha **Próximo**.

1. Na página **Especificar detalhes do StackSet**, forneça um nome para o StackSet, especifique quaisquer parâmetros e escolha **Avançar**.

1. Escolha **Próximo** para continuar.

1. Na página **Configure StackSet options (Configurar opções do StackSet)** em **Tags**, especifique todas as tags a serem aplicadas aos recursos em sua pilha. 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](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) no *Guia do usuário do Gerenciamento de Faturamento e Custos da AWS*.

1. Em **Configuração de execução**, escolha **Ativo** para habilitar o tratamento otimizado de operações do CloudFormation:
   + As operações não conflitantes são executadas simultaneamente para tempos de implantação mais rápidos.
   + As operações conflitantes são automaticamente colocadas em fila e processadas na ordem em que foram solicitadas.

   Quando há operações sendo executas ou na fila, o CloudFormation coloca na fila todas as operações recebidas, mesmo que elas não gerem conflitos. Você não pode alterar as configurações de execução durante esse período.

1. 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 obter mais informações, consulte [Confirmar recursos do IAM em modelos do CloudFormation](control-access-with-iam.md#using-iam-capabilities).

1. Escolha **Próximo**.

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

1. 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.
**nota**  
Você poderá incluir o ID da sua conta de administrador se quiser implantar pilhas nessa conta também.

1. Em **Especificar regiões**, escolha as regiões nas quais você deseja implantar as pilhas.

1. 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** \$11.
     + **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. 

1. Escolha **Próximo**.

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

1. Quando estiver tudo pronto para criar seu StackSet, escolha **Enviar**.

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

## Criar um StackSet com permissões autogerenciadas (AWS CLI)
<a name="stacksets-getting-started-self-managed-cli"></a>

Siga as etapas nesta seção para usar o AWS CLI para:
+ Crie o contêiner do StackSet.
+ Implante instâncias de pilha.

**Para criar um StackSet**

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html) para criar um novo StackSet chamado `my-stackset`. O exemplo a seguir usa um modelo armazenado em um bucket do S3 e inclui um parâmetro que define um `KeyPairName` com o valor `TestKey`. 

   ```
   aws cloudformation create-stack-set \
     --stack-set-name my-stackset \
     --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \
     --parameters ParameterKey=KeyPairName,ParameterValue=TestKey
   ```

1. Quando o comando **create-stack-set** estiver concluído, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html) para ver qual StackSet foi criado. Você verá seu novo StackSet nos resultados.

   ```
   aws cloudformation list-stack-sets
   ```

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html) para implantar pilhas em seu StackSet. O exemplo a seguir implanta pilhas em duas Contas da AWS (`account_ID_1` e `account_ID_2`) em duas regiões (`us-west-2` e `us-east-1`). 

   Defina o processamento simultâneo de contas e outras preferências de implantação usando a opção `--operation-preferences`. Este exemplo usa configurações baseadas em contagem. Observe que `MaxConcurrentCount` não deve exceder `FailureToleranceCount` \$1 1. Para configurações baseadas em porcentagem, use `FailureTolerancePercentage` ou `MaxConcurrentPercentage` em vez disso. 

   ```
   aws cloudformation create-stack-instances \
     --stack-set-name my-stackset \
     --accounts account_ID_1 account_ID_2 \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   Para obter mais informações, consulte [CreateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html) na *AWS CloudFormation API Reference*.

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) para verificar se suas pilhas foram criadas com êxito. Para a opção `--operation-id`, especifique o ID da operação que foi retornado como parte da saída **create-stack-instances**.

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

# Criar CloudFormation StackSets com permissões gerenciadas pelo serviço
<a name="stacksets-orgs-associate-stackset-with-org"></a>

Com permissões *gerenciadas pelo serviço*, você pode implantar pilhas em contas gerenciadas pelo AWS Organizations em regiões específicas. Com esse modelo, você não precisa criar perfis do IAM em cada conta de destino e Região da AWS. O CloudFormation cria os perfis do IAM em seu nome. Para obter mais informações, consulte [Ativar o acesso confiável](stacksets-orgs-activate-trusted-access.md).

**Topics**
+ [Considerações](#stacksets-orgs-considerations)
+ [Criar um StackSet com permissões gerenciadas pelo serviço (console)](#stacksets-orgs-associate-stackset-with-org-console)
+ [Criar um StackSet com permissões gerenciadas pelo serviço (AWS CLI)](#stacksets-orgs-associate-stackset-with-org-cli)

## Considerações
<a name="stacksets-orgs-considerations"></a>

Antes de criar um StackSet com permissões gerenciadas pelo serviço, considere o seguinte:
+ Os StackSets com permissões gerenciadas pelo serviço podem ser iniciados pela conta gerencial de sua organização ou por contas de administrador delegado, mas todas as operações são executadas pela conta gerencial.
+ O CloudFormation não implanta pilhas na conta gerencial, mesmo que essa conta faça parte da sua organização ou pertença a uma unidade organizacional (UO).
+ O StackSet pode ter como destino toda a sua organização (inclui todas as contas) ou UOs especificadas. Quando um StackSet tem uma UO pai como destino, ele inclui automaticamente qualquer UO filha. Por padrão, quando um StackSet tem como alvo UOs específicas, ele inclui todas as contas dentro dessas UOs. No entanto, você pode ter contas específicas como destino usando as opções de filtro de contas.
+ Vários StackSets podem ter como destino a mesma organização ou UO.
+ Não é possível ter contas de destino de fora da sua organização.
+ Sua autorização para implantar o StackSets depende das permissões atribuídas a entidade principal do IAM (usuário, perfil ou grupo) que você usa para fazer login na conta gerencial. Para obter um exemplo de política do IAM que concede permissões para implantar em uma organização, consulte [Restringir operações de conjunto de pilhas com base na região e nos tipos de recursos](security_iam_id-based-policy-examples.md#resource-level-permissions-service-managed-stack-set).
+ Os administradores delegados têm permissões completas para implantar em qualquer conta em sua organização. A conta gerencial não pode limitar as permissões de administrador delegado para implantar em UOs ou em operações do StackSet específicas.
+ As configurações de implantação automática se aplicam no nível do StackSet. Não é possível ajustar implantações automáticas seletivamente para OUs, contas ou regiões.
+ Os StackSets que usam permissões gerenciadas por serviços não oferecem suporte a pilhas ou modelos aninhados que contenham macros ou transformações.

## Criar um StackSet com permissões gerenciadas pelo serviço (console)
<a name="stacksets-orgs-associate-stackset-with-org-console"></a>

**Para criar um StackSet**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

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

1. No painel de navegação, escolha **StackSets**.

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

1. Em **Permissions (Permissões)**, escolha **Service-managed permissions (Permissões gerenciadas pelo serviço)**.
**nota**  
Se o acesso confiável com o AWS Organizations estiver desabilitado, será exibido um banner. É necessário o acesso confiável para criar ou atualizar um StackSet com permissões gerenciadas pelo serviço. Somente o administrador na conta de gerenciamento da organização tem permissões para [Ativar o acesso confiável para StackSets com o AWS Organizations](stacksets-orgs-activate-trusted-access.md).

1. Em **Pré-requisito: prepare o modelo**, escolha **O modelo está pronto**.

1. Em **Specify template (Especificar modelo)**, escolha especificar o URL para o bucket do S3 que contém o modelo de pilha ou fazer upload de um arquivo de modelo de pilha. Em seguida, escolha **Próximo**.

1. Na página **Especificar detalhes do StackSet**, forneça um nome para o StackSet, especifique quaisquer parâmetros e escolha **Avançar**.

1. Na página **Configure StackSet options (Configurar opções do StackSet)** em **Tags**, especifique todas as tags a serem aplicadas aos recursos em sua pilha. 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](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) no *Guia do usuário do Gerenciamento de Faturamento e Custos da AWS*.

1. Em **Configuração de execução**, escolha **Ativo** para habilitar o tratamento otimizado de operações do CloudFormation:
   + As operações não conflitantes são executadas simultaneamente para tempos de implantação mais rápidos.
   + As operações conflitantes são automaticamente colocadas em fila e processadas na ordem em que foram solicitadas.

   Quando há operações sendo executas ou na fila, o CloudFormation coloca na fila todas as operações recebidas, mesmo que elas não gerem conflitos. Você não pode alterar as configurações de execução durante esse período.

1. 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 obter mais informações, consulte [Confirmar recursos do IAM em modelos do CloudFormation](control-access-with-iam.md#using-iam-capabilities).

1. Escolha **Próximo** para continuar e habilitar o acesso confiável caso ainda não esteja habilitado.

1. Na página **Definir opções de implantação**, em **Destinos de implantação**, faça o seguinte:
   + Para implantar em todas as contas em sua organização, escolha **Implantar na organização**. 
   + Para implantar em todas as contas em OUs específicas, escolha **Implantar em unidades organizacionais (OUs)**. Escolha **Add an OU (Adicionar uma OU)** e cole o ID de destino na caixa de texto. Repita para cada nova OU de destino.

   Se você escolher **Implantar em unidades organizacionais (UOs)**, em **Tipo de filtro de conta**, você pode definir seus alvos de implantação como contas individuais específicas escolhendo uma das opções a seguir e fornecendo números de conta.
   + **Nenhuma** (padrão): implantar pilhas em todas as contas nas UOs especificadas.
   + **Interseção**: implantar pilhas apenas de determinadas contas individuais nas UOs selecionadas.
   + **Diferença**: implantar pilhas em todas as contas nas UOs selecionadas, exceto determinadas contas.
   + **União**: implantar pilhas nas UOs especificadas e também em contas individuais adicionais.

1. Em **Implantação automática**, escolha se implantará automaticamente em contas que serão adicionadas à organização de destino ou em UOs no futuro. Para obter mais informações, consulte [Habilite ou desabilite implantações automáticas de StackSets no AWS Organizations](stacksets-orgs-manage-auto-deployment.md).

1. Se você habilitou a implantação automática, em **Account removal behavior (Comportamento de remoção de conta)**, escolha se os recursos de pilha serão retidos ou excluídos quando uma conta for removida de uma organização ou OU de destino.
**nota**  
Com a opção **Reter pilhas** selecionada, as pilhas são removidas do StackSet, mas as pilhas e os recursos associados a elas são retidos. Os recursos permanecem em seu estado atual, mas não farão mais parte do StackSet.

1. Em **Especificar regiões**, escolha as regiões nas quais você deseja implantar as pilhas.

1. 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** \$11.
     + **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. 
   + Para dependências do **StackSet**, adicione ARNs dependentes do StackSet, permanecendo com dez dependências no máximo. Para obter mais informações, consulte [Habilite ou desabilite implantações automáticas de StackSets no AWS Organizations](stacksets-orgs-manage-auto-deployment.md).

1. Escolha **Próximo** para continuar.

1. Na página **Analisar**, verifique se o StackSet será implantado nas contas corretas nas regiões corretas e escolha **Criar StackSet**.

   A página **StackSet details (Detalhes do StackSet)** é aberta. Você pode visualizar o progresso e o status da criação das pilhas em seu StackSet.

## Criar um StackSet com permissões gerenciadas pelo serviço (AWS CLI)
<a name="stacksets-orgs-associate-stackset-with-org-cli"></a>

Siga as etapas nesta seção para usar o AWS CLI para:
+ Crie o contêiner do StackSet.
+ Implante instâncias de pilha.

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

------
#### [ Deploy to your organization ]

**Para criar um StackSet**

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html) para criar um novo StackSet chamado `my-stackset`. O exemplo a seguir usa um modelo armazenado em um bucket do S3, permite implantações automáticas e preserva as pilhas quando as contas são removidas. Para obter mais informações, consulte [Habilite ou desabilite implantações automáticas de StackSets no AWS Organizations](stacksets-orgs-manage-auto-deployment.md).

   ```
   aws cloudformation create-stack-set \
     --stack-set-name my-stackset \
     --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \
     --permission-model SERVICE_MANAGED \
     --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true,DependsOn=ARN1,ARN2
   ```

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html) para confirmar que seu StackSet foi criado. O novo StackSet é relacionado nos resultados.

   ```
   aws cloudformation list-stack-sets
   ```
   + Se você definir a opção `--call-as` como `DELEGATED_ADMIN` enquanto estiver na sua conta de membro, **list-stack-sets** retornará todas as pilhas com permissões gerenciadas pelo serviço na conta gerencial da organização.
   + Se você definir a opção `--call-as` como `SELF` enquanto estiver na sua Conta da AWS, **list-stack-sets** retornará todos os StackSets autogerenciados da sua Conta da AWS.
   + Se você definir a opção `--call-as` como `SELF` enquanto estiver na conta gerencial da organização, **list-stack-sets** retornará todas as pilhas da conta gerencial da organização.

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html) para adicionar pilhas ao seu StackSet. Para a opção `--deployment-targets`, especifique o ID raiz da organização para implantar em todas as contas da sua organização. 

   Defina o processamento simultâneo de contas e outras preferências de implantação usando a opção `--operation-preferences`. Este exemplo usa configurações baseadas em contagem. Observe que `MaxConcurrentCount` não deve exceder `FailureToleranceCount` \$1 1. Para configurações baseadas em porcentagem, use `FailureTolerancePercentage` ou `MaxConcurrentPercentage` em vez disso. 

   ```
   aws cloudformation create-stack-instances --stack-set-name my-stackset \
     --deployment-targets OrganizationalUnitIds=r-a1b2c3d4e5 \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   Para obter mais informações, consulte [CreateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html) na *AWS CloudFormation API Reference*.

1. Usando o `operation-id` que foi retornado como parte da saída de **create-stack-instances**, use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) a seguir para verificar se as pilhas foram criadas com êxito.

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

------
#### [ Deploy to organizational units (OUs) ]

**Para criar um StackSet**

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html) para criar um novo StackSet chamado `my-stackset`. O exemplo a seguir usa um modelo armazenado em um bucket do S3 e inclui um parâmetro que define um `KeyPairName` com o valor `TestKey`

   ```
   aws cloudformation create-stack-set \
     --stack-set-name my-stackset \
     --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \
     --permission-model SERVICE_MANAGED \
     --parameters ParameterKey=KeyPairName,ParameterValue=TestKey
   ```

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html) para confirmar que seu StackSet foi criado. O novo StackSet é relacionado nos resultados.

   ```
   aws cloudformation list-stack-sets
   ```
   + Se você definir a opção `--call-as` como `DELEGATED_ADMIN` enquanto estiver na sua conta de membro, **list-stack-sets** retornará todas as pilhas com permissões gerenciadas pelo serviço na conta gerencial da organização.
   + Se você definir a opção `--call-as` como `SELF` enquanto estiver na sua Conta da AWS, **list-stack-sets** retornará todos os StackSets autogerenciados da sua Conta da AWS.
   + Se você definir a opção `--call-as` como `SELF` enquanto estiver na conta gerencial da organização, **list-stack-sets** retornará todas as pilhas da conta gerencial da organização.

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html) para adicionar pilhas ao seu StackSet. Para a opção `--deployment-targets`, especifique os IDs das UOs nas quais implantar.

   Defina o processamento simultâneo de contas e outras preferências de implantação usando a opção `--operation-preferences`. Este exemplo usa configurações baseadas em contagem. Observe que `MaxConcurrentCount` não deve exceder `FailureToleranceCount` \$1 1. Para configurações baseadas em porcentagem, use `FailureTolerancePercentage` ou `MaxConcurrentPercentage` em vez disso. 

   ```
   aws cloudformation create-stack-instances --stack-set-name my-stackset \
     --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo,ou-rcuk-slr5lh0a \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   Para obter mais informações, consulte [CreateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html) na *AWS CloudFormation API Reference*.

1. Usando o `operation-id` que foi retornado como parte da saída de **create-stack-instances**, use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) a seguir para verificar se as pilhas foram criadas com êxito.

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

------
#### [ Deploy to specific accounts in OUs ]

Você pode ter unidades organizacionais (UOs) específicas como destino e usar a filtragem de contas para controlar com precisão quais contas recebem implantações de pilha. Por padrão, as pilhas serão implantadas em todas as contas dentro das UOs específicas se nenhuma filtragem de contas for especificada.

Na AWS CLI, você especifica a filtragem de contas com a opção `--deployment-targets`. Para obter mais informações, consulte [DeploymentTargets](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html).

Depois de criar o contêiner do StackSet com o comando **create-stack-set**, use um dos exemplos a seguir para implantar pilhas em contas específicas.

**Contas específicas como destino em uma UO**  
O exemplo a seguir implanta pilhas somente nas contas A1 e A2 na UO1.

```
aws cloudformation create-stack-instances --stack-set-name my-stackset \
  --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=INTERSECTION \
  --regions us-west-2 us-east-1
```

**Excluir contas de uma UO**  
O exemplo a seguir implanta pilhas em todas as contas na UO1, exceto nas contas A1 e A2.

```
aws cloudformation create-stack-instances --stack-set-name my-stackset \
  --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=DIFFERENCE \
  --regions us-west-2 us-east-1
```

------

# Habilite ou desabilite implantações automáticas de StackSets no AWS Organizations
<a name="stacksets-orgs-manage-auto-deployment"></a>

O CloudFormation pode implantar automaticamente pilhas adicionais em novas contas do AWS Organizations quando elas são adicionadas à organização ou às unidades organizacionais (UOs) de destino. Você pode habilitar implantações automáticas e escolher se as pilhas e seu recursos associados serão excluídos ou retidos quando as contas forem removidas das UOs de destino. Essas configurações podem ser modificadas a qualquer momento em StackSets que usam permissões gerenciadas pelo serviço.

## Como as implantações automáticas funcionam
<a name="stacksets-orgs-auto-deployment-example"></a>

Quando as implantações automáticas estão habilitadas, elas são acionadas quando as contas são adicionadas a uma organização ou UO de destino, removidas de uma organização ou UO de destino ou transferidas entre UOs de destino.

Por exemplo, considere `StackSet1`, que tem como destino `OU1` na região `us-east-1`, e `StackSet2`, que tem como destino `OU2` na região `us-east-1`. `OU1` contém `AccountA`. 

Se passarmos a `AccountA` da `OU1` para a `OU2` com as implantações automáticas habilitadas, o CloudFormation executará automaticamente uma operação de exclusão para remover a pilha `StackSet1` da `AccountA` e colocará na fila uma operação de criação que adicionará a pilha `StackSet2` à `AccountA`.

## Considerações
<a name="stacksets-orgs-auto-deployment-considerations"></a>

As seguintes considerações se aplicam quando implantações automáticas são usadas:
+ O recurso de implantações automáticas é habilitado no nível do StackSet. Não é possível ajustar implantações automáticas seletivamente para OUs, contas ou regiões.
+ Os valores de parâmetro substituídos só se aplicam às contas que estão atualmente nas UOs de destino e nas UOs a elas subordinadas. 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.
+ As implantações automáticas não consideram filtros de segmentação em nível de conta. Se você usar contas de destino específicas e habilitar implantações automáticas, o StackSet continuará a implantar em novas contas adicionadas na organização implantada. Para evitar implantações em contas recém-adicionadas, desabilite implantações automáticas. 
+ Gerenciamento de dependências: defina até 10 dependências por StackSet, com até 100 dependências por conta. Por exemplo, se você tiver cinco StackSets com cinco dependências cada, você terá 25 dependências contabilizando para o limite de 100 dependências. Você pode solicitar um aumento de limite pelo [console do Service Quotas](https://console.aws.amazon.com/servicequotas/home). As dependências são removidas quando os StackSets são excluídos ou as organizações são desativadas.
+ É recomendável habilitar a execução gerenciada ao usar implantações automáticas. A execução gerenciada permitirá que as operações de implantação automática em várias contas de destino sejam executadas simultaneamente em um StackSet, aumentando a velocidade de processamento, especialmente para organizações maiores.

## Habilitar ou desabilitar implantações automáticas (console)
<a name="stacksets-orgs-manage-auto-deployment-console"></a>

**Para habilitar ou desabilitar implantações automáticas**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

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

1. No painel de navegação, escolha **StackSets**.

1. Na página **StackSets**, selecione a opção ao lado do nome do StackSet a ser atualizado.

1. Escolha **Editar implantação automática** no menu **Ações**, no canto superior direito. 

1. Na caixa de diálogo que é aberta, faça o seguinte:

   1. Em **Implantação automática**, escolha **Ativada** ou **Desativada**.

   1. Em **Comportamento de remoção de conta**, escolha **Excluir pilhas** ou **Reter pilhas**. Os recursos retidos permanecerão em seu estado atual, mas não mais farão parte do StackSet.

   1. Para dependências do **StackSet**, adicione ARNs dependentes do StackSet, permanecendo com dez dependências no máximo.

1. Escolha **Salvar**.

## Habilitar ou desabilitar implantações automáticas (AWS CLI)
<a name="stacksets-orgs-manage-auto-deployment-cli"></a>

**Para habilitar ou desabilitar implantações automáticas**

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html) com a opção `--auto-deployment`.

   O comando a seguir habilita as implantações automáticas.

   ```
   aws cloudformation update-stack-set --stack-set-name my-stackset \
     --use-previous-template --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true,DependsOn=ARN1,ARN2
   ```

   Como alternativa, para desabilitar as implantações automáticas, especifique `Enabled=false` como o valor para a opção `--auto-deployment`, como no exemplo a seguir. 

   ```
   aws cloudformation update-stack-set --stack-set-name my-stackset \
     --use-previous-template --auto-deployment Enabled=false
   ```

1. Usando o ID da operação que foi retornado como parte da saída de **update-stack-set**, execute [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) para verificar se o StackSet foi atualizado com êxito.

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

# Atualizar o CloudFormation StackSets
<a name="stacksets-update"></a>

Você pode atualizar seu StackSet usando o console do CloudFormation ou a AWS CLI. 

Para adicionar e remover contas e regiões de um StackSet, consulte [Adicionar pilhas a StackSets](stackinstances-create.md) e [Excluir pilhas de StackSets](stackinstances-delete.md). Para substituir os valores dos parâmetros de uma pilha, consulte [Substituir parâmetros em pilhas](stackinstances-override.md). 

**Topics**
+ [Atualizar seu StackSet (console)](#stacksets-update-console)
+ [Atualizar seu StackSet (AWS CLI)](#stacksets-update-cli)

## Atualizar seu StackSet (console)
<a name="stacksets-update-console"></a>

**Para atualizar um StackSet**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

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

1. No painel de navegação, escolha **StackSets**.

1. Na página **StackSets**, selecione o StackSet que você deseja atualizar.

1. Com o StackSet selecionado, escolha **Editar detalhes do StackSet** no menu **Ações**.

1. Na página **Escolher um modelo**, atualize a seção **Permissões** conforme necessário ou vá para a próxima etapa.

1. Em **Pré-requisito: preparar o modelo**, escolha **Usar modelo atual** para usar o modelo atual ou **Substituir modelo atual** para especificar um URL do S3 para outro modelo ou fazer upload de um novo modelo.

1. Escolha **Próximo**.

1. Na página **Especificar detalhes do StackSet**, em **Descrição do StackSet**, atualize a descrição do StackSet conforme necessário.

1. Em **Parâmetros**, atualize os valores dos parâmetros conforme necessário.

1. Escolha **Próximo**.

1. Na página **Configurar opções do StackSet**, em **Tags**, modifique as tags conforme necessário. É possível adicionar, atualizar ou excluir tags. 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](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) no *Guia do usuário do Gerenciamento de Faturamento e Custos da AWS*.

1. Em **Configuração de execução**, é possível atualizar a configuração de execução conforme necessário. 
**nota**  
Lembre-se de que você não pode alterar as configurações de execução quando há operações em execução ou em fila.

1. 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 obter mais informações, consulte [Confirmar recursos do IAM em modelos do CloudFormation](control-access-with-iam.md#using-iam-capabilities).

1. Escolha **Próximo**.

1. Na página **Definir opções de implantação**, informe forneça as contas e regiões para a atualização.

   O CloudFormation implantará atualizações de 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.

   1. [Permissões autogerenciadas] Em **Contas**, **Locais de implantação**, escolha **Implantar pilhas em contas**. Cole os IDs das contas de destino usadas para criar o StackSet na caixa de texto, separando os números distintos com vírgulas. 

      [Permissões gerenciadas pelo serviço] Siga um destes procedimentos:
      + Escolha **Deploy to organizational units (OUs) (Implantar em unidades organizacionais (OUs))**. Insira as UOs de destino que você usou para criar seu StackSet.
      + Escolha **Deploy to accounts (Implantar em contas)**. Cole os IDs das UOs ou das contas de destino usados para criar seu StackSet.

   1. Em **Especificar regiões**, especifique a ordem na qual você deseja que o CloudFormation implemente suas atualizações.

   1. 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** \$11.
        + **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. 
      + [Permissões gerenciadas pelo serviço] Para **dependências** do StackSet, adicione ARNs dependentes do StackSet, permanecendo com dez dependências no máximo. Para obter mais informações, consulte [Habilite ou desabilite implantações automáticas de StackSets no AWS Organizations](stacksets-orgs-manage-auto-deployment.md).

   1. Escolha **Próximo** para continuar.

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

1. Quando estiver pronto para prosseguir, escolha **Enviar**.

   O CloudFormation começa a aplicar as atualizações ao seu StackSet e exibe a guia **Operações** da página de detalhes do StackSet. É possível visualizar o progresso e o status das operações de atualização na guia **Operations (Operações)**.

## Atualizar seu StackSet (AWS CLI)
<a name="stacksets-update-cli"></a>

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

1. 

**Para atualizar um StackSet**

   Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html) para fazer alterações no seu StackSet.

   Nos exemplos a seguir, vamos atualizar o StackSet usando a opção `--parameters`. Especificamente, alteramos a frequência de entrega do snapshot padrão para a configuração do canal de entrega de `TwentyFour_Hours` para `Twelve_Hours`. Como continuaremos a usar o modelo atual, adicionaremos a opção `--use-previous-template`.

   Defina o processamento simultâneo de contas e outras preferências de implantação usando a opção `--operation-preferences`. Esses exemplos usam configurações baseadas em contagem. Observe que `MaxConcurrentCount` não deve exceder `FailureToleranceCount` \$1 1. Para configurações baseadas em porcentagem, use `FailureTolerancePercentage` ou `MaxConcurrentPercentage` em vez disso. 

   [Permissões autogerenciadas] Para a opção `--accounts`, 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-stackset \
     --use-previous-template \
     --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours \
     --accounts account_ID_1 account_ID_2 \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   [Permissões gerenciadas pelo serviço] Na opção `--deployment-targets`, forneça o ID da raiz da organização ou os IDs das unidades organizacionais (UOs) às quais você deseja que a atualização se aplique.

   ```
   aws cloudformation update-stack-set --stack-set-name my-stackset \
     --use-previous-template \
     --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours \
     --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo,ou-rcuk-slr5lh0a \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   Para obter mais informações, consulte [UpdateStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) na *Referência de API do AWS CloudFormation*.

1. Verifique se o StackSet foi atualizado com êxito 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-set**.

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

# Adicionar pilhas ao CloudFormation StackSets
<a name="stackinstances-create"></a>

Ao criar um StackSet, você pode criar as pilhas para ele. O CloudFormation também permite que você adicione mais pilhas, para contas e regiões adicionais, a qualquer momento após o StackSet ser criado. É possível adicionar pilhas usando o console ou a AWS CLI do CloudFormation.

**Topics**
+ [Adicionar pilhas a um StackSet (console)](#stackinstances-create-console)
+ [Adicionar pilhas a um StackSet (AWS CLI)](#stackinstances-create-cli)

## Adicionar pilhas a um StackSet (console)
<a name="stackinstances-create-console"></a>

**Para adicionar pilhas a um StackSet**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

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

1. No painel de navegação, escolha **StackSets**. Na página StackSets, selecione o StackSet que você criou.

1. Com o StackSet selecionado, escolha **Adicionar pilhas ao StackSet** no menu **Ações**.

1. Adicione as seguintes informações à página **Definir opções de implantação**:

   1. Em **Adicionar pilhas ao StackSet**, escolha **Implantar novas pilhas**.

   1. Depois, faça o seguinte de acordo com sua configuração de permissões do StackSet:
      + [Permissões autogerenciadas] Em **Contas**, **Locais de implantação**, escolha **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] Em **Destinos de implantação**, faça o seguinte:
        + Escolha **Deploy to organization (Implantar na organização)** para implantar em todas as contas em sua organização.
        + Escolha **Deploy to organizational units (OUs) (Implantar em unidades organizacionais (OUs))** para implantar em todas as contas em OUs específicas. Escolha **Add another OU (Adicionar outra OU)** e cole o ID da OU de destino na caixa de texto. Repita para cada nova OU de destino. O CloudFormation também tem como destino as UOs secundárias dos destinos selecionados.
**nota**  
Se você adicionar uma UO que o StackSet já tem como destino, o CloudFormation criará novas pilhas em todas as contas da UO que ainda não tenham pilhas do StackSet (por exemplo, contas que foram adicionadas à UO depois que o StackSet foi criado e com implantações automáticas desabilitadas).

   1. Em **Especificar regiões**, especifique em quais Regiões da AWS implantar nas contas de destino especificadas na etapa anterior. 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.

   1. 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** \$11.
        + **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. 

   1. Escolha **Próximo**.

1. Na página **Specify Overrides (Especificar substituições)**, deixe os valores da propriedade conforme especificados. Você não substituirá nenhum valor de propriedade para as pilhas que criará. Escolha **Próximo**.

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

1. Quando estiver pronto para prosseguir, escolha **Enviar**.

   O CloudFormation começa a criar as pilhas. Visualize o progresso e o status da criação das pilhas em seu StackSet na página de detalhes do StackSet que é aberta ao escolher **Enviar**. Após a conclusão, as novas pilhas devem estar listadas na guia **Instâncias da pilha**.

## Adicionar pilhas a um StackSet (AWS CLI)
<a name="stackinstances-create-cli"></a>

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

**Para adicionar pilhas a um StackSet com permissões autogerenciadas**  
Use o comando de CLI de **create-stack-instances**. Na opção `--accounts`, forneça os IDs das contas em que você deseja criar pilhas.

```
aws cloudformation create-stack-instances --stack-set-name my-stackset \
  --accounts account_id --regions eu-west-1 us-west-2
```

**Para adicionar pilhas a um StackSet com permissões gerenciadas pelo serviço**  
Use o comando de CLI de **create-stack-instances**. Na opção `--deployment-targets`, forneça o ID da organização (raiz) ou os IDs das UOs em que você deseja criar pilhas. Por exemplo, comandos que têm como destino contas específicas, consulte [Criar um StackSet com permissões gerenciadas pelo serviço (AWS CLI)](stacksets-orgs-associate-stackset-with-org.md#stacksets-orgs-associate-stackset-with-org-cli).

```
aws cloudformation create-stack-instances --stack-set-name my-stackset \
  --deployment-targets OrganizationalUnitIds=ou-rcuk-r1qi0wl7 --regions eu-west-1 us-west-2
```

**nota**  
Se você adicionar uma UO que o StackSet já tem como destino, o CloudFormation criará novas pilhas em todas as contas da UO que ainda não tenham pilhas do StackSet (por exemplo, contas que foram adicionadas à UO depois que o StackSet foi criado e com implantações automáticas desabilitadas).

# Substituir valores de parâmetros nas pilhas do StackSet do CloudFormation
<a name="stackinstances-override"></a>

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](stackinstances-create.md).

**Topics**
+ [Substituir parâmetros em pilhas (console)](#stackinstances-override-console)
+ [Substituir parâmetros em pilhas (AWS CLI)](#stackinstances-override-cli)

## Substituir parâmetros em pilhas (console)
<a name="stackinstances-override-console"></a>

**Para substituir parâmetros de pilhas específicas**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

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

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

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

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

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

   1. 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** \$11.
        + **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. 

   1. Escolha **Próximo**.

1. 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**.

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

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

1. 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)
<a name="stackinstances-override-cli"></a>

**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 [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-instances.html) 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
   ```

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

# Excluir pilhas do CloudFormation StackSets
<a name="stackinstances-delete"></a>

É possível excluir pilhas de StackSets usando o console ou a AWS CLI do CloudFormation. 

**Topics**
+ [Excluir pilhas do seu StackSet (console)](#stackinstances-delete-console)
+ [Excluir pilhas do StackSet (AWS CLI)](#stackinstances-delete-cli)

**nota**  
Excluir pilhas de uma unidade organizacional (UO) do nível superior removerá essa UO como um destino do StackSet.

## Excluir pilhas do seu StackSet (console)
<a name="stackinstances-delete-console"></a>

**Para excluir pilhas**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

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

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

1. Com o StackSet selecionado, escolha **Excluir pilhas do StackSet** no menu **Ações**.

1. Na página **Definir opções de implantação**, primeiro escolha as contas e as regiões nas quais você deseja excluir as pilhas.

   1. [Permissões autogerenciadas] Em **Contas**, escolha **Implantar pilhas em contas** ou **Implantar pilhas em unidades organizacionais**.

      Se você escolher **Implantar pilhas em contas**, cole os números das contas de destino na caixa de texto **Números das contas**, separando os números com vírgulas.

      Se você escolher **Implantar pilhas em unidades organizacionais**, cole a ID da OU de destino na caixa de texto **Números da organização** para que todas as contas da organização especificada sejam destino da implantação.

   1. [Permissões gerenciadas pelo serviço] Em **Unidades organizacionais (UOs),** especifique os IDs das UOs de destino. 
**Importante**  
O CloudFormation excluirá as pilhas das UOs de destino especificadas e das OUs subordinadas a elas.

      Em **Tipo de filtro da conta**, você pode refinar de quais contas as pilhas serão excluídas escolhendo uma das opções a seguir e fornecendo os números das contas. 
      + **Nenhuma** (padrão): excluir as pilhas de todas as contas da UOs especificadas.
      + **Interseção**: excluir as pilhas apenas de determinadas contas individuais das UOs selecionadas.
      + **Diferença**: excluir as pilhas de todas as contas das UOs selecionadas, exceto determinadas contas.
      + **União**: excluir as pilhas das UOs especificadas e também de contas individuais adicionais.

   1. Em **Especificar regiões**, escolha as regiões das quais você deseja excluir as pilhas das contas de destino.

1. 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 **Reter pilhas**, habilite esta opção para salvar as pilhas e os recursos a elas associados ao removê-las do StackSet. Os recursos permanecem em seu estado atual, mas não fazem mais parte do StackSet.
   + 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** \$11.
     + **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. 

1. Escolha **Próximo**.

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

1. Quando estiver tudo pronto para remover as pilhas do StackSet, escolha **Enviar**.

   Após a exclusão de pilhas ser concluída, é possível verificar se as pilhas foram excluídas do StackSet na página de detalhes do StackSet, na guia **Instâncias de pilha**.

## Excluir pilhas do StackSet (AWS CLI)
<a name="stackinstances-delete-cli"></a>

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

Use o comando **delete-stack-instances** com o nome do StackSet.

Nestes exemplos, usamos a opção `--no-retain-stacks` porque não vamos reter nenhuma pilha. Use `--retain-stacks` em vez de `--no-retain-stacks` se quiser manter as pilhas e seus recursos. 

Em `--regions`, especifique as Regiões da AWS das quais você deseja excluir pilhas, por exemplo, `us-west-2` e `us-east-1`.

Defina o processamento simultâneo de contas e outras preferências usando a opção `--operation-preferences`. Esses exemplos usam configurações baseadas em contagem. Observe que `MaxConcurrentCount` não deve exceder `FailureToleranceCount` \$1 1. Para configurações baseadas em porcentagem, use `FailureTolerancePercentage` ou `MaxConcurrentPercentage` em vez disso. 

**Para excluir pilhas (permissões autogerenciadas)**  
Na opção `--accounts`, especifique os IDs das contas das quais as pilhas serão excluídas.

```
aws cloudformation delete-stack-instances --stack-set-name my-stackset \
  --accounts account_ID_1 account_ID_2 \
  --regions us-west-2 us-east-1 \
  --no-retain-stacks \
  --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
```

**Para excluir pilhas (permissões gerenciadas pelo serviço)**  
Em `--deployment-targets`, especifique o ID raiz da organização ou os IDs das unidades organizacionais (UOs) das quais as pilhas serão excluídas.

**Importante**  
O CloudFormation excluirá as pilhas das UOs de destino especificadas e das OUs subordinadas a elas.

```
aws cloudformation delete-stack-instances --stack-set-name my-stackset \
  --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5jlwo,ou-rcuk-slr5lh0a \ 
  --regions us-west-2 us-east-1 \
  --no-retain-stacks \
  --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
```

Para obter mais informações, consulte [DeleteStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html) na *AWS CloudFormation API Reference*.

Opcionalmente, após a exclusão das pilhas ser concluída, verifique se as pilhas foram excluídas do StackSet executando o comando **describe-stack-set-operation** para mostrar o status e os resultados da operação de exclusão de pilhas. Em `--operation-id`, use o ID de operação que foi retornado pelo comando **delete-stack-instances**.

```
aws cloudformation describe-stack-set-operation --stack-set-name my-stackset \
  --operation-id ddf16f54-ad62-4d9b-b0ab-3ed8e9example
```

# Excluir CloudFormation StackSets
<a name="stacksets-delete"></a>

Para excluir um StackSet, você deve excluir primeiro todas as pilhas do StackSet. Para obter informações sobre como excluir todas as pilhas, consulte [Excluir pilhas de StackSets](stackinstances-delete.md).

**Topics**
+ [Excluir um StackSet (console)](#stacksets-delete-set)
+ [Excluir um StackSet (AWS CLI)](#stacksets-delete-set-cli)
+ [Excluir funções de serviço (opcional)](#stacksets-delete-roles)

## Excluir um StackSet (console)
<a name="stacksets-delete-set"></a>

**Para excluir um StackSet**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

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

1. Na página **StackSets**, selecione o StackSet.

1. Com o StackSet selecionado, escolha **Excluir StackSet** no menu **Ações**.

1. Quando for solicitado a confirmar que você deseja excluir o StackSet, escolha a opção **Excluir StackSet**.

## Excluir um StackSet (AWS CLI)
<a name="stacksets-delete-set-cli"></a>

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

**Para excluir um StackSet**

1. Use o seguinte comando **delete-stack-set**. Quando for solicitado, digite **y** e, em seguida, pressione **Enter** para confirmar.

   ```
   aws cloudformation delete-stack-set --stack-set-name my-stackset
   ```

1. Verifique se o StackSet foi excluído executando o comando **list-stack-sets**. Os resultados do comando list-stack-sets devem mostram sua pilha com status `DELETED`.

   ```
   aws cloudformation list-stack-sets
   ```

## Excluir funções de serviço (opcional)
<a name="stacksets-delete-roles"></a>

Se os perfis de serviço do IAM exigidos pelo CloudFormation para realizar operações de StackSets não forem mais necessários, recomendamos excluí-los.

*Para StackSets autogerenciados*, os perfis que você criou. Para obter mais informações sobre esses perfis, consulte [Conceder permissões autogerenciadas](stacksets-prereqs-self-managed.md).

*Para StackSets gerenciados pelo serviço*, os perfis que foram criados automaticamente para StackSets têm o sufixo `CloudFormationStackSetsOrgAdmin` na conta gerencial da organização e `CloudFormationStackSetsOrgMember` em todas as contas de destino. Para obter mais informações, consulte [Perfis vinculados ao serviço](stacksets-orgs-activate-trusted-access.md#stacksets-orgs-service-linked-roles).

**Para excluir um perfil de serviço (console)**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Perfis** e marque a caixa de seleção ao lado da função que deseja excluir.

1. No menu **Ações da função**, na parte superior da página, escolha **Excluir função**.

1. Na caixa de diálogo de confirmação, escolha **Yes, Delete**. Se você tiver certeza, prossiga com a exclusão, mesmo se os dados do último acesso ao serviço ainda estiverem sendo carregados.

**Para excluir um perfil de serviço (AWS CLI)**
+ Use o seguinte comando **delete-role**. Quando a confirmação for solicitada, digite **y** e, em seguida, pressione Enter.

  ```
  aws iam delete-role --role-name role name
  ```

Para obter mais informações sobre como excluir perfis, consulte [Excluir funções ou perfis de instância](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) no *Guia do usuário do IAM*.

# Evitar implantações de StackSets com falha usando portas de conta de destino
<a name="stacksets-account-gating"></a>

Uma porta de conta é um recurso opcional que ajuda você a verificar se uma conta de destino atende a determinados requisitos antes que o CloudFormation comece a executar operações de StackSets nessa conta. Essa verificação é realizada por meio de uma função do AWS Lambda que atua como uma verificação de pré-requisito.

Um exemplo comum de um portão de conta é a verificação de que não há alarmes do CloudWatch ativos ou não resolvidos na contas de destino. O CloudFormation invoca a função do Lambda toda vez que você inicia as operações de pilha na conta de destino, e só continua se a função retorna um código `SUCCEEDED`. Se a função do Lambda retornar um status `FAILED`, o CloudFormation não continuará a operação solicitada. Se você não tiver uma função do Lambda com uma porta de conta configurada, o CloudFormation vai ignorar a verificação e continuar com a operação.

Se a sua conta de destino falhar em uma verificação de portão de conta, a operação com falha entrará na contabilização do número ou porcentagem especificado de falhas toleradas em pilhas. Para obter mais informações sobre tolerância a falhas, consulte [Opções de operação de StackSets](stacksets-concepts.md#stackset-ops-options).

O portão de conta está disponível somente para operações do StackSets. Esse recurso não está disponível para outras operações do CloudFormation fora do StackSets.

## Requisitos
<a name="stacksets-accountgating_reqs"></a>

Os seguintes requisitos devem ser atendidos para a liberação da conta:
+ Sua função do Lambda deve ser nomeada `AWSCloudFormationStackSetAccountGate` para usar esse recurso.
+ A **AWSCloudFormationStackSetExecutionRole** precisa de permissões para invocar sua função do Lambda. Sem essas permissões, o CloudFormation ignora a verificação da liberação da conta e continua com as operações de pilha.
+ A permissão `InvokeFunction` do Lambda deve ser adicionada às contas de destino para que o portão de conta funcione. A política de confiança da conta de destino deve ter uma relação de confiança com a conta do administrador. Veja a seguir um exemplo de instrução de política que concede as permissões de `InvokeFunction` do Lambda.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "lambda:InvokeFunction"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------

## Modelos do CloudFormation para a criação de funções do Lambda
<a name="stacksets-sample-accountgate"></a>

Use os modelos de exemplo a seguir para criar funções `AWSCloudFormationStackSetAccountGate` do Lambda. Para criar uma nova pilha usando um desses modelos, consulte [Criar uma pilha no console do CloudFormation](cfn-console-create-stack.md).


|  Local do modelo  |  Descrição  | 
| --- | --- | 
|  [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateSucceeded.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateSucceeded.yml)  |  Cria uma pilha que implementa uma função Lambda de portão de conta que retornará o status `SUCCEEDED`.  | 
|  [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateFailed.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateFailed.yml)  |  Cria uma pilha que implementa uma função Lambda de portão de conta que retornará o status `FAILED`.  | 

# Escolher o modo de simultaneidade para o CloudFormation StackSets
<a name="concurrency-mode"></a>

O **Modo de simultaneidade** é um parâmetro para [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_StackSetOperationPreferences.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_StackSetOperationPreferences.html) que permite que você escolha como o nível de simultaneidade se comporta durante as operações de StackSets. Você pode escolher entre os seguintes modos:
+ **Alta tolerância a falhas**: essa opção reduz dinamicamente o nível de simultaneidade para garantir que o número de contas com falha nunca exceda o valor de **Tolerância a falhas** \$11. A simultaneidade real inicial é definida como o menor valor do **Máximo de contas simultâneas** ou o valor de **Tolerância a falhas** \$11. A simultaneidade real é então reduzida proporcionalmente pelo número de falhas. Esse é o comportamento padrão.
+ **Tolerância moderada a falhas**: essa opção desacopla a **Tolerância a falhas** da simultaneidade real. Isso permite que as operações de StackSets sejam executadas no nível de simultaneidade definido pelo valor de **Máximo de contas simultâneas**, independentemente do número de falhas.

A **Tolerância a falhas estrita** reduz a velocidade de implantação à medida que ocorrem falhas na operação do StackSet porque a simultaneidade diminui para cada falha. A **Tolerância moderada a falhas** prioriza a velocidade de implantação e, ao mesmo tempo, aproveita os recursos de segurança do CloudFormation. Isso permite que você analise e resolva falhas de operação do StackSet relacionadas a problemas comuns, como as relacionadas a recursos, cotas de serviço e permissões existentes.

Para obter mais informações sobre falhas na operação de pilha do StackSets, consulte [Motivos comuns de falha na operação da pilha](stacksets-troubleshooting.md#common-reasons-for-stack-operation-failure).

Para obter mais informações sobre o **Máximo de contas simultâneas** e a **Tolerância a falhas**, consulte [Opções de operação de StackSets](stacksets-concepts.md#stackset-ops-options).

## Como cada Modo de Simultaneidade funciona
<a name="concurrency-mode-example"></a>

As imagens abaixo fornecem uma representação visual de como cada **Modo de simultaneidade** funciona durante uma operação de StackSet. A sequência de nós representa uma implantação em uma única Região da AWS e cada nó é uma Conta da AWS de destino.

**Alta tolerância a falhas**  
Quando uma operação de StackSet usando a **Tolerância a falhas estrita** tem o valor de **Tolerância a falhas** definido como 5 e o valor de **Máximo de contas simultâneas** definido como 10, a simultaneidade real é 6. A simultaneidade real é 6 porque o valor de **Tolerância a falhas** de 5 \$11 é menor do que o valor do **Máximo de contas simultâneas**.  
A imagem abaixo mostra o impacto que o valor da **Tolerância a falhas** tem no valor de **Máximo de contas simultâneas**, e o impacto que ambos têm na simultaneidade real da operação do StackSet:  

![\[Uma operação de StackSet usando a tolerância a falhas estrita. A tolerância a falhas é 5, a conta simultânea máxima é 10 e a simultaneidade é 6.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-1.png)

Quando a implantação começa e há instâncias de pilha com falha, a simultaneidade real é reduzida para fornecer uma experiência de implantação segura. A simultaneidade real é reduzida de 6 para 5 quando o StackSets falha ao implantar uma instância de pilha.  

![\[A operação de StackSet usando a Tolerância a falhas estrita tem duas implantações com êxito e uma falha.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-2.png)


![\[A operação de StackSet usando Tolerância a falhas estrita reduziu a simultaneidade real para cinco, agora que há uma falha.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-3.png)

O modo **Alta tolerância a falhas** reduz a simultaneidade real proporcionalmente ao número de instâncias de pilha com falha. No exemplo a seguir, a simultaneidade real é reduzida de 5 para 3 quando o StackSets falha ao implantar mais duas instâncias de pilha, elevando o total de instâncias de pilha com falha para três.  

![\[A operação de StackSet usando a Tolerância a falhas estrita agora tem três implantações com falha. A simultaneidade foi reduzida para 3.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-4.png)

O StackSets falha na operação de StackSets quando o número de instâncias de pilha com falha é igual ao valor definido de **Tolerância a falhas** \$11. No exemplo a seguir, o StackSets falha na operação quando há seis instâncias de pilha com falha e o valor de **Tolerância a falhas** é 5.  

![\[A operação de StackSet usando a Tolerância a falhas estrita agora tem seis implantações com falha. A operação do StackSet falha.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-5.png)

Neste exemplo, o CloudFormation implantou nove instâncias de pilha (três com êxito e seis com falha) antes de interromper a operação do StackSet.

**Tolerância moderada a falhas**  
Quando uma operação de StackSet usando a **Tolerância moderada a falhas** tem o valor de **Tolerância a falhas** definido como 5 e o valor de **Máximo de contas simultâneas** definido como 10, a simultaneidade real é 10.  

![\[Uma operação de StackSet com Tolerância moderada a falhas. A tolerância a falhas é de 5 contas simultâneas máximas e a simultaneidade real é de 10.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-1.png)

Quando a implantação começa e há instâncias de pilha com falha, a simultaneidade real não muda. No exemplo a seguir, uma operação de pilha falhou, mas a simultaneidade real permanece em 10.  

![\[A operação do StackSet com Tolerância moderada a falhas encontra a primeira falha. A simultaneidade real permanece em 10.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-2.png)

A simultaneidade real permanece em 10, mesmo após mais duas falhas na instância de pilha.  

![\[A operação do StackSet com Tolerância moderada a falhas agora tem dois com êxito e três falhas, mas a simultaneidade real ainda é 10.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-3.png)

O StackSets falha na operação de StackSets quando o número de instâncias de pilha com falha excede o valor de **Tolerância a falhas**. No exemplo a seguir, o StackSets falha na operação quando há seis instâncias de pilha com falha e a contagem de **Tolerância a falhas** é 5. No entanto, a operação não terminará até que as operações restantes na fila de simultaneidade terminem.  

![\[A operação do StackSet com Tolerância moderada a falhas atinge seis falhas, mas deve concluir o que resta na fila de simultaneidade.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-4.png)

O StackSets continua a implantar instâncias de pilha que já estão na fila de simultaneidade. Isso significa que o número de instâncias de pilha com falha pode ser maior do que a **Tolerância a falhas**. No exemplo a seguir, há oito instâncias de pilha com falha porque a fila de simultaneidade ainda tinha sete operações a serem executadas, embora a operação do StackSet tivesse atingido a **Tolerância a falhas** de cinco.  

![\[A operação do StackSet tem um total de oito falhas porque tinha sete implantações restantes na fila depois de atingir o limite de falhas.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-5.png)

Neste exemplo, o StackSets implantou 15 instâncias de pilha (sete com êxito e oito com falha) antes de interromper a operação da pilha.

## Escolha entre Alta tolerância a falhas e Tolerância moderada a falhas com base na velocidade de implantação
<a name="concurrency-mode-comparison"></a>

Escolher entre **Tolerância a falhas estrita** e **Tolerância moderada a falhas** depende da velocidade de preferência da implantação do StackSet e do número permitido de falhas de implantação.

As tabelas a seguir mostram como cada modo de simultaneidade lida com uma operação de StackSet que falha ao tentar implantar um total de mil instâncias de pilha. Em cada cenário, o valor de **Tolerância a falhas** é definido como 100 instâncias de pilha e o valor **Máximo de contas simultâneas** é definido como 250 instâncias de pilha.

Embora o StackSets realmente coloque as contas em fila como uma janela deslizante (consulte [Como cada Modo de Simultaneidade funciona](#concurrency-mode-example)), este exemplo mostra a operação em lotes para demonstrar a velocidade de cada modo.

### Alta tolerância a falhas
<a name="concurrency-mode-comparison-strict"></a>

Este exemplo usando o modo de **Alta tolerância a falhas** reduz a simultaneidade real em relação ao número de falhas que ocorrem em cada lote anterior. Cada lote tem vinte instâncias com falha, o que reduz a simultaneidade real do lote seguinte em vinte até que a operação do StackSet atinja o valor de **Tolerância a falhas** de cem.

Na tabela a seguir, a simultaneidade real inicial do primeiro lote é de 101 instâncias de pilha. A simultaneidade real é 101 porque é o valor mais baixo do **Máximo de contas simultâneas** (250) e da **Tolerância a falhas** (100) \$11. Cada lote contém 20 implantações de instâncias de pilha com falha, o que reduz a simultaneidade real de cada lote seguinte em 20 instâncias de pilha.


| **Alta tolerância a falhas** | **Lote 1** | **Lote 2** | **Lote 3** | **Lote 4** | **Lote 5** | **Lote 6** | 
| --- | --- | --- | --- | --- | --- | --- | 
| Contagem real de simultaneidade | 101 | 81 | 61 | 41 | 21 | - | 
| Contagem de instâncias com falha | 20 | 20 | 20 | 20 | 20 | - | 
| Contagem de instâncias de pilha com êxito  | 81 | 61 | 41 | 21 | 1 | - | 

A operação usando a **Tolerância a falhas estrita** concluiu 305 implantações de instâncias de pilha em cinco lotes no momento em que a operação do StackSet atingiu a **Tolerância a falhas** de cem instâncias de pilha. A operação do StackSet implanta com êxito 205 instâncias de pilha antes de falhar.

### Tolerância moderada a falhas
<a name="concurrency-mode-comparison-soft"></a>

Este exemplo usando o modo de **Tolerância moderada a falhas** mantém a mesma contagem real de simultaneidade definida pelo valor **Máximo de contas simultâneas** de 250 instâncias de pilha, independentemente do número de instâncias com falha. As operações do StackSet mantêm a mesma simultaneidade real até atingir o valor de **Tolerância a falhas** de cem instâncias.

Na tabela a seguir, a simultaneidade real inicial do primeiro lote é de 250 instâncias de pilha. A simultaneidade real é 250 porque o valor do **Máximo de contas simultâneas** está definido como 250 e o modo **Tolerância moderada a falhas** permite que o StackSets use esse valor como a simultaneidade real, independentemente do número de falhas. Embora haja 50 falhas em cada um dos lotes neste exemplo, a simultaneidade real permanece inalterada.


| **Tolerância moderada a falhas** | **Lote 1** | **Lote 2** | **Lote 3** | **Lote 4** | **Lote 5** | **Lote 6** | 
| --- | --- | --- | --- | --- | --- | --- | 
| Contagem real de simultaneidade | 250 | 250 | - | - | - | - | 
| Contagem de instâncias com falha | 50 | 50 | - | - | - | - | 
| Contagem de instâncias de pilha com êxito  | 200 | 200 | - | - | - | - | 

Usando o mesmo valor de **Máximo de contas simultâneas** e **Tolerância a falhas**, a operação usando o modo **Tolerância moderada a falhas** concluiu 500 implantações de instâncias de pilha em dois lotes. A operação do StackSet implanta com êxito 400 instâncias de pilha antes de falhar.

## Escolher o modo de simultaneidade (console)
<a name="concurrency-mode-console"></a>

Ao criar ou atualizar um StackSet, na página **Definir opções de implantação**, em **Modo de simultaneidade**, escolha **Tolerância a falhas estrita** ou **Tolerância moderada a falhas**.

## Escolher o modo de simultaneidade (AWS CLI)
<a name="concurrency-mode-cli"></a>

Você pode usar o parâmetro `ConcurrencyMode` com os seguintes comandos do StackSets:
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack-instances.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/detect-stack-set-drift.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/detect-stack-set-drift.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/import-stacks-to-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/import-stacks-to-stack-set.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-instances.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html)

Esses comandos têm um parâmetro existente chamado `--operation-preferences` que pode usar a configuração `ConcurrencyMode`. O `ConcurrencyMode` pode ser definido com um dos seguintes valores:
+ `STRICT_FAILURE_TOLERANCE`
+ `SOFT_FAILURE_TOLERANCE`

O exemplo a seguir cria uma instância de pilha usando o `ConcurrencyMode` `STRICT_FAILURE_TOLERANCE` com `FailureToleranceCount` definida como 10 e `MaxConcurrentCount` definida como 5.

```
aws cloudformation create-stack-instances \
  --stack-set-name example-stackset \
  --accounts 123456789012 \
  --regions eu-west-1  \
  --operation-preferences ConcurrencyMode=STRICT_FAILURE_TOLERANCE,FailureToleranceCount=10,MaxConcurrentCount=5
```

**nota**  
Para obter os procedimentos detalhados de criação e atualização de um StackSet, consulte os seguintes tópicos:  
[Criar StackSets (permissões autogerenciadas)](stacksets-getting-started-create-self-managed.md)
[Criar um conjunto de pilhas (permissões gerenciadas pelo serviço)](stacksets-orgs-associate-stackset-with-org.md)
[Atualizar StackSets](stacksets-update.md)

# Detectar desvios em StackSets do CloudFormation
<a name="stacksets-drift"></a>

Mesmo que você gerencie as pilhas e seus respectivos recursos usando o CloudFormation, os usuários poderão alterar esses recursos fora do CloudFormation. Os usuários podem editar recursos diretamente usando o serviço subjacente que os criou. Ao realizar a detecção de desvios em um StackSet, você pode determinar se existem instâncias da pilha pertencentes ao StackSet que sejam diferentes ou apresentem *desvios* com relação à configuração esperada.

**Topics**
+ [Como o CloudFormation executa a detecção de desvios em um StackSet](#stacksets-drift-how)
+ [Detectar desvios em um StackSet (console)](#stacksets-drift-console-procedure)
+ [Detectar desvios em um StackSet (AWS CLI)](#stacksets-drift-cli-procedure)
+ [Como interromper a detecção de desvios em um StackSet](#stacksets-drift-stop)

## Como o CloudFormation executa a detecção de desvios em um StackSet
<a name="stacksets-drift-how"></a>

Quando o CloudFormation executa a detecção de desvios em um StackSet, ele a executa na pilha associada a cada instância de pilha no StackSet. Para isso, o CloudFormation compara o estado atual de cada recurso na pilha com o estado esperado desse recurso, conforme definido no modelo da pilha e em todos os parâmetros de entrada especificados. Se o estado atual de um recurso for diferente do estado esperado, esse recurso será considerado como contendo desvios. Se um ou mais recursos em uma pilha apresentarem desvios, a própria pilha será considerada como contendo desvios e as instâncias da pilha às quais a pilha está associada também serão consideradas como contendo desvios. Se uma ou mais instâncias da pilha em um StackSet apresentarem desvios, o próprio StackSet será considerado como contendo desvios.

A detecção de desvios identifica alterações não gerenciadas; ou seja, as alterações feitas nas pilhas fora do CloudFormation. As alterações feitas diretamente em uma pilha por meio do CloudFormation, em vez de no nível do StackSet, não são consideradas como desvios. Por exemplo, suponha que você tenha uma pilha que está associada a uma instância de pilha de um StackSet. Se você usar o CloudFormation para atualizar essa pilha a fim de usar um modelo diferente, isso não será considerado um desvio, mesmo que essa pilha tenha um modelo diferente das outras pilhas pertencentes ao StackSet. Isso ocorre porque a pilha ainda corresponderá ao modelo esperado e à configuração do parâmetro no CloudFormation.

Para obter informações detalhadas sobre como o CloudFormation realiza a detecção de desvios em uma pilha, consulte [Detectar alterações de configuração não gerenciadas em pilhas e recursos com detecção de desvios](using-cfn-stack-drift.md).

Como o CloudFormation executa a detecção de desvios individualmente em cada pilha, ele considera todos os valores de parâmetros substituídos ao determinar se uma pilha está com desvios. Para saber mais sobre como substituir parâmetros de modelos em instâncias de pilhas, consulte [Substituir valores de parâmetros nas pilhas do StackSet do CloudFormation](stackinstances-override.md).

Caso execute a detecção de desvios [diretamente em uma pilha](using-cfn-stack-drift.md) que esteja associada a uma instância de pilha, esses resultados de desvios não estarão disponíveis na página do console **StackSets** (Conjunto de pilhas).

## Detectar desvios em um StackSet (console)
<a name="stacksets-drift-console-procedure"></a>

**Para detectar desvios em um StackSet**

1. Abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na página **StackSets**, selecione o StackSet em que deseja executar a detecção de desvios.

1. No menu **Actions (Ações)**, selecione **Detect drifts (Detectar desvios)**.

   O CloudFormation exibe uma barra de informações que declara que a detecção de desvios foi iniciada para o StackSet selecionado.

1. Opcional: para monitorar o progresso da operação de detecção de desvios:

   1. Selecione o nome do StackSet para exibir a página **Detalhes do StackSet**.

   1. Selecione a guia **Operations (Operações)**, selecione a operação de detecção de desvios e selecione **View drift details (Visualizar detalhes do desvio)**.

   O CloudFormation exibe a caixa de diálogo **Operation details** (Detalhes da operação).

1. Aguarde até que o CloudFormation conclua a operação de detecção de desvios. Quando a operação de detecção de desvios for concluída, o CloudFormation atualizará o **Status do desvio** e o **Tempo da última verificação de desvios** do seu StackSet. Esses campos estão listados na guia **Visão geral** da página **Detalhes do StackSet** do StackSet selecionado.

   A operação de detecção de desvios pode levar algum tempo, dependendo do número de instâncias de pilha e do número de recursos incluídos no StackSet. Você só pode executar uma operação de detecção de desvios por vez em um determinado StackSet. O CloudFormation continua a operação de detecção de desvios mesmo depois de você descartar a barra de informações.

1. Para analisar os resultados de detecção de desvios para as instâncias de pilha em um StackSet, selecione a guia **Instâncias de pilha**.

   A coluna **Stack name (Nome da pilha)** lista o nome da pilha associada a cada instância de pilha e a coluna **Drift status (Status de desvio)** lista o status do desvio da pilha. Considera-se que uma pilha foi desviada se um ou mais de seus recursos foram desviados.

1. Para revisar os resultados da detecção de desvios da pilha associada a uma instância de pilha específica:

   1. Escolha a guia **Operações**.

   1. Selecione a operação de desvio para a qual você deseja visualizar os resultados da detecção de desvio. Um painel dividido exibirá o status da instância da pilha e o motivo da operação selecionada. Para uma operação de desvio, a coluna de motivo do status mostra o status do desvio de uma instância de pilha.

   1. Escolha a instância de pilha para a qual você deseja visualizar os detalhes do desvio e escolha **Exibir desvios de recursos**. Na tabela **Status de desvios de recursos**, na página **Desvios de recursos**, cada recurso de pilha é listado com seu status de desvio dele e a última vez em que a detecção de desvios foi iniciada no recurso. O ID lógico e o ID físico de cada recurso são exibidos para ajudar você a identificá-los.

1. É possível classificar os recursos com base em seus status de desvio usando a coluna **Drift status (Status de desvio)**.

   Para visualizar os detalhes em um recurso modificado:

   1. Com o recurso selecionado, escolha **Visualizar detalhes de desvio**.

     O CloudFormation exibirá a página de detalhes de desvios desse recurso em particular. Esta página lista as diferenças do recurso. Ela também lista os valores de propriedade esperados e atuais do recurso.
**nota**  
Se a pilha pertencer a uma região e conta diferentes daquela em que você está conectado atualmente, o botão **Detectar desvio** será desabilitado e você não poderá ver os detalhes.

## Detectar desvios em um StackSet (AWS CLI)
<a name="stacksets-drift-cli-procedure"></a>

Para detectar desvios em uma pilha inteira usando a AWS CLI, use o seguinte procedimento:

**Para detectar desvios em um StackSet**

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/detect-stack-set-drift.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/detect-stack-set-drift.html) para detectar desvios em todo o StackSet e nas instâncias de pilha associadas.

   O exemplo a seguir inicia a detecção de desvios no StackSet `stack-set-drift-example`.

   ```
   aws cloudformation detect-stack-set-drift \
       --stack-set-name stack-set-drift-example
   ```

   Resultado:

   ```
   {
       "OperationId": "c36e44aa-3a83-411a-b503-cb611example"
   }
   ```

1. Como as operações de detecção de desvios em um StackSet podem demorar, use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) para monitorar o status da operação de desvios. Esse comando usa o ID da operação do StackSet retornado pelo comando **detect-stack-set-drift**.

   Os exemplos a seguir usam o ID da operação do exemplo anterior para retornar informações sobre a operação de detecção de desvios do StackSet. Neste exemplo, a operação ainda está em andamento. Das sete instâncias de pilha associadas a esse StackSet, uma instância de pilha já foi detectada como com desvio, duas instâncias estão sincronizadas e a detecção de desvios para as outras quatro instâncias de pilha ainda está em andamento. Como uma instância está com desvio, o status de desvio do próprio StackSet está agora como `DRIFTED`.

   ```
   aws cloudformation describe-stack-set-operation \
       --stack-set-name stack-set-drift-example \
       --operation-id c36e44aa-3a83-411a-b503-cb611example
   ```

   Resultado:

   ```
   {
       "StackSetOperation": {
           "Status": "RUNNING",
           "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole",
           "OperationPreferences": {
               "RegionOrder": []
           },
           "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole",
           "StackSetDriftDetectionDetails": {
               "DriftedStackInstancesCount": 1,
               "TotalStackInstancesCount": 7,
               "LastDriftCheckTimestamp": "2019-12-04T20:34:28.543Z",
               "InSyncStackInstancesCount": 2,
               "InProgressStackInstancesCount": 4,
               "DriftStatus": "DRIFTED",
               "FailedStackInstancesCount": 0
           },
           "Action": "DETECT_DRIFT",
           "CreationTimestamp": "2019-12-04T20:33:13.673Z",
           "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22example",
           "OperationId": "c36e44aa-3a83-411a-b503-cb611example"
       }
   }
   ```

   Ao executar o mesmo comando posteriormente, este exemplo mostra as informações retornadas após a operação de detecção de desvios ter sido concluída. Duas das sete instâncias de pilha associadas a esse StackSet estão com desvio, renderizando o status de desvio do próprio StackSet como `DRIFTED`.

   ```
   aws cloudformation describe-stack-set-operation \
       --stack-set-name stack-set-drift-example \
       --operation-id c36e44aa-3a83-411a-b503-cb611example
   ```

   Resultado:

   ```
   {
       "StackSetOperation": {
           "Status": "SUCCEEDED",
           "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole",
           "OperationPreferences": {
               "RegionOrder": []
           } 
           "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole",
           "EndTimestamp": "2019-12-04T20:37:32.829Z",
           "StackSetDriftDetectionDetails": {
               "DriftedStackInstancesCount": 2,
               "TotalStackInstancesCount": 7,
               "LastDriftCheckTimestamp": "2019-12-04T20:36:55.612Z",
               "InSyncStackInstancesCount": 5,
               "InProgressStackInstancesCount": 0,
               "DriftStatus": "DRIFTED",
               "FailedStackInstancesCount": 0
           },
           "Action": "DETECT_DRIFT",
           "CreationTimestamp": "2019-12-04T20:33:13.673Z",
           "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22example",
           "OperationId": "c36e44aa-3a83-411a-b503-cb611example"
       }
   }
   ```

1. Quando a operação de detecção de desvios do StackSet estiver concluída, use os comandos **describe-stack-set**, **list-stack-instances**, **describe-stack-instance** e **list-stack-instance-resource-drifts** para analisar os resultados.

   O comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set.html) inclui as mesmas informações detalhadas de desvios retornadas pelo comando **describe-stack-set-operation**.

   ```
   aws cloudformation describe-stack-set \
       --stack-set-name stack-set-drift-example
   ```

   Resultado:

   ```
   {
       "StackSet": {
           "Status": "ACTIVE",
           "Description": "Demonstration of drift detection on stack sets.",
           "Parameters": [],
           "Tags": [
               {
                   "Value": "Drift detection",
                   "Key": "Feature"
               }
           ], 
           "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole",
           "Capabilities": [],
           "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole",
           "StackSetDriftDetectionDetails": {
               "DriftedStackInstancesCount": 2,
               "TotalStackInstancesCount": 7,
               "LastDriftCheckTimestamp": "2019-12-04T20:36:55.612Z",
               "InProgressStackInstancesCount": 0,
               "DriftStatus": "DRIFTED",
               "DriftDetectionStatus": "COMPLETED",
               "InSyncStackInstancesCount": 5,
               "FailedStackInstancesCount": 0
           },
           "StackSetARN": "arn:aws:cloudformation:us-east-1:123456789012:stackset/stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22example",
           "TemplateBody": [details omitted],
           "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22ebexample",
           "StackSetName": "stack-set-drift-example"
       }
   }
   ```

   Você pode usar o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-instances.html) para retornar informações resumidas sobre as instâncias de pilha associadas a um StackSet, incluindo o status de desvio de cada instância de pilha.

   Neste exemplo, executar **list-stack-instances** no StackSet de exemplo com o filtro de status de desvio definido como `DRIFTED` permite identificar quais duas instâncias de pilha têm um status de desvio de `DRIFTED`.

   ```
   aws cloudformation list-stack-instances \
       --stack-set-name stack-set-drift-example \
       --filters Name=DRIFT_STATUS,Values=DRIFTED
   ```

   Resultado:

   ```
   {
   "Summaries": [
           {
   "StackId": "arn:aws:cloudformation:eu-west-1:123456789012:stack/StackSet-stack-set-drift-example-b0fb6083-60c0-4e39-af15-2f071e0db90c/0e4f0940-16d4-11ea-93d8-0641cexample",
               "Status": "CURRENT",
               "Account": "012345678910",
               "Region": "eu-west-1",
               "LastDriftCheckTimestamp": "2019-12-04T20:37:32.687Z",
               "DriftStatus": "DRIFTED",
               "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22eexample",
               "LastOperationId": "c36e44aa-3a83-411a-b503-cb611example"
           },
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/StackSet-stack-set-drift-example-b7fde68e-e541-44c2-b33d-ef2e2988071a/008e6030-16d4-11ea-8090-12f89example",
               "Status": "CURRENT",
               "Account": "123456789012",
               "Region": "us-east-1",
               "LastDriftCheckTimestamp": "2019-12-04T20:34:28.275Z",
               "DriftStatus": "DRIFTED",
               "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22eexample",
               "LastOperationId": "c36e44aa-3a83-411a-b503-cb611example"
           },
           
           [additional stack instances omitted]
    
       ]
   }
   ```

   O comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-instance.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-instance.html) também retorna essas informações, mas para uma única instância da pilha, como no exemplo abaixo.

   ```
   aws cloudformation describe-stack-instance \
       --stack-set-name stack-set-drift-example \
       --stack-instance-account 012345678910 --stack-instance-region us-east-1
   ```

   Resultado:

   ```
   {
       "StackInstance": {
           "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/StackSet-stack-set-drift-example-b7fde68e-e541-44c2-b33d-ef2e2988071a/008e6030-16d4-11ea-8090-12f89example",
           "Status": "CURRENT",
           "Account": "123456789012",
           "Region": "us-east-1",
           "ParameterOverrides": [],
           "DriftStatus": "DRIFTED",
           "LastDriftCheckTimestamp": "2019-12-04T20:34:28.275Z",
           "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22eexample",
           "LastOperationId": "c36e44aa-3a83-411a-b503-cb611example"
       }
   }
   ```

1. Após identificar as instâncias de pilha em que ocorreram desvios, você pode usar as informações sobre as instâncias de pilhas retornadas pelos comandos **list-stack-instances** ou **describe-stack-instance** para executar o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-instance-resource-drifts.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-instance-resource-drifts.html). Este comando retorna as informações detalhadas sobre quais recursos na pilha apresentam desvios para uma operação de desvio em particular.

   O exemplo a seguir usa o parâmetro `--stack-instance-resource-drift-statuses` para solicitar informações de desvio de pilha para os recursos que foram modificados ou excluídos no exemplo de operação de desvio anterior. A solicitação retorna informações sobre o único recurso que foi modificado, incluindo detalhes sobre duas de suas propriedades e seus valores alterados. Nenhum recurso foi excluído.

   ```
   aws cloudformation list-stack-instance-resource-drifts \
       --stack-set-name my-stack-set-with-resource-drift \
       --stack-instance-account 123456789012 \
       --stack-instance-region us-east-1 \
       --operation-id c36e44aa-3a83-411a-b503-cb611example \
       --stack-instance-resource-drift-statuses MODIFIED DELETED
   ```

   Resultado:

   ```
   {
       "Summaries": [
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/my-stack-set-with-resource-drift/489e5570-df85-11e7-a7d9-50example",
               "ResourceType": "AWS::SQS::Queue",
               "Timestamp": "2018-03-26T17:23:34.489Z",
               "PhysicalResourceId": "https://sqs.us-east-1.amazonaws.com/123456789012/my-stack-with-resource-drift-Queue-494PBHCO76H4",
               "StackResourceDriftStatus": "MODIFIED",
               "PropertyDifferences": [
                   {
                       "PropertyPath": "/DelaySeconds",
                       "ActualValue": "120",
                       "ExpectedValue": "20",
                       "DifferenceType": "NOT_EQUAL"
                   },
                   {
                       "PropertyPath": "/RedrivePolicy/maxReceiveCount",
                       "ActualValue": "12",
                       "ExpectedValue": "10",
                       "DifferenceType": "NOT_EQUAL"
                   }
               ],
               "LogicalResourceId": "Queue"
           }
       ]
   }
   ```

## Como interromper a detecção de desvios em um StackSet
<a name="stacksets-drift-stop"></a>

Como a detecção de desvios em um StackSet pode ser uma operação de longa execução, é possível que existam instâncias quando decidir interromper uma operação de detecção de desvios em andamento em um StackSet.

**Para interromper a detecção de desvios em um StackSet (console)**

1. Abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na página **StackSets** selecione o nome do StackSet.

   O CloudFormation exibe a página **Detalhes dos StackSets** para o StackSet selecionado.

1. Na página **StackSets details (Detalhes dos conjuntos de pilhas)**, selecione a guia **Operations (Operações)** e selecione a operação de detecção de desvios.

1. Selecione **Stop operation (Interromper operação)**.

**Para interromper a detecção de desvios em um StackSet (AWS CLI)**
+ Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/stop-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/stop-stack-set-operation.html). Você deve fornecer o nome e o ID da operação de detecção de desvios do StackSet.

  ```
  aws cloudformation stop-stack-set-operation \
      --stack-set-name stack-set-drift-example \
      --operation-id 624af370-311a-11e8-b6b7-500cexample
  ```

# Importar pilhas para o CloudFormation StackSets
<a name="stacksets-import"></a>

Uma operação de importação de pilhas pode importar pilhas existentes para StackSets novos ou existentes, de modo que você possa migrar as pilhas existentes para um StackSet em uma única operação.

Para StackSets *autogerenciados*, a operação de importação pode importar pilhas na conta do administrador ou em diferentes contas e Regiões da AWS de destino. Para StackSets *gerenciados por serviços*, a operação de importação pode importar qualquer pilha na mesma AWS Organizations que a conta de gerenciamento 

As seguintes considerações e limitações se aplicam à importação de pilhas para StackSets:
+ A operação de importação pode importar até dez pilhas utilizando IDs de pilha em linha ou até 200 pilhas utilizando um objeto do Amazon S3.
+  A propriedade `NoEcho` não é compatível. As pilhas que contêm `NoEcho` não serão importadas para novos StackSets por meio da importação do StackSet.
+ As pilhas apenas podem pertencer a um StackSet.
+ Você pode implementar tags de pilhas no StackSet, especificando tags explicitamente como parâmetros na operação de importação de pilhas.
+ Substituições de parâmetros personalizados de uma pilha não são afetadas durante a operação de importação.
+ Os parâmetros das instâncias de pilha importadas não podem ser atualizados usando a opção **Editar detalhes do StackSet**. Você deve usar a opção **Substituir parâmetros do StackSet**. Para obter mais informações sobre parâmetros de substituição, consulte [Substituir parâmetros em pilhas](stackinstances-override.md).
+ Cotas e instâncias de pilha de StackSets são aplicáveis ao importar pilhas. Para obter mais informações sobre cotas, consulte [Entender as cotas do CloudFormation](cloudformation-limits.md).

**Topics**
+ [Importação de pilhas autogerenciadas para StackSets do CloudFormation](self-managed-import.md)
+ [Importação de pilhas gerenciadas para StackSets do CloudFormation](service-managed-import.md)
+ [Reverter importações de pilhas para o CloudFormation StackSets](revert-stackset-import.md)

# Importação de pilhas autogerenciadas para StackSets do CloudFormation
<a name="self-managed-import"></a>

A operação importação de pilhas do CloudFormation pode importar pilhas existentes para StackSets novos ou existentes para que você possa migrar pilhas existentes para um StackSet em uma só operação. Ao utilizar a importação de pilhas, você evita tempo de inatividade e interrupções por não precisar excluir e recriar esses recursos. Depois que a pilha é importada para um StackSet, a pilha original se torna uma instância da pilha do conjunto de pilhas especificado.

**Considerações sobre as importações de pilhas autogerenciadas**
+ A operação de importação de pilhas requer uma conta de administrador na qual você cria um StackSet e uma conta de destino que contenha uma pilha.
+ A conta de destino deve ter permissão para utilizar a operação `GetTemplate` com a especificação do ID da pilha ou do ARN. Por isso, as permissões **AWSCloudFormationStackSetsAdminstration** ou **AWSCloudFormationStackSetsExectionRole** devem ser concedidas à sua conta de administrador.

**Topics**
+ [Importar uma pilha existente para um novo StackSet (console)](#import-stacks-to-stack-set)
+ [Importar uma pilha existente para um StackSet existente (console)](#import-stack-to-existing-stackset)
+ [Importar uma pilha para um StackSet (AWS CLI)](#importing-stack-to-stackset.cli)

## Importar uma pilha existente para um novo StackSet (console)
<a name="import-stacks-to-stack-set"></a>

Antes de começar, identifique a pilha que deseja importar.

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. No painel de navegação, escolha **StackSets**.

1. No topo da página **StackSets**, escolha **Create StackSet (Criar StackSet)**.

1. Na página **Escolher um modelo**, escolha um modelo por meio de uma das seguintes opções e escolha **Avançar**.
   + Escolha **Amazon S3 URL** e especifique o URL do modelo na caixa de texto.
   + Escolha **Upload a template file** (Fazer upload de um arquivo de modelo) e procure o arquivo de modelo.
   + Escolha **From stack ID** (Do ID da pilha) e insira seu ID da pilha.

1. Na página **Especificar detalhes do StackSet**, insira o nome de um StackSet que você deseja criar e escolha **Avançar**.

   (Opcional) Insira uma descrição do StackSet.

1. Na página **Configurar opções do StackSet**, reveja suas seleções e escolha **Avançar**.

1. Na página **Definir opções de implantação**, escolha **Importar pilhas para o conjunto de pilhas**.

1. Insira o ID da pilha a ser importada no campo **Stacks to import** (Pilhas para importar). Por exemplo, `arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786`.

   (Opcional) Escolha **Adicionar outro ID de pilha** e insira o ID da outra pilha que você deseja importar. É possível adicionar até 10 pilhas por operação de importação.

1. Revise as opções de implantação e escolha **Avançar**.

1. Na página **Analisar**, analise suas escolhas e as propriedades do seu StackSet. Quando estiver tudo pronto para importar a pilha para o StackSet, escolha **Enviar**.

**Resultados**: a pilha importada é agora uma instância de pilha do StackSet especificado. Para saber mais sobre o status de importação das pilhas, consulte [Códigos de status do StackSets](stacksets-concepts.md#stackset-status-codes).

## Importar uma pilha existente para um StackSet existente (console)
<a name="import-stack-to-existing-stackset"></a>

Antes de começar, identifique a pilha que deseja importar.

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. No painel de navegação, escolha **StackSets**.

1. Na página **StackSets**, escolha o StackSet para o qual você deseja importar uma pilha.

1. Com o StackSet selecionado, escolha **Adicionar pilhas ao StackSet** no menu **Ações**.

1. Na página **Definir opções de implantação**, escolha **Importar pilhas para o conjunto de pilhas** e insira o ID da pilha que você deseja importar no campo **Pilhas a importar**. Por exemplo, `arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786`.

   (Opcional) Escolha **Adicionar outro ID de pilha** e insira o ID da outra pilha que você deseja importar. É possível adicionar até 10 pilhas por operação de importação.

1. Escolha **Próximo**.

1. Na página **Especificar substituições**, verifique suas seleções e escolha **Avançar**.

1. Na página **Analisar**, analise suas escolhas e as propriedades do seu StackSet. Quando estiver tudo pronto para criar seu StackSet, escolha **Enviar**.

**Resultados**: a pilha importada é agora uma instância de pilha do StackSet especificado. Para saber mais sobre o status de importação das pilhas, consulte [Códigos de status do StackSets](stacksets-concepts.md#stackset-status-codes).

## Importar uma pilha para um StackSet (AWS CLI)
<a name="importing-stack-to-stackset.cli"></a>

**Para importar uma pilha existente para um novo StackSet**  
O comando `create-stack-set` a seguir cria um StackSet e importa a pilha especificada. A pilha a ser importada é identificada pelo ARN. Substitua o espaço reservado de texto por suas próprias informações.

```
aws cloudformation create-stack-set \
  --stack-set-name MyStackSet \
  --stack-id arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/466df9e0-0dff-08e3-8e2f-5088487c4896 \
  --administration-role-arn arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole \
  --execution-role-name AWSCloudFormationStackSetExecutionRole
```

**Para importar uma pilha existente para um StackSet existente**  
O comando `import-stacks-to-stack-sets` a seguir importa a pilha especificada para o StackSet *MyStackSet*. A pilha a ser importada é identificada pelo ARN. Substitua o espaço reservado de texto por suas próprias informações.

```
aws cloudformation import-stacks-to-stack-set \
  --stack-set MyStackSet \
  --stack-ids arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786
```

Para especificar mais de uma pilha, use o formato apresentado a seguir para o valor da opção `--stack-ids`.

```
--stack-ids "arn_1" "arn_2"
```

**Para clonar a pilha importada em outras regiões e contas**  
O comando `create-stack-instances` a seguir adiciona instâncias de pilha ao StackSet. Substitua o espaço reservado de texto por suas próprias informações.

```
aws cloudformation create-stack-instances \
  --stack-set-name MyStackSet \
  --accounts '["account_ID_1","account_ID_2"]' \
  --regions '["region_1","region_2"]'
```

# Importação de pilhas gerenciadas para StackSets do CloudFormation
<a name="service-managed-import"></a>

A operação importação de pilhas do CloudFormation pode importar pilhas existentes para StackSets novos ou existentes para que você possa migrar pilhas existentes para um StackSet em uma só operação. O StackSets amplia a funcionalidade das pilhas, permitindo que você crie, atualize ou exclua pilhas em várias contas e regiões com uma única operação.

**Considerações sobre importações de pilhas gerenciadas pelo serviço**
+ A operação de importação de pilhas requer uma conta de gerenciamento ou uma conta de administrador delegada na qual você possa gerenciar o AWS Organizations associado, por exemplo, habilitando o acesso confiável com o StackSets.
+ As contas de destino devem ser membros do AWS Organizations gerenciado pela conta de gerenciamento ou pela conta de administrador delegado.
+ A pilha de destino existe em uma das UOs de destino.
+ A conta de destino deve ser membro do AWS Organizations.
+ O acesso do AWS Organizations deve estar no estado `ACTIVATED` para as organizações.
+ As pilhas que estão sendo importadas devem estar presentes em qualquer uma das contas-membro, e não na conta de gerenciamento.

**Topics**
+ [Importar uma pilha gerenciada pelo serviço para um novo StackSet (console)](#import-service-managed-stack-to-new-stackset)
+ [Criar e importar uma pilha gerenciada pelo serviço para um StackSet existente (console)](#import-service-managed-stack-to-existing-stackset)
+ [Importar uma pilha gerenciada pelo serviço para um StackSet existente (console)](#import-service-managed-stack-to-existing-stackset-console)
+ [Importar uma pilha gerenciada pelo serviço para um StackSet (AWS CLI)](#import-service-managed-stack-to-stackset.cli)

## Importar uma pilha gerenciada pelo serviço para um novo StackSet (console)
<a name="import-service-managed-stack-to-new-stackset"></a>

Importar uma pilha para um novo StackSet usando o Console de gerenciamento da AWS

Para importar uma nova pilha para um StackSet, identifique uma pilha que contenha o recurso que você quer importar.

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. No painel de navegação, escolha **StackSets**.

1. No topo da página **StackSets**, escolha **Create StackSet (Criar StackSet)**.

1. Na página **Escolher um modelo**, faça o seguinte:

   1. Em **Modelo de permissão do StackSet**, escolha **Permissões gerenciadas pelo serviço**.

   1. Em **Pré-requisito: preparar modelo**, escolha **O modelo está pronto**, depois escolha o modelo usando uma das seguintes opções:
      + Em **URL do Amazon S3**, insira seu URL do Amazon S3 no campo **URL do Amazon S3**.
      + Em **Carregar um arquivo de modelo**, escolha um modelo do CloudFormation no computador local.

   Aceite suas configurações e escolha **Next** (Próximo).

1. Na página **Especificar detalhes do StackSet**, faça o seguinte:

   1. Insira um nome de StackSet na caixa **Nome do StackSet**.

   1. (Opcional) Insira uma descrição na seção **StackSet description** (Descrição do StackSet).

   Na página **Configurar opções do StackSet**, reveja suas seleções e escolha **Avançar**.

1. Adicione as seguintes informações à página **Definir opções de implantação**:

   1. Em **Adicionar pilhas ao conjunto de pilhas**, escolha **Importar pilhas para o conjunto de pilhas**.

   1. Em **Stacks to import** (Pilhas para importar), escolha seu método de importação de pilhas.

      1. Para **Stack ID** (ID da pilha), insira o ID da pilha.

      1. Em **URL da pilha**, insira o URL do Amazon S3.

1. Em **Associar unidades organizacionais**, faça o seguinte:

   1. Escolha **Associar com organização** para usar a UO-raiz.

   1. Escolha **Associar com unidades organizacionais (UOs)** para inserir os IDs das UOs superiores para as pilhas a serem importadas. Por exemplo, se `Stack 1` e `Stack 2` estiverem em `OU1` e `Stack 3` estiver em `OU2`, insira `OU1` e `OU2`.

   Aceite suas configurações e escolha **Next** (Próximo).

1. Revise suas configurações na página **Review** (Revisar) e selecione **Submit** (Enviar).

## Criar e importar uma pilha gerenciada pelo serviço para um StackSet existente (console)
<a name="import-service-managed-stack-to-existing-stackset"></a>

Para importar uma pilha existente para um novo StackSet, identifique uma pilha que contenha o recurso que você quer importar.

**Para criar um StackSet e importar uma pilha**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. No painel de navegação, escolha **StackSets**.

1. No topo da página **StackSets**, escolha **Create StackSet (Criar StackSet)**.

1. Na página **Escolher um modelo**, faça o seguinte:

   1. Em **Modelo de permissão do StackSet**, escolha **Permissões gerenciadas pelo serviço**.

   1. Em **Pré-requisito: preparar modelo**, escolha **O modelo está pronto**, depois escolha o modelo usando uma das seguintes opções:
      + Em **URL do Amazon S3**, insira seu URL do Amazon S3 no campo **URL do Amazon S3**.
      + Em **Carregar um arquivo de modelo**, escolha um modelo do CloudFormation no computador local.

   Aceite suas configurações e escolha **Next** (Próximo).

1. Na página **Especificar detalhes do StackSet**, faça o seguinte:

   1. Insira um nome de StackSet na caixa **Nome do StackSet**.

   1. (Opcional) Insira uma descrição na seção **StackSet description** (Descrição do StackSet).

   Na página **Configurar opções do StackSet**, reveja suas seleções e escolha **Avançar**.

1. Adicione as seguintes informações à página **Definir opções de implantação**:

   1. Em **Add stacks to stack set** (Adicionar pilhas ao conjunto de pilhas), escolha **Deploy new stacks** (Implantar novas pilhas).

1. Na seção **Associar unidades organizacionais**, faça o seguinte:

   1. Escolha **Associar com organização** para usar a UO-raiz.

   1. Escolha **Associar com unidades organizacionais (UOs)** para inserir os IDs das UOs superiores para as pilhas a serem importadas. Por exemplo, se `Stack 1` e `Stack 2` estiverem em `OU1` e `Stack 3` estiver em `OU2`, insira `OU1` e `OU2`.

1. Para **Specify regions** (Especificar regiões) e **Deployment options** (Opções de implantação), examine suas escolhas.

   Aceite suas configurações e escolha **Next** (Próximo).

1. Revise suas configurações na página **Review** (Revisar) e selecione **Submit** (Enviar).

## Importar uma pilha gerenciada pelo serviço para um StackSet existente (console)
<a name="import-service-managed-stack-to-existing-stackset-console"></a>

Escolha o StackSet e identifique a pilha que você deseja importar.

**Para importar uma pilha para um StackSet existente**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. No painel de navegação, escolha **StackSets**.

1. Escolha o StackSet para o qual você deseja importar uma pilha e depois **Adicionar pilhas ao StackSet** na lista suspensa **Ações**.

1. Adicione as seguintes informações à página **Definir opções de implantação**:

   1. Em **Adicionar pilhas ao conjunto de pilhas**, escolha **Importar pilhas para o conjunto de pilhas**.

   1. Em **Pilhas a importar**, faça o seguinte:

      1. Para **Stack ID** (ID da pilha), insira o ID da pilha.

      1. Em **URL da pilha**, insira o URL do Amazon S3.

   1. Em **Associar unidades organizacionais**, faça o seguinte:

      1. Escolha **Associar com organização** para usar a UO-raiz.

      1. Escolha **Associar com unidades organizacionais (UOs)** para inserir os IDs das UOs superiores para as pilhas a serem importadas. Por exemplo, se `Stack 1` e `Stack 2` estiverem em `OU1` e `Stack 3` estiver em `OU2`, insira `OU1` e `OU2`.

      Aceite suas configurações e escolha **Next** (Próximo).

1. Revise a página **Specify overrides** (Especificar substituições) e escolha **Next** (Próximo).

1. Confirme e revise a página **Review** (Revisar) e escolha **Submit** (Enviar).

## Importar uma pilha gerenciada pelo serviço para um StackSet (AWS CLI)
<a name="import-service-managed-stack-to-stackset.cli"></a>

Após a criação de um StackSet, você pode importar suas pilhas passando os IDs das pilhas que estão sendo importadas. Também é possível transmitir a lista de IDs de UOs para a qual você quer mapeá-lo.

O CloudFormation importará as pilhas fornecidas pelo usuário dentro dessas UOs e as usará como destinos de implantação para o StackSet. Os IDs de pilhas apresentados na entrada serão mapeados internamente para a UO mais próxima na entrada da lista de IDs de UOs e na UO. Se uma pilha não pertencer a um ID de UO existente na lista de entrada, a AWS CLI retornará o erro `StackNotFoundException`.

A operação `import-stacks-to-stack-set` cria instâncias de pilha para as pilhas na entrada de ID de UO. Os exemplos a seguir da AWS CLI usam a operação `import-stacks-to-stack-set` para importar uma pilha para um StackSet.
+ Para utilizar a operação `import-stacks-to-stack-sets`, especifique `stack-ids` ou `stack-ids-url` que você quer importar para o seu conjunto de pilhas.

  ```
  aws cloudformation import-stacks-to-stack-set \
    --stack-set-name ServiceMangedStackSet \
    --stack-ids "arn:123456789012:us-east-1:Stack1" \
    --organizational-unit-ids ou-examplerootid111-exampleouid111
  ```

  ```
  aws cloudformation import-stacks-to-stack-set \
    --stack-set-name ServiceMangedStackSet \
    --stack-ids-url https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/file-name.json \
    --organizational-unit-ids ou-examplerootid111-exampleouid111
  ```

**nota**  
A operação `import-stacks-to-stack-sets` requer a especificação de pelo menos um ID de unidade organizacional (ID de UO) para que seja possível associar a pilha que está sendo importada para essa UO específica. Essa operação não cria instâncias de pilha para outras contas-membro nas UOs associadas. Para atualizar contas-membro para as UOs associadas, use `create-stack-instances` ou `update-stack-instances`.

O `create-stack-set` cria instâncias de pilha para todas as contas nas UOs com um modelo fornecido pelo usuário, seja por upload direto ou via Amazon S3. Os exemplos a seguir da AWS CLI usam a operação `create-stack-set` para importar uma pilha para um novo StackSet.
+ Para usar a operação `create-stack-set`, especifique o nome do StackSet e importe uma pilha para um StackSet recém-criado.

  ```
  aws cloudformation create-stack-set \
    --template-url https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/file-name.json \
    --permission-model SERVICE_MANAGED \
    --auto-deployment Enabled=true
  ```

# Reverter importações de pilhas para o CloudFormation StackSets
<a name="revert-stackset-import"></a>

Se houver alterações indesejadas na instância da pilha, você poderá reverter a importação da instância da pilha.

Quando você reverte a importação de uma instância de pilha, o CloudFormation exclui a instância de pilha do StackSet, mas retém os recursos da pilha.

Para reverter uma operação de importação de pilha, realize o procedimento a seguir.

1. Especifique um atributo `DeletionPolicy` de `Retain` para cada recurso que você deseja manter após a exclusão da instância de pilha. Para obter mais informações, consulte [Reverter uma operação de importação](resource-import-revert.md).

1. Exclua as instâncias de pilha do seu StackSet. Para obter mais informações, consulte [Excluir pilhas do CloudFormation StackSets](stackinstances-delete.md).

1. Exclua seu StackSet. Para obter mais informações, consulte [Excluir CloudFormation StackSets](stacksets-delete.md).

# Práticas recomendadas para usar o CloudFormation StackSets
<a name="stacksets-bestpractices"></a>

Esta seção descreve as práticas recomendadas para definir um modelo de StackSet, criar ou adicionar pilhas a um StackSet ou atualizar um StackSet.

Se você não tiver experiência com o CloudFormation, revise o tópico [Práticas recomendadas do CloudFormation](best-practices.md) para obter mais recomendações que podem ajudar você a usar o CloudFormation de forma mais eficaz e segura.

**Topics**
+ [Definir o modelo](#w2aac15c41b9)
+ [Como criar ou adicionar pilhas ao StackSet](#w2aac15c41c11)
+ [Como atualizar pilhas em um StackSet](#w2aac15c41c13)

## Definir o modelo
<a name="w2aac15c41b9"></a>
+ Defina o modelo que você deseja padronizar em várias contas, dentro de várias regiões.
+ Ao criar o modelo, certifique-se de que não há conflitos de nomenclatura nos recursos globais (como as funções do IAM e os buckets do Amazon S3) quando eles são criados em mais de uma região na mesma conta.
+ Um StackSet tem um único modelo e conjunto de parâmetros. A mesma pilha é criada em todas as contas que são associadas a um StackSet. Ao criar seus modelos, faça-o em um nível de detalhes suficiente para permitir um bom equilíbrio de controle e padronização. 
+ Recomendamos que você armazene seu modelo em um bucket do Amazon S3.

## Como criar ou adicionar pilhas ao StackSet
<a name="w2aac15c41c11"></a>
+ Verifique se a adição de instâncias de pilha ao StackSet inicial funciona antes de adicionar quantidades maiores de instâncias de pilha ao seu StackSet.
+ Escolha as opções de implantação (rollout) que funcionam para o seu caso de uso.
  + Para uma implantação mais conservadora, defina **Máximo de contas concorrentes** como 1 e **Tolerância a falhas** como 0. Defina a região de menor impacto para ser a primeira na lista **Ordem das regiões**. Comece com uma região.
  + Para uma implantação mais rápida, aumente os valores de **Máximo de contas concorrentes** e **Tolerância a falhas**, conforme o necessário.
+ As operações em StackSets dependem de quantas instâncias de pilha estão envolvidas e podem levar bastante tempo.

## Como atualizar pilhas em um StackSet
<a name="w2aac15c41c13"></a>
+ Por padrão, a atualização de um StackSet atualiza todas as instâncias de pilha. Se você tiver vinte contas em duas regiões, terá quarenta instâncias de pilha, e todas serão atualizadas quando você atualizar o StackSet.

  Para StackSets com um grande número de instâncias de pilha, recomendamos que, para testar a versão atualizada de um modelo, você atualize as instâncias de pilha seletivamente em algumas contas de teste antes de atualizar todas as instâncias de pilha.
+ Para obter um controle mais granular sobre a atualização de pilhas individuais em seu StackSet, planeje criar vários StackSets.
+ Atualizar um StackSet que contém um grande número de pilhas pode levar um tempo significativo. Nesta versão, apenas uma operação é permitida por vez em um StackSet. Planeje suas atualizações para não ser impedido de executar outras operações no StackSet.

# Modelos de exemplo do CloudFormation StackSets
<a name="stacksets-sampletemplates"></a>

Esta seção inclui links para alguns modelos de exemplos do CloudFormation que podem ajudar você a usar o CloudFormation StackSets na sua empresa. Os modelos listados nesta seção habilitam o [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) ou o [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) e as regras dentro dele.

**Importante**  
Como prática recomendada de segurança ao permitir o acesso do AWS Config a um bucket do Amazon S3, recomendamos fortemente que você restrinja o acesso na política de bucket com a condição `AWS:SourceAccount`. Novos modelos são atualizados para terem `AWS:SourceAccount`. Se sua política de bucket atual não seguir essa prática recomendada de segurança, recomendamos fortemente que você a edite para incluir essa proteção. Isso garante que o AWS Config tenha acesso somente em nome dos usuários esperados. 


| Descrição | Link do S3 | 
| --- | --- | 
| Habilitar AWS CloudTrail | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml) | 
| Habilitar AWS Config | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml) | 
| Habilitar o AWS Config com registro central em log | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfigForOrganizations.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfigForOrganizations.yml) | 
| Habilitar as políticas padrão do Amazon Data Lifecycle Manager em uma organização da AWS ou em contas específicas da AWS |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/stacksets-sampletemplates.html) [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEncryptedVolumes.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEncryptedVolumes.yml) | 
| Configurar uma regra do AWS Config para determinar se o CloudTrail está habilitado | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleCloudtrailEnabled.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleCloudtrailEnabled.yml) | 
| Configure uma regra do AWS Config para determinar se o MFA raiz está habilitado | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleRootAccountMFAEnabled.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleRootAccountMFAEnabled.yml) | 
| Configure uma regra do AWS Config para determinar se os EIPs estão anexados | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEipAttached.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEipAttached.yml) | 
| Configure uma regra do AWS Config para determinar se os volumes do EBS estão criptografados | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEncryptedVolumes.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEncryptedVolumes.yml) | 

# Solução de problemas de CloudFormation StackSets
<a name="stacksets-troubleshooting"></a>

Este tópico contém alguns problemas comuns do StackSets e soluções sugeridas para esses problemas.

**Topics**
+ [Motivos comuns de falha na operação da pilha](#common-reasons-for-stack-operation-failure)
+ [Realizar novamente operações de criação ou atualização de pilha com falha](#retrying-failed-stack-creation-or-update-operations)
+ [Falha de exclusão de instância de pilha](#stack-instance-delete-fails)
+ [Falha na operação de importação de pilhas](#stack-import-fails)
+ [Contagem de falhas de instâncias de pilha para operações do StackSets](#stack-instance-failure-count-for-stackset-operations)

## Motivos comuns de falha na operação da pilha
<a name="common-reasons-for-stack-operation-failure"></a>

**Problema:** uma operação de pilha falhou, e o status da instância de pilha é `OUTDATED`.

**Causa:** pode haver várias causas comuns para a falha na operação da pilha.
+ Permissões insuficientes em uma conta de destino para criar recursos especificados no seu modelo.
+ O modelo do CloudFormation pode conter erros. Valide o modelo no CloudFormation e corrija os erros antes de tentar criar seu StackSet.
+ O modelo pode estar tentando criar recursos globais que precisam ser únicos, mas não são. Por exemplo, os buckets do S3.
+ Não existe um número de conta de destino especificado. Verifique os números da conta de destino que você especificou na página **Definir opções de implantação** do assistente.
+ A conta de administrador não possui uma relação de confiança com a conta de destino.
+ A quantidade máxima especificada para um recurso no seu modelo já existe na sua conta de destino. Por exemplo, você pode ter atingido o limite de permitido de funções IAM em uma conta de destino, mas o modelo cria mais funções IAM.
+ Você atingiu a quantidade máxima permitida de pilhas em um StackSet. Para saber a quantidade máxima de pilhas por StackSet, consulte [Entender as cotas do CloudFormation](cloudformation-limits.md).

**Solução:** para obter mais informações sobre as permissões necessárias das contas de destino e administrador antes de criar StackSets, consulte [Concessão de permissões para o gerenciamento de pilhas em todas as contas de destino a todos os usuários da conta do administrador](stacksets-prereqs-self-managed.md#stacksets-prereqs-accountsetup).

## Realizar novamente operações de criação ou atualização de pilha com falha
<a name="retrying-failed-stack-creation-or-update-operations"></a>

**Problema:** uma operação de criação ou atualização de pilha falhou, e o status da instância de pilha é `OUTDATED`. Para saber o motivo da falha de uma tentativa de criação ou atualização de pilha, abra o console do CloudFormation e veja os eventos da pilha, que exibirão um status `DELETED` (para operações de criação com falha) ou `FAILED` (para operações de atualização com falha). Navegue pelos eventos de pilha e localize a coluna **Motivo do status**. O valor de **Motivo do status** explica o motivo da falha na operação.

Depois de corrigir a causa subjacente da falha na criação da pilha, você poderá tentar realizar a criação da pilha novamente. Para isso, execute as etapas a seguir.

**Solução:** execute as seguintes etapas para tentar realizar a operação da pilha novamente.

1. No console, selecione o StackSet que contém a pilha em que a operação falhou.

1. No menu **Actions (Ações)**, escolha **Edit StackSet details (Editar detalhes do StackSet)** para tentar criar ou atualizar as pilhas novamente.

1. Na página **Especificar modelo**, mantenha a opção padrão **Usar modelo atual** para usar o mesmo modelo do CloudFormation. Se sua operação de pilha falhou porque o modelo necessário foi alterado e você deseja enviar um modelo revisado, escolha **Carregar um modelo no Amazon S3** e, em seguida, **Procurar** para selecionar o modelo atualizado. Quando você terminar de carregar do modelo revisado, escolha **Próximo**.

1. Na página **Especificar detalhes da pilha**, escolha **Próximo** se você não estiver alterando nenhum parâmetro específico do modelo.

1. Na página **Definir opções de implantação**, altere os padrões para **Máximo de contas simultâneas** e **Tolerância a falhas**, se desejar. Para ter mais informações sobre essas configurações, consulte [Opções de operação de StackSets](stacksets-concepts.md#stackset-ops-options).

1. Na página **Revisão**, revise suas seleções e marque a caixa de seleção para confirmar os recursos do IAM necessários. Selecione **Enviar**.

1. Se sua pilha não for atualizada com êxito, repita este procedimento depois de ter resolvido todos os problemas subjacentes que estejam impedindo a criação de pilhas.

## Falha de exclusão de instância de pilha
<a name="stack-instance-delete-fails"></a>

**Problema:** houve uma falha de exclusão de pilha.

**Causa:** a exclusão de pilha falhará para as pilhas em que a proteção contra encerramento foi ativada.

**Solução:** determine se a proteção contra encerramento foi ativada para a pilha. Caso tenha sido, desative a proteção contra encerramento e, em seguida, execute a exclusão de instância de pilha novamente.

## Falha na operação de importação de pilhas
<a name="stack-import-fails"></a>

**Problema:** uma operação de importação de pilhas falha ao importar pilhas existentes para StackSets novos ou existentes. A instância da pilha está em um status `INOPERABLE`.

**Solução:** reverta a operação de importação de pilhas, concluindo as seguintes tarefas.

1. Use a opção **Excluir pilhas do StackSets**, habilite **RetainStacks** durante a configuração e depois exclua instâncias de pilha do seu StackSet. Para obter mais informações, consulte [Excluir pilhas do CloudFormation StackSets](stackinstances-delete.md).

1. Você verá que as instâncias de pilha do StackSet são atualizadas para remover a instância de pilha `INOPERABLE`.

1. Corrija as instâncias da pilha de acordo com o erro de falha na importação e repita a operação de importação da pilha.

## Contagem de falhas de instâncias de pilha para operações do StackSets
<a name="stack-instance-failure-count-for-stackset-operations"></a>

A contagem de falhas de instâncias de pilha alerta você se houver falha no provisionamento ou na atualização de instâncias de pilha. Essas instâncias da pilha não foram implantados por um ou mais dos seguintes motivos:
+ Recursos existentes com uma configuração semelhante
+ Dependências ausentes, como perfis do AWS Identity and Access Management (IAM)
+ Outros fatores conflitantes

Se você quiser implantar com o máximo de simultaneidade, a contagem máxima de simultaneidade é uma mais do que a contagem de tolerância a falhas. Por exemplo, se a contagem de tolerância a falhas for 9, a contagem máxima de simultaneidade não poderá ser maior que 10. Isso fará com que a operação retorne `SUCCEEDED` mesmo se houver falha algumas na atualização de algumas instâncias de pilha. A nova contagem de falhas de instâncias de pilha permite que você determine se a operação só foi bem-sucedida condicionalmente porque a contagem de tolerância a falhas está definida para permitir todas as falhas.

Você pode usar o Console de gerenciamento da AWS, o AWS SDK ou a AWS CLI para obter a contagem de falhas e filtrar as instâncias de pilha para determinar quais instâncias precisam ser reimplantadas.

### Utilizar o console
<a name="stack-instance-failure-count-for-stackset-operations-console-examples"></a>

**Para ver o número de instâncias de pilha em que houve falha:**

1. Abra o [console do CloudFormation](https://console.aws.amazon.com/cloudformation) e escolha **StackSets**.

1. Escolha o StackSet e selecione a guia **Operações**.

1. Escolha um status na coluna **Status** para visualizar detalhes do status. Você encontrará o número de instâncias de pilha em que houve falha para uma determinada operação nos detalhes do status.

**Para visualizar a conta, a região e o status das instâncias de pilha para a operação:**

1. Nos detalhes do status, escolha a contagem das instâncias de pilha em que houve falha. *Exemplo:* **instâncias de pilha: `<number of failed stack instances>`**.

1. Expanda o painel lateral escolhendo o cabeçalho do painel. Os resultados no painel lateral são os status das instâncias de pilha após a conclusão da operação selecionada.

**Para ver os detalhes da instância de pilha atual para uma operação:**

1. Escolha a guia **Stack Instances** (Instâncias de pilha).

1. Filtre por **Last operation ID** (ID da última operação). Os resultados são os status atuais e os motivos dos status da última operação a modificar a instância. É possível usar esse filtro em combinação com **Conta da AWS**, **Região da AWS**, **Status detalhado** e **Status de desvio** para refinar ainda mais os resultados da pesquisa.

### Como usar o AWS CLI
<a name="stack-instance-failure-count-for-stackset-operations-cli-examples"></a>

Para obter o número de instâncias de pilha em que houve falha, chame `describe-stack-set-operation` ou `list-stack-set-operations` e consulte `StatusDetails`.

```
aws cloudformation describe-stack-set-operation --stack-set-name ss1 \
    --operation-id 5550e62f-c822-4331-88fa-21c1d7bafc60
```

```
{
    "StackSetOperation": {
        "OperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60",
        "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
        "Action": "CREATE",
        "Status": "SUCCEEDED",
        "OperationPreferences": {
            "RegionOrder": [],
            "FailureToleranceCount": 10,
            "MaxConcurrentCount": 10
        },
        "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole",
        "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole",
        "CreationTimestamp": "2022-10-26T17:18:53.947000+00:00",
        "EndTimestamp": "2022-10-26T17:19:35.304000+00:00",
        "StatusDetails": {
            "FailedStackInstancesCount": 3
        }
    }
}
```

```
aws cloudformation list-stack-set-operations --stack-set-name ss1
```

```
{
    "Summaries": [
        {
            "OperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60",
            "Action": "CREATE",
            "Status": "SUCCEEDED",
            "CreationTimestamp": "2022-10-26T17:18:53.947000+00:00",
            "EndTimestamp": "2022-10-26T17:19:35.304000+00:00",
            "StatusDetails": {
                "FailedStackInstancesCount": 3
            },
            "OperationPreferences": {
                "RegionOrder": [],
                "FailureToleranceCount": 10,
                "MaxConcurrentCount": 10
            }
        }
    ]
}
```

Para obter uma visão geral histórica de uma determinada operação, use `list-stack-set-operation-results` para visualizar o status e o motivo do status de cada instância de pilha após a conclusão da operação. Veja `Status` e `StatusReason` no seguinte exemplo:

```
aws cloudformation list-stack-set-operation-results --stack-set-name ss1 \
  --operation-id 5550e62f-c822-4331-88fa-21c1d7bafc60 --filters Name=OPERATION_RESULT_STATUS,Values=FAILED
```

```
{
    "Summaries": [
        {
            "Account": "123456789012",
            "Region": "us-west-2",
            "Status": "FAILED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "AccountGateResult": {
                "Status": "SKIPPED",
                "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'."
            },
            "OrganizationalUnitId": ""
        },
        {
            "Account": "123456789012",
            "Region": "us-west-1",
            "Status": "FAILED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "AccountGateResult": {
                "Status": "SKIPPED",
                "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'."
            },
            "OrganizationalUnitId": ""
        },
        {
            "Account": "123456789012",
            "Region": "us-east-1",
            "Status": "FAILED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "AccountGateResult": {
                "Status": "SKIPPED",
                "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'."
            },
            "OrganizationalUnitId": ""
        }
    ]
}
```

Use `list-stack-instances` com os filtros `DETAILED_STATUS` e `LAST_OPERATION_ID` para obter uma lista das instâncias de pilha em que houve falha na última operação que tentou implantar a instância de pilha. Veja o sinalizador `--filters` no exemplo com `DETAILED_STATUS` e `LAST_OPERATION_ID`:

```
aws cloudformation list-stack-instances --stack-set-name ss1 \
  --filters Name=DETAILED_STATUS,Values=FAILED Name=LAST_OPERATION_ID,Values=5550e62f-c822-4331-88fa-21c1d7bafc60
```

```
{
    "Summaries": [
        {
            "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
            "Region": "us-east-1",
            "Account": "123456789012",
            "Status": "OUTDATED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "StackInstanceStatus": {
                "DetailedStatus": "FAILED"
            },
            "OrganizationalUnitId": "",
            "DriftStatus": "NOT_CHECKED",
            "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
        },
        {
            "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
            "Region": "us-west-1",
            "Account": "123456789012",
            "Status": "OUTDATED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "StackInstanceStatus": {
                "DetailedStatus": "FAILED"
            },
            "OrganizationalUnitId": "",
            "DriftStatus": "NOT_CHECKED",
            "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
        },
        {
            "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
            "Region": "us-west-2",
            "Account": "123456789012",
            "Status": "OUTDATED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "StackInstanceStatus": {
                "DetailedStatus": "FAILED"
            },
            "OrganizationalUnitId": "",
            "DriftStatus": "NOT_CHECKED",
            "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
        }
    ]
}
```

Para encontrar o ID da última operação para modificar uma instância de pilha, use `list-stack-instances` ou `describe-stack-instance` para obter o `LastOperationId`:

```
aws cloudformation describe-stack-instance --stack-set-name ss1 \
  --stack-instance-account 123456789012 --stack-instance-region us-east-2
```

```
{
    "StackInstance": {
        "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
        "Region": "us-west-2",
        "Account": "123456789012",
        "ParameterOverrides": [],
        "Status": "OUTDATED",
        "StackInstanceStatus": {
            "DetailedStatus": "FAILED"
        },
        "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
        "OrganizationalUnitId": "",
        "DriftStatus": "NOT_CHECKED",
        "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
    }
}
```