내 Secrets Manager Lambda 함수 교체가 “pg module not found” 오류로 실패하는 이유는 무엇인가요?

2분 분량
0

AWS Secrets Manager AWS Lambda 함수가 Amazon CloudWatch Logs에서 “pg module not found” 오류로 실패했습니다.

간략한 설명

Python 3.7에서 최신 버전의 Python으로 자동 업그레이드된 이전 버전의 Lambda 함수를 실행하는 경우 이 오류가 발생할 수 있습니다.

해결 방법

Lambda 함수 버전을 Python 3.7로 다시 변경하고 Lambda 함수를 다시 배포하세요.

Lambda 함수 Python 버전 확인하기

1.    Lambda 콘솔을 엽니다.

2.    탐색 창에서 함수를 선택한 다음 회전하지 못한 Lambda 함수 이름을 선택합니다.

3.    코드 탭을 선택합니다.

4.    런타임 설정에서 Python 버전을 확인합니다.

5.    작업을 선택하고, 함수 내보내기를 선택한 다음, 배포 패키지 다운로드를 선택합니다.

6.    압축 해제된 .zip 파일의 디렉토리에서 다음 Linux find 명령을 실행합니다.

find ./ -name “*cpython-*-x86_64-linux-gnu.so”

7.    Python 런타임 버전이 .so 파일의 이름에 있는지 확인합니다. 예를 들어, \ _cffi\ _backend.cpython-37m-x86\ _64-linux-gnu.so입니다.

.so 버전이 파이썬 3.7이 아닌 경우 Lambda는 라이브러리를 가져올 수 없습니다.

AWS CloudFormation 템플릿 수정

Lambda 함수 오류를 해결하려면 Lambda 함수를 생성하는 데 사용한 CloudFormation 템플릿을 수정하세요. 런타임 속성을 AWS::SecretsManager::RotationScheduleHostedRotationLambda 개체에 추가합니다. 그런 다음 CloudFormation 스택을 다시 배포합니다. CloudFormation이 Lambda 교체 함수를 Python 3.7로 다시 변경합니다.

참고: Python 3.7의 경우, 런타임 키 값은 python3.7여야 합니다.


관련 정보

AWS Secrets Manager 문제 해결

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠