다른 AWS 계정에 있는 Lambda 함수를 호출하도록 Amazon S3 이벤트 알림을 설정하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 6월 8일

Amazon Simple Storage Service(Amazon S3) 버킷으로 다른 AWS 계정의 AWS Lambda 함수를 호출하고 싶습니다. 어떻게 설정해야 합니까?

간략한 설명

Amazon S3 버킷이 다른 AWS 계정에서 Lambda 함수를 호출하도록 하려면 다음을 수행합니다.

1.    Lambda 함수의 리소스 기반 권한 정책을 업데이트하여 Amazon S3에 호출 권한을 부여합니다.

2.    Lambda 함수를 호출하는 Amazon S3 이벤트 알림을 생성합니다.

중요: Lambda 함수는 Amazon S3 버킷과 동일한 AWS 리전에 있어야 합니다. 함수 마이그레이션에 대한 자세한 내용은 Lambda 콘솔을 사용하여 Lambda 함수를 다른 AWS 계정 또는 리전으로 마이그레이션하려면 어떻게 해야 합니까?를 참조하세요.

해결 방법

참고: 이 절차를 완료하려면 다음 정보가 있어야 합니다.

Lambda 함수의 리소스 기반 권한 정책을 업데이트하여 Amazon S3에 호출 권한을 부여합니다.

1.    Lambda 함수가 있는 AWS 계정을 사용하여 Lambda 콘솔에서 함수 페이지를 엽니다.

2.    Amazon S3에서 호출할 Lambda 함수의 이름을 선택합니다.

3.    구성 탭에서 권한을 선택합니다.

4.    리소스 기반 정책 창에서 권한 추가를 선택합니다.

5.    정책 문 창에서 AWS 서비스를 선택합니다. 서비스 드롭다운 목록이 나타납니다.

6.    서비스 드롭다운 목록에서 S3를 선택합니다. 더 많은 텍스트 필드가 나타납니다.

7.    소스 계정의 경우 Amazon S3 버킷을 호스팅하는 계정의 AWS 계정 ID를 입력합니다.

8.    소스 ARN에 Amazon S3 버킷의 ARN을 입력합니다. 다음 형식을 사용합니다.

중요: bucket_name을 Amazon S3 버킷의 이름으로 바꿉니다.

arn:aws:s3:::bucket_name

9.    작업에 대해 드롭다운 목록에서 lambda:InvokeFunction을 선택합니다.

10.    명령문 ID에 고유한 명령문 ID를 입력하여 정책 내에서 생성 중인 명령문을 구별합니다.

11.    저장을 선택합니다.

참고: 자세한 내용은 AWS Lambda에 대한 리소스 기반 정책 사용을 참조하세요.

Lambda 함수를 호출하는 Amazon S3 이벤트 알림 생성

1.    Amazon S3 콘솔을 사용하여 이벤트 알림 활성화 및 구성의 지침을 따릅니다.

2.    자습서: Amazon S3 트리거를 사용하여 Lambda 함수 호출S3 트리거로 테스트에 있는 지침에 따라 설정을 테스트합니다. 이벤트 알림에 의해 함수가 호출되지 않는 경우 Amazon S3 이벤트 알림이 내 Lambda 함수를 호출하지 않는 이유의 지침을 따릅니다.