Lambda 계층 공유 - AWS Serverless Application Repository

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

Lambda 계층 공유

Lambda 계층에 기능을 구현한 경우 전역 인스턴스를 호스팅하지 않고 계층을 공유할 수 있습니다. 이러한 방식으로 계층을 공유하면 다른 사용자가 계층의 인스턴스를 자신의 계정에 배포할 수 있습니다. 따라서 클라이언트 애플리케이션이 계층의 전역 인스턴스에 의존하지 않게 됩니다. 이AWS Serverless Application Repository에서는 이러한 방식으로 Lambda 계층을 쉽게 공유할 수 있습니다.

Lambda 계층에 대한 자세한 내용은 단원을 참조하세요.AWS Lambda계층AWS Lambda개발자 안내서.

작동 방식

다음은 AWS Serverless Application Repository를 사용하여 계층을 공유하는 단계입니다. 이렇게 하면 사용자의 계층에 계층의 복사본을 생성할 수 있습니다.AWS계정.

  1. 다음을 사용하여 서버리스 애플리케이션을 정의합니다.AWS SAM레이어를 리소스로 포함하는 템플릿, 즉AWS::Serverless::LayerVersion또는AWS::Lambda::LayerVersion리소스.

  2. AWS Serverless Application Repository에 애플리케이션을 게시하고 공개 또는 비공개로 공유합니다.

  3. 고객이 애플리케이션을 배포하여 자체적으로 계층의 복사본을 생성합니다.AWS계정. 이제 고객은 계층에 있는 계층의 Amazon 리소스 이름 (ARN) 을 참조할 수 있습니다.AWS클라이언트 애플리케이션에서 계정을 생성합니다.

다음은 예제입니다.AWS SAM공유할 Lambda 계층이 포함된 애플리케이션용 템플릿:

Resources: SharedLayer: Type: AWS::Serverless::LayerVersion Properties: LayerName: shared-layer ContentUri: source/layer-code/ CompatibleRuntimes: - python3.7 Outputs: LayerArn: Value: !Ref SharedLayer

고객이 에서 애플리케이션을 배포하는 경우AWS Serverless Application Repository에서 레이어가 생성됩니다.AWS계정. 계층의 ARN은 다음과 같습니다.

arn:aws:lambda:us-east-1:012345678901:layer:shared-layer:1

이제 고객은 다음 예와 같이 자체 클라이언트 애플리케이션에서 이 ARN을 참조할 수 있습니다.

Resources: MyFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.7 CodeUrl: source/app-code/ Layers: - arn:aws:lambda:us-east-1:012345678901:layer:shared-layer:1