AWS CloudFormation StackSets에서 대상 계정 게이트 구성 - AWS CloudFormation

AWS CloudFormation StackSets에서 대상 계정 게이트 구성

계정 게이트는 옵션 기능으로, AWS Lambda 함수를 지정하여 AWS CloudFormation StackSets가 해당 계정에서 스택 작업을 시작하기 전에 대상 계정이 특정 요구 사항을 충족하는지 확인할 수 있습니다. 계정 게이트의 일반적인 예제는 대상 계정에 활성 또는 해결되지 않은 CloudWatch 경보가 없는지 확인하는 것입니다. StackSets는 대상 계정에서 스택 작업을 시작할 때마다 함수를 호출하고 함수가 SUCCEEDED 코드를 반환하는 경우에만 계속됩니다. Lambda 함수가 FAILED 상태를 반환하면 StackSets는 요청된 작업을 계속하지 않습니다. Lambda 함수가 구성된 계정 게이트가 없는 경우 StackSets는 확인을 건너뛰고 작업을 계속합니다.

대상 계정에서 계정 게이트 확인에 실패하면 실패한 작업은 지정된 내결함성 수 또는 스택 비율에 반영됩니다. 내결함성에 대한 자세한 내용은 스택 세트 작업 옵션을 확인하십시오.

계정 게이트는 StackSets 작업에 대해서만 사용할 수 있습니다. 이 기능은 StackSets 외부의 다른 AWS CloudFormation 작업에 대해서는 사용할 수 없습니다.

설정 요구 사항

다음 목록에는 계정 게이트에 대한 설정 요구 사항이 설명되어 있습니다.

  • StackSets 계정 게이트 기능을 사용하려면 Lambda 함수의 이름을 AWSCloudFormationStackSetAccountGate로 지정해야 합니다.

  • AWSCloudFormationStackSetExecutionRole에는 Lambda 함수를 호출할 권한이 필요합니다. 이러한 권한이 없으면 StackSets에서는 계정 게이트 확인을 건너뛰고 스택 작업을 계속합니다.

  • 계정 게이트가 작동하려면 대상 계정에 Lambda InvokeFunction 권한이 추가되어야 합니다. 대상 계정 신뢰 정책에 관리자 계정과의 신뢰 관계가 있어야 합니다. 다음은 Lambda InvokeFunction 권한을 부여하는 정책 설명의 예입니다.

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

샘플 Lambda 계정 게이트 함수

다음 샘플 AWS CloudFormation 템플릿은 Lambda AWSCloudFormationStackSetAccountGate 함수를 생성하는 데 사용할 수 있습니다. 이러한 템플릿 중 하나를 사용하여 새 스택을 생성하는 방법에 대한 자세한 내용은 AWS CloudFormation 콘솔에서 스택 생성 섹션을 참조하세요.

템플릿 위치

설명

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

SUCCEEDED 상태를 반환하는 Lambda 계정 게이트 함수를 구현하는 스택을 생성합니다.

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

FAILED 상태를 반환하는 Lambda 계정 게이트 함수를 구현하는 스택을 생성합니다.