레이어와 AWS CloudFormation 사용하기

레이어와 AWS CloudFormation 사용하기

CloudFormation을 사용해 레이어를 만들고 그 레이어를 Lambda 함수에 연결할 수 있어요. 다음 예시 템플릿은 my-lambda-layer라는 레이어를 만들고 Layers 속성을 사용해 레이어를 Lambda 함수에 연결합니다.

출처: AWS Lambda 개발자 안내서

본문

이 예시에서 템플릿은 기존 IAM 실행 역할의 Amazon Resource Name(ARN)을 지정합니다. 템플릿에서 CloudFormation AWS::IAM::Role 리소스를 사용해 새 실행 역할을 만들 수도 있어요.

함수는 레이어를 사용하기 위해 특별한 권한이 필요하지 않습니다.

---
Description: CloudFormation Template for Lambda Function with Lambda Layer
Resources:
  MyLambdaLayer:
    Type: AWS::Lambda::LayerVersion
    Properties:
      LayerName: my-lambda-layer
      Description: My Lambda Layer
      Content:
        S3Bucket: amzn-s3-demo-bucket
        S3Key: my-layer.zip
      CompatibleRuntimes:
        - python3.9
        - python3.10
        - python3.11

  MyLambdaFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: my-lambda-function
      Runtime: python3.9
      Handler: index.handler
      Timeout: 10
      Role: arn:aws:iam::111122223333:role/my_lambda_role
      Layers:
        - !Ref MyLambdaLayer

AWS Serverless Application Model을 사용해 레이어를 관리할 수도 있어요. 자세한 내용은 레이어와 AWS SAM 사용하기를 참고하세요.

더 알아보기 (Learn more)