Lambda 함수 버전 - AWS Lambda

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Lambda 함수 버전

버전을 사용하여 함수 배포를 관리할 수 있습니다. 예를 들어, 안정적인 프로덕션 버전 사용에 영향을 주지 않고 베타 테스트를 위한 새 버전의 함수를 게시할 수 있습니다. 함수를 게시할 때마다 Lambda는 함수의 새 버전을 생성합니다. 새 버전은 함수의 게시 되지 않은 버전입니다. 게시되지 않은 버전의 이름은 $LATEST입니다.

참고

함수의 새 버전을 생성하려면 먼저 게시되지 않은 버전($LATEST)을 변경해야 합니다. 이러한 변경에는 코드 업데이트 또는 구성 설정 수정이 포함될 수 있습니다. $LATEST가 이전에 게시된 버전과 동일한 경우 $LATEST에 변경 내용을 배포할 때까지 새 버전을 생성할 수 없습니다.

함수 버전을 게시한 후에는 해당 코드, 런타임, 아키텍처, 메모리, 계층 및 대부분의 기타 구성 설정을 변경할 수 없습니다. 즉, $LATEST에서 새 버전을 게시하지 않으면 이러한 설정을 변경할 수 없습니다. 게시된 함수 버전에 대해 다음 항목을 구성할 수 있습니다.

참고

자동 모드에서 런타임 관리 제어를 사용하는 경우 함수 버전에서 사용하는 런타임 버전이 자동으로 업데이트됩니다. 함수 업데이트 또는 수동 모드를 사용하는 경우 런타임 버전이 업데이트되지 않습니다. 자세한 내용은 Lambda 런타임 업데이트 단원을 참조하십시오.

함수 버전 생성

함수의 게시 되지 않은 버전에서만 함수 코드와 설정을 변경할 수 있습니다. 버전을 게시하면 Lambda는 해당 버전의 사용자에게 일관된 경험을 유지하기 위해 코드와 대부분의 설정을 잠급니다.

Lambda 콘솔을 사용하여 함수 버전을 생성할 수 있습니다.

새 함수 버전을 생성하려면
  1. Lambda 콘솔의 함수 페이지를 엽니다.

  2. 함수를 선택한 다음 버전(Versions)을 선택합니다.

  3. 버전 구성 페이지에서 새 버전 발행(Publish new version)을 선택합니다.

  4. (선택 사항) 버전 설명을 입력합니다.

  5. 게시를 선택합니다.

또는 PublishVersion API 작업을 사용하여 함수의 버전을 게시할 수 있습니다.

다음 AWS CLI 명령은 함수의 새 버전을 게시합니다. 응답으로 버전 번호, 버전 접미사가 포함된 함수 ARN과 같은 새 버전에 대한 구성 정보가 반환됩니다.

aws lambda publish-version --function-name my-function

다음 결과가 표시됩니다.

{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:1", "Version": "1", "Role": "arn:aws:iam::123456789012:role/lambda-role", "Handler": "function.handler", "Runtime": "nodejs20.x", ... }
참고

Lambda는 버전 관리를 위해 단조 증가하는 시퀀스 번호를 할당합니다. Lambda는 함수를 삭제하고 다시 생성한 후에도 버전 번호를 재사용하지 않습니다.

버전 사용

정규화된 ARN 또는 정규화되지 않은 ARN을 사용하여 Lambda 함수를 참조할 수 있습니다.

  • 정규화된 ARN – 버전 접미사가 포함된 함수 ARN입니다. 다음 예에서는 helloworld 함수의 버전 42를 참조합니다.

    arn:aws:lambda:aws-region:acct-id:function:helloworld:42
  • 정규화되지 않은 ARN – 버전 접미사가 포함되지 않은 함수 ARN입니다.

    arn:aws:lambda:aws-region:acct-id:function:helloworld

모든 관련 API 작업에서 정규화된 ARN 또는 정규화되지 않은 ARN을 사용할 수 있습니다. 그러나 정규화되지 않은 ARN을 사용하여 별칭을 생성할 수는 없습니다.

함수 버전을 게시하지 않기로 결정한 경우, 이벤트 소스 매핑에서 정규화된 ARN 또는 정규화되지 않은 ARN을 사용하여 함수를 호출할 수 있습니다. 정규화되지 않은 ARN을 사용하여 함수를 호출하면 Lambda가 $LATEST를 묵시적으로 호출합니다.

Lambda는 코드가 게시된 적이 없거나 마지막으로 게시된 버전과 비교하여 코드가 변경된 경우에만 새 함수 버전을 게시합니다. 변경 사항이 없으면 함수 버전은 마지막으로 게시된 버전으로 유지됩니다.

각 Lambda 함수 버전에 대한 정규화된 ARN은 고유합니다. 버전을 게시한 후에는 ARN 또는 함수 코드를 변경할 수 없습니다.

권한 부여

리소스 기반 정책 또는 자격 증명 기반 정책을 사용하여 함수에 대한 액세스 권한을 부여할 수 있습니다. 권한의 범위는 정책을 함수에 적용하는지 또는 함수의 한 버전에 적용하는지에 따라 다릅니다. 정책의 함수 리소스 이름에 대한 자세한 내용은 Lambda 작업에 사용되는 리소스 및 조건 단원을 참조하세요.

함수 별칭을 사용하여 이벤트 소스 및 AWS Identity and Access Management(IAM) 정책의 관리를 간소화할 수 있습니다. 자세한 내용은 Lambda 함수 별칭 섹션을 참조하세요.