쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Lambda의 배포 문제 해결

포커스 모드
Lambda의 배포 문제 해결 - AWS Lambda

함수를 업데이트할 때 Lambda는 업데이트된 코드 또는 설정으로 함수의 새 인스턴스를 시작하여 변경 사항을 배포합니다. 배포 오류로 인해 새 버전이 사용되지 않으며, 이는 배포 패키지, 코드, 권한 또는 도구 문제 때문에 발생할 수 있습니다.

Lambda API를 사용하거나 AWS CLI와 같은 클라이언트를 사용하여 함수로 업데이트를 직접 배포하면 출력에서 직접 Lambda의 오류를 볼 수 있습니다. AWS CloudFormation, AWS CodeDeploy 또는 AWS CodePipeline 같은 서비스를 사용하는 경우에는 해당 서비스 로그 또는 이벤트 스트림에서 Lambda의 응답을 찾아보세요.

다음 항목에서는 Lambda API, 콘솔 또는 도구를 사용할 때 발생할 수 있는 오류 및 문제에 대한 문제 해결 조언을 제공합니다. 여기에 나열되지 않은 문제를 발견하는 경우 이 페이지의 [Feedback] 버튼을 사용하여 해당 문제를 보고할 수 있습니다.

문제 해결 조언과 일반적인 지원 질문에 대한 답변은 AWS 지식 센터를 참조하세요.

Lambda 애플리케이션 디버깅 및 문제 해결에 대한 자세한 내용은 Serverless Land의 Debugging을 참조하세요.

일반: 권한이 거부됨 / 해당 파일을 로드할 수 없음

오류: EACCES: 권한 거부, '/var/task/index.js' 열기

오류: 해당 파일을 로드할 수 없음 -- 함수

오류: [Errno 13] 권한 거부: '/var/task/function.py'

Lambda 런타임은 배포 패키지의 파일을 읽을 수 있는 권한이 필요합니다. Linux 권한 8진수 표기법에서는 Lambda에 실행 불가능한 파일(rw-r--r--)에 대한 644개의 권한과 디렉터리 및 실행 파일에 대한 755개의 권한(rwxr-xr-x)이 필요합니다.

Linux 및 MacOS에서는 chmod 명령을 사용하여 배포 패키지의 파일 및 디렉터리에 대한 파일 권한을 변경합니다. 예를 들어 실행 불가능한 파일에 올바른 권한을 부여하려면 다음 명령을 실행합니다.

chmod 644 <filepath>

Windows에서 파일 권한을 변경하려면 Microsoft Windows 설명서의 Set, View, Change, or Remove Permissions on an Object를 참조하세요.

참고

배포 패키지의 디렉터리에 액세스하는 데 필요한 권한을 Lambda에 부여하지 않으면 Lambda는 해당 디렉터리에 대한 권한을 755(rwxr-xr-x)로 설정합니다.

일반: UpdateFunctionCode 호출 시 오류 발생

오류: UpdateFunctionCode 작업을 호출할 때 오류 발생(RequestEntityTooLargeException)

배포 패키지 또는 계층 아카이브를 Lambda에 직접 업로드하면 ZIP 파일의 크기가 50MB로 제한됩니다. 더 큰 파일을 업로드하려면 Amazon S3에 저장하고 S3Bucket 및 S3Key 파라미터를 사용하세요.

참고

AWS CLI, AWS SDK 또는 다른 방법으로 파일을 직접 업로드하면 이진수 ZIP 파일이 base64로 변환되어 크기가 약 30% 증가합니다. 이를 허용하고 요청에서 다른 파라미터 크기를 허용하려면 Lambda가 적용하는 실제 요청 크기 제한이 더 큽니다. 이로 인해 50MB 제한은 근사값입니다.

Amazon S3: 오류 코드 PermanentRedirect.

오류: GetObject를 수행하는 동안 오류가 발생했습니다. S3 오류 코드: PermanentRedirect. S3 오류 메시지: 버킷이 us-east-2 리전에 있습니다. 이 리전을 사용하여 요청을 다시 시도하세요

Amazon S3 버킷에서 함수의 배포 패키지를 업로드할 때 버킷은 함수와 동일한 리전에 있어야 합니다. UpdateFunctionCode 호출 시 Amazon S3 객체를 지정하거나 AWS CLI 또는 AWS SAM CLI에서 패키지를 사용하고 명령을 배포할 때 이러한 문제가 발생할 수 있습니다. 애플리케이션을 개발하는 각 리전에 대한 배포 아티팩트 버킷을 생성합니다.

일반: 찾을 수 없음, 로드할 수 없음, 가져올 수 없음, 클래스를 찾을 수 없음, 해당 파일 또는 디렉터리가 없음

오류: 모듈 'function'을 찾을 수 없음

오류: 해당 파일을 로드할 수 없음 -- 함수

오류: 모듈 'function'을 가져올 수 없음

오류: 클래스를 찾을 수 없음: function.Handler

오류: fork/exec /var/task/function: 이러한 파일 또는 디렉터리 없음

오류: 어셈블리 'Function'에서 'Function.Handler' 유형을 로드할 수 없음.

함수의 핸들러 구성에 있는 파일 또는 클래스의 이름이 코드와 일치하지 않습니다. 자세한 내용은 다음 섹션을 참조하세요.

일반: 정의되지 않은 메서드 핸들러

오류: index.handler가 정의되지 않거나 내보내지지 않음

오류: 모듈 'function'에 핸들러 'handler'가 없음

오류: #<LambdaHandler:0x000055b76ccebf98>에 정의되지 않은 메서드 `handler'

오류: class function.Handler에서 적절한 메서드 서명이 있는 handleRequest라는 이름의 퍼블릭 메서드 없음

오류: 어셈블리 'Function'에서 'Function.Handler' 유형의 'handleRequest' 메서드를 찾을 수 없음

함수의 핸들러 구성에 있는 핸들러 메서드의 이름이 코드와 일치하지 않습니다. 각 런타임은 filename.methodname 같은 핸들러의 이름 지정 규칙을 정의합니다. 핸들러는 함수가 간접 호출될 때 런타임이 실행하는 함수 코드의 메서드입니다.

일부 언어의 경우 Lambda는 핸들러 메서드에 특정 이름이 있어야 하는 인터페이스를 라이브러리에 제공합니다. 각 언어의 핸들러 이름 지정에 관한 자세한 내용은 다음 항목을 참조하세요.

일반: Lambda 코드 스토리지 한도 초과

오류: 코드 스토리지 한도를 초과했습니다.

Lambda는 계정에 프라이빗으로 존재하는 내부 S3 버킷에 함수 코드를 저장합니다. 각 AWS 계정에는 각 리전에 75GB의 스토리지가 할당됩니다. 코드 스토리지에는 Lambda 함수 및 계층 모두에서 사용하는 총 스토리지가 포함됩니다. 할당량에 도달하면 새 함수를 배포하려고 할 때 CodeStorageExceededException이 수신됩니다.

이전 버전의 함수를 정리하거나, 사용되지 않는 코드를 제거하거나, Lambda 계층을 사용하여 사용 가능한 스토리지 스페이스를 관리합니다. 또한 스토리지 할당량을 관리하는 데 도움이 되도록 별도의 워크로드에 별도의 AWS 계정을 사용하는 것이 좋습니다.

Lambda 콘솔의 대시보드 하위 메뉴에서 총 스토리지 사용량을 볼 수 있습니다.

모니터링 관찰성 그림 26

Lambda: 계층 변환 실패

오류: Lambda 계층 변환에 실패했습니다. 이 문제를 해결하는 방법에 대한 자세한 내용은 Lambda 사용 설명서의 Lambda의 배포 문제 해결 페이지를 참조하세요.

계층으로 Lambda 함수를 구성하면 Lambda는 계층을 함수 코드와 병합합니다. 이 프로세스가 완료되지 않으면 Lambda는 이 오류를 반환합니다. 이 오류가 발생한 경우 다음 단계를 수행합니다.

  • 계층에서 사용하지 않는 파일 삭제

  • 계층에서 심볼 링크 삭제

  • 모든 함수 계층의 디렉터리와 이름이 같은 모든 파일의 이름 변경

Lambda: InvalidParameterValueException or RequestEntityTooLargeException

오류: InvalidParameterValueException: 제공된 환경 변수가 4KB 제한을 초과했기 때문에 Lambda에서 환경 변수를 구성할 수 없음. 측정된 문자열: {"A1":"uSFeY5cyPiPn7AtnX5BsM...

오류: RequestEntityTooLargeException: UpdateFunctionConfiguration 작업에 대한 요청은 5,120바이트보다 작아야 함

함수의 구성에 저장되는 변수 객체의 최대 크기는 4,096바이트를 초과할 수 없습니다. 여기에는 키 이름, 값, 따옴표, 쉼표 및 대괄호가 포함됩니다. HTTP 요청 본문의 총 크기도 제한됩니다.

{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function", "Runtime": "nodejs22.x", "Role": "arn:aws:iam::123456789012:role/lambda-role", "Environment": { "Variables": { "BUCKET": "amzn-s3-demo-bucket", "KEY": "file.txt" } }, ... }

이 예제에서 객체는 39자이며 공백 없이 문자열 {"BUCKET":"amzn-s3-demo-bucket","KEY":"file.txt"}로 저장될 때 39바이트를 차지합니다. 환경 변수 값의 표준 ASCII 문자는 각각 1바이트를 사용합니다. 확장 ASCII 및 유니코드 문자는 문자당 2~4바이트를 사용할 수 있습니다.

Lambda: InvalidParameterValueException

오류: InvalidParameterValueException: 제공된 환경 변수에 현재 수정 불가능한 예약된 키가 포함되어 있기 때문에 Lambda에서 환경 변수를 구성할 수 없음.

Lambda는 내부 사용을 위해 일부 환경 변수 키를 예약합니다. 예를 들어 AWS_REGION는 런타임에 현재 리전을 결정하는 데 사용되며 재정의될 수 없습니다. PATH를 비롯한 다른 변수는 런타임에 사용되지만 함수 구성에서 확장될 수 있습니다. 전체 목록은 정의된 런타임 환경 변수 단원을 참조하세요.

Lambda: 동시성 및 메모리 할당량

Error: Specified ConcurrentExecutions for function decreases account's UnreservedConcurrentExecution below its minimum value

Error: 'MemorySize' value failed to satisfy constraint: Member must have value less than or equal to 3008

이러한 오류는 계정에 대한 동시성 또는 메모리 할당량이 초과될 때 발생합니다. 새 AWS 계정에 감소된 동시성 및 메모리 할당량이 적용되었습니다. 동시성과 관련한 오류를 해결하려면 할당량 증가를 요청하면 됩니다. 메모리 할당량 증가는 요청할 수 없습니다.

  • 동시성: 예약되거나 프로비저닝된 동시성을 사용하여 함수를 만들려고 하거나 함수별 동시성 요청(PutFunctionConcurrency)이 계정의 동시성 할당량을 초과하는 경우 오류가 발생할 수 있습니다.

  • 메모리: 함수에 할당된 메모리의 양이 계정의 메모리 할당량을 초과하면 오류가 발생합니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.