Conceitos do StackSets - AWS CloudFormation

Conceitos do StackSets

Ao usar o StackSets, você trabalha com conjuntos de pilhas, instâncias de pilhas e pilhas.

Contas de administrador e de destino

Uma conta de administrador é a conta da AWS na qual você cria conjuntos de pilhas. Para conjuntos de pilha com permissões gerenciadas por serviço, a conta de administrador é a conta de administrador delegado ou de conta de gerenciamento da organização. É possível gerenciar um conjunto de pilhas fazendo login na conta de administrador da AWS que criou o conjunto de pilhas.

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

AWS CloudFormation StackSets

Um conjunto de pilhas permite criar pilhas entre Contas da AWS em várias regiões usando um único modelo do CloudFormation. O modelo do CloudFormation do conjunto de pilhas define todos os recursos em cada pilha. Ao criar o conjunto de pilhas, você pode especificar o modelo a ser usado, além de quaisquer parâmetros e recursos que o modelo exija.

Depois de definir um conjunto de pilhas, você poderá criar, atualizar ou excluir pilhas nas contas e Regiões da AWS 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 conjunto de pilhas é um recurso regional. Se você criar um conjunto de pilhas em uma Região da AWS, apenas poderá vê-lo ou alterá-lo ao visualizar essa região.

Modelos de permissões para conjuntos de pilhas

Você pode criar conjuntos de pilhas 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. Essas funções são necessárias para estabelecer um relacionamento confiável entre a conta na qual você está administrando o conjunto de pilhas e a conta na qual 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.

Para obter mais informações sobre como criar e gerenciar conjuntos de pilha com permissões gerenciadas por serviço, consulte os seguintes tópicos:

Instâncias da pilha

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 conjunto de pilhas.

Veja a seguir as relações lógicas entre conjuntos de pilha, operações de pilha e pilhas. Ao atualizar um conjunto de pilhas, todas as instâncias de pilha associadas são atualizadas em todas as contas e regiões.


      Um único conjunto de pilhas pode servir como base para criar, atualizar ou excluir instâncias de pilha e pilhas em várias contas e regiões.

Operações do conjunto de pilhas

Você pode executar as seguintes operações nos conjuntos de pilhas.

Criar conjunto de pilhas

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

Atualizar conjunto de pilhas

Ao atualizar um conjunto de pilhas, você envia as mudanças para as pilhas nesse conjunto. Você pode atualizar um conjunto de pilhas de uma das seguintes maneiras. Suas atualizações de modelo sempre afetam todas as pilhas; não é possível atualizar o modelo seletivamente para algumas pilhas do conjunto de pilhas, 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 conjunto de pilhas, mas salve-as para que continuem sendo executadas independentemente do seu conjunto de pilhas. Para isso, basta escolher a opção Reter pilhas. Você pode gerenciar as pilhas retidas fora do seu conjunto de pilhas no AWS CloudFormation.

  • Exclua todas as pilhas no seu conjunto de pilhas, em preparação para excluir o conjunto de pilhas inteiro.

Excluir conjunto de pilhas

Você só pode excluir seu conjunto de pilhas quando não houver instâncias de pilha nele.

Opções de operação do conjunto de pilhas

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 conjunto de pilhas e evitar a perda dos recursos da pilha.

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. A velocidade máxima de implantação é de 100 instâncias de pilha simultâneas por conjunto de pilha.

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 comporta durante as operações de conjunto de pilhas. Para ter mais informações, consulte Parâmetro Modo de Simultaneidade.

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

Esta 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 conjunto de pilhas. Quando você retém pilhas, o AWS CloudFormation deixa as pilhas intactas nas contas e regiões individuais. As pilhas são desassociadas do conjunto de pilhas, mas a pilha e os 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

Você pode adicionar tags durante as operações de criação e atualização do conjunto de pilhas, especificando pares de chaves e valores. As tags são úteis para classificar e filtrar recursos de conjunto de pilhas para cobrança e alocação de custos. Para obter mais informações sobre como usar tags na AWS, consulte Usar tags de alocação de custos, no Guia do usuário do AWS Billing and Cost Management. Depois de especificar o par chave-valor, escolha + 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 conjuntos de pilhas 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

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

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

Status da operação do conjunto de pilhas Descrição

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

O AWS 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.

Status da instância de pilha Descrição

CURRENT

A pilha está atualizada com o conjunto de pilhas.

OUTDATED

A pilha não está atualizada com o conjunto de pilhas por um dos seguintes motivos.

INOPERABLE

Uma operação DeleteStackInstances falhou e deixou a pilha em um estado instável. As pilhas neste estado são excluídas de outras operações UpdateStackSet. Pode ser necessário executar uma operação DeleteStackInstances, 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 conjunto de pilhas ou porque as operações de conjunto de pilhas excedeu a tolerância.

FAILED

Falha na operação na conta e região especificadas. Se houve falha na operação do conjunto de pilha em contas suficientes dentro de uma região, a tolerância a falhas para a operação do conjunto de pilha como um todo pode 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 falhas suficientes em operações de conjunto de pilhas em contas suficientes de uma região, a tolerância a falhas para a operação de conjunto de pilhas 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.