AWS Lambda
개발자 가이드

배포 패키지 만들기

Lambda 함수를 생성하려면 먼저, 코드와 종속 프로그램으로 구성된 zip 또는 .jar 파일인 Lambda 함수 배포 패키지를 만듭니다. zip을 만들 때 상위 폴더가 아닌 코드 및 종속성만 포함합니다. 그런 다음 zip 패키지에 대한 적절한 보안 권한을 설정해야 합니다.

Lambda 배포 패키지에 대한 권한 정책

잘못된 권한으로 업로드된 Zip 패키지로 인해 실행에 실패할 수 있습니다. AWS Lambda는 배포 패키지를 구성하는 코드 파일과 모든 종속 라이브러리에 대해 전역 읽기 권한을 요구합니다. 권한이 특정 사용자 계정으로 제한되지 않도록 다음 샘플을 사용하여 확인하십시오.

  • Linux/Unix/OSX 환경: 아래 샘플과 같이 zipinfo를 사용합니다.

    $ zipinfo test.zip Archive: test.zip Zip file size: 473 bytes, number of entries: 2 -r-------- 3.0 unx 0 bx stor 17-Aug-10 09:37 exlib.py -r-------- 3.0 unx 234 tx defN 17-Aug-10 09:37 index.py 2 files, 234 bytes uncompressed, 163 bytes compressed: 30.3%

    -r--------은 해당 파일 소유자에게 읽기 권한만 있으며, 따라서 Lambda 함수 실행에 실패할 수 있음을 나타냅니다. 다음은 전역 읽기 권한이 필요할 때 보게 되는 화면입니다.

    $ zipinfo test.zip Archive: test.zip Zip file size: 473 bytes, number of entries: 2 -r--r--r-- 3.0 unx 0 bx stor 17-Aug-10 09:37 exlib.py -r--r--r-- 3.0 unx 234 tx defN 17-Aug-10 09:37 index.py 2 files, 234 bytes uncompressed, 163 bytes compressed: 30.3%

    이 문제를 재귀적으로 수정하려면 다음 명령을 실행하십시오.

    $ chmod 644 $(find /tmp/package_contents -type f) $ chmod 755 $(find /tmp/package_contents -type d)
    • 첫 번째 명령은 /tmp/package_contents의 모든 파일이 소유자에게 읽기/쓰기 권한과 그룹 및 전체에 읽기 권한을 부여하도록 변경합니다.

    • 두 번째 명령은 디렉터리에 대해 동일한 권한을 부여합니다.