기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Lambda 계층 공유
Lambda 계층에 기능을 구현한 경우 전역 인스턴스를 호스팅하지 않고 계층을 공유할 수 있습니다. 이러한 방식으로 계층을 공유하면 다른 사용자가 계층의 인스턴스를 자신의 계정에 배포할 수 있습니다. 따라서 클라이언트 애플리케이션이 계층의 전역 인스턴스에 의존하지 않게 됩니다. 이AWS Serverless Application Repository에서는 이러한 방식으로 Lambda 계층을 쉽게 공유할 수 있습니다.
Lambda 계층에 대한 자세한 내용은 단원을 참조하세요.AWS Lambda계층의AWS Lambda개발자 안내서.
작동 방식
다음은 AWS Serverless Application Repository를 사용하여 계층을 공유하는 단계입니다. 이렇게 하면 사용자의 계층에 계층의 복사본을 생성할 수 있습니다.AWS계정.
-
다음을 사용하여 서버리스 애플리케이션을 정의합니다.AWS SAM레이어를 리소스로 포함하는 템플릿, 즉
AWS::Serverless::LayerVersion
또는AWS::Lambda::LayerVersion
리소스. -
AWS Serverless Application Repository에 애플리케이션을 게시하고 공개 또는 비공개로 공유합니다.
-
고객이 애플리케이션을 배포하여 자체적으로 계층의 복사본을 생성합니다.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