Configurar um portão de conta de destino no AWS CloudFormation StackSets - AWS CloudFormation

Configurar um portão de conta de destino no AWS CloudFormation StackSets

Um portão de conta é um recurso opcional que permite a você especificar uma função do AWS Lambda para verificar se uma conta de destino atende a determinados requisitos antes que o AWS CloudFormation StackSets comece a executar operações de pilha nessa conta. Um exemplo comum de um portão de conta é verificar que não haja alarmes do CloudWatch ativos ou não resolvidos na contas de destino. O StackSets chama a função todas as vezes que você inicia operações de pilha na conta de destino e só continuará se a função retornar um código SUCCEEDED. Se a função do Lambda retornar o status FAILED, o StackSets não continuará a operação solicitada. Se você não tiver uma função Lambda com um portão de conta configurado, o StackSets 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 do conjunto de pilhas.

O portão de conta está disponível somente para operações do StackSets. Essa funcionalidade não está disponível para outras operações do AWS CloudFormation que estejam fora do StackSets.

Requisitos de configuração

A lista a seguir descreve os requisitos de configuração para o portão de conta.

  • Para trabalhar com a funcionalidade de portão de conta do StackSets, a função do Lambda deve se chamar AWSCloudFormationStackSetAccountGate.

  • A AWSCloudFormationStackSetExecutionRole precisa de permissões para chamar sua função do Lambda. Sem essas permissões, o StackSets ignora a verificação do portão de 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.

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

Exemplo de funções de portão de conta do Lambda

Os seguintes exemplos de modelos do AWS CloudFormation estão disponíveis para você criar funções AWSCloudFormationStackSetAccountGate do Lambda. Para obter mais informações sobre como criar uma pilha usando um desses modelos, consulte Criar uma pilha neste guia.

Local do modelo

Descrição

https://s3.amazonaws.com/cloudformation-stackset-templates-us-east-1/cloudformation-stack-set-accountgate-succeeded.template

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-templates-us-east-1/cloudformation-stack-set-accountgate-failed.template

Cria uma pilha que implementa uma função Lambda de portão de conta que retornará o status FAILED.