AWS SAM CloudFormationでVPC Lambdaをデプロイする方法

AWS SAM CloudFormationでVPC Lambdaをデプロイする方法

前提

項目内容補足
Lambdaindex.zipzip圧縮済
デプロイ用バケット名hogehoge
セキュリティグループsg-12345678901234567
サブネットグループsubnet-12345678901234567
subnet-123456789012345682つ指定

Lambdaデプロイする際にVPCの設定をします。VpcConfigで行います。

指定する値は、サブネットID、セキュリティグループIDになります。

in.yml

AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Description: create Lambda function

Resources:

  MyLambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: 'mylambda'
      CodeUri: index.zip
      Handler: index.handler
      Runtime: nodejs16.x
      MemorySize: 128
      Timeout: 15
      VpcConfig:
        SecurityGroupIds:
          - sg-12345678901234567
        SubnetIds:
          - subnet-12345678901234567
          - subnet-12345678901234568

aws cloudformation packageコマンドを実行します。

aws cloudformation package --template-file in.yml --s3-bucket hogehoge --output-template-file out.yml

out.ymlファイルが作成されるので、aws cloudformation deployコマンドを実行します。

スタック名はhogeとしています。

aws cloudformation deploy --template-file out.yml --stack-name hoge --capabilities CAPABILITY_NAMED_IAM

VPC Lambdaがデプロイされます。

AWS SAM CloudFormationでVPC Lambdaをデプロイする方法

参考サイト

AWS::Lambda::Function VpcConfig - AWS CloudFormation
Use the AWS CloudFormation AWS::Lambda::Function.VpcConfig resource for Lambda.
AWS SAM テンプレートの Globals セクション - AWS Serverless Application Model
AWS SAM テンプレートの Globals セクションについて学びます。

コメント

タイトルとURLをコピーしました