Lambda 함수 버전 - AWS Lambda

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

Lambda 함수 버전

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

참고

게시되지 않은 버전($LATEST)이 이전에 게시된 버전과 동일한 경우 함수를 게시하고 새 버전을 생성할 수 없습니다. 새 버전을 생성하려면 먼저 $LATEST에서 코드 변경 사항을 배포하거나 함수의 환경 변수를 업데이트해야 합니다.

함수 버전은 변경할 수 없습니다. 즉, 버전이 게시된 후에는 변경하거나 수정할 수 없습니다. 함수 버전에는 다음 정보가 포함됩니다.

  • 함수 코드 및 모든 관련 종속성.

  • 함수에서 사용하는 Lambda 런타임 식별자와 런타임 버전입니다.

  • 환경 변수를 포함한 모든 함수 설정입니다.

  • 특정 버전의 함수를 식별하는 고유한 Amazon 리소스 이름(ARN).

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

함수 버전 생성

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

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

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

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

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

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

  5. 게시를 선택합니다.

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

다음 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 함수 별칭 섹션을 참조하세요.