Configuración de una puerta de cuenta de destino en AWS CloudFormation StackSets - AWS CloudFormation

Configuración de una puerta de cuenta de destino en AWS CloudFormation StackSets

Una puerta de cuenta es una característica opcional que le permite especificar una función de AWS Lambda para verificar que una cuenta de destino cumple determinados requisitos antes de que AWS CloudFormation StackSets inicie operaciones de pila en dicha cuenta. Un ejemplo común de una puerta de cuenta es verificar que no haya alarmas de CloudWatch activas o sin resolver en la cuenta de destino. StackSets invoca la función cada vez que inicie operaciones de pila en la cuenta de destino y solo continúa si la función devuelve un código SUCCEEDED. Si la función de Lambda devuelve un estado de FAILED, StackSets no continúa con la operación solicitada. Si no tiene configurada una cuenta que regula la función de Lambda configurada, StackSets omite la comprobación y continúa con su operación.

Si su cuenta de destino falla una comprobación de puerta de cuenta, el número de operaciones fallidas se incrementa en el número o porcentaje de tolerancia de fallos de pilas. Para obtener más información acerca de las tolerancias ante fallos, consulte Opciones de operaciones con conjuntos de pilas.

La regulación de cuenta solo está disponible para operaciones de StackSets. Esta funcionalidad no está disponible para otras operaciones de AWS CloudFormation fuera de StackSets.

Requisitos de configuración

En la siguiente lista se describen los requisitos de configuración para regulación de cuentas.

  • Para trabajar con la funcionalidad de regulación de cuentas de StackSets, la función de Lambda tiene que tener el nombre AWSCloudFormationStackSetAccountGate.

  • AWSCloudFormationStackSetExecutionRole necesita permisos para invocar su función de Lambda. Sin estos permisos, StackSets ignora la comprobación de regulación de cuenta y continúa con las operaciones de la pila.

  • El permiso InvokeFunction de Lambda debe añadirse a las cuentas de destino para que funcione la regulación de la cuenta. La política de confianza de la cuenta de destino no tiene una relación de confianza con la cuenta del administrador. El siguiente es un ejemplo de declaración de política que otorga permisos InvokeFunction de Lambda.

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

Ejemplo de funciones de regulación de cuenta de Lambda

Las siguientes plantillas de muestra de AWS CloudFormation están disponibles para crear funciones de AWSCloudFormationStackSetAccountGate. Para más información sobre cómo crear una nueva pila con una de estas plantillas, consulte Creación de una pila en la consola AWS CloudFormation.

Ubicación de plantilla

Descripción

https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateSucceeded.yml

Crea una pila que implementa una función de puerta de cuenta de Lambda que devolverá un estado de SUCCEEDED.

https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateFailed.yml

Crea una pila que implementa una función de puerta de cuenta de Lambda que devolverá un estado de FAILED.