한 AWS 계정에서 생성된 Lambda 함수를 다른 AWS 계정의 AWS CloudFormation 사용자 지정 리소스와 함께 사용하려면 어떻게 해야 하나요?

2분 분량
0

한 계정에서 AWS Lambda 함수를 생성한 다음 다른 계정의 AWS CloudFormation 사용자 지정 리소스에서 해당 함수를 호출하려고 합니다.

간략한 설명

Lambda 함수와 사용자 지정 리소스가 동일한 AWS 리전에 있는 경우에만 다른 계정의 사용자 지정 리소스에서 Lambda 함수를 호출할 수 있습니다. AWS::CloudFormation::CustomResourceServiceToken 속성이 AWS CloudFormation 스택을 생성한 동일한 리전에 있어야 합니다. Lambda 함수를 호출할 수 있는 사용자 지정 리소스 권한을 계정에 부여하려면 리소스 기반 정책을 사용해야 합니다.

참고: Lambda 함수를 사용자 지정 리소스와 연결하면 사용자 지정 리소스가 생성, 업데이트 또는 삭제될 때마다 함수가 호출됩니다. AWS CloudFormation은 Lambda API를 호출하여 함수를 호출하고 모든 요청 데이터를 함수에 전달합니다. 예를 들어 요청 데이터에는 요청 유형과 리소스 속성이 포함됩니다.

해결 방법

참고: AWS CLI(AWS 명령줄 인터페이스) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

Lambda 함수에 다른 계정(계정 B)의 사용자 지정 리소스에 대한 액세스 권한을 부여하려면 기본 계정(계정 A)에서 AWS CLI 명령으로 add-permission을 실행합니다.

-또는-

1.    계정 A의 스택을 통해 Lambda 함수가 생성되면 AWS::Lambda::Permission 리소스를 사용하여 계정 B에 권한을 부여합니다.

2.    계정 B에서 사용자 지정 리소스가 포함된 AWS CloudFormation 스택을 시작합니다.

참고: ServiceToken계정 A의 Lambda 함수의 Amazon 리소스 이름(ARN) 을 참조하는지 확인하세요. 사용자 지정 리소스에 입력으로 보낼 추가 속성을 포함합니다.

3.    Amazon CloudWatch Logs를 사용하여 계정 B의 사용자 지정 리소스가 계정 A에서 Lambda 함수를 호출했는지 확인합니다.


관련 정보

속성

함수에 다른 계정에 대한 액세스 권한 부여

AWS 공식
AWS 공식업데이트됨 3년 전