AWS SAM CloudFormationでVPC Lambdaをデプロイする方法
前提
| 項目 | 内容 | 補足 |
|---|---|---|
| Lambda | index.zip | zip圧縮済 |
| デプロイ用バケット名 | hogehoge | |
| セキュリティグループ | sg-12345678901234567 | |
| サブネットグループ | subnet-12345678901234567 | |
| subnet-12345678901234568 | 2つ指定 |
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::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セクションについて説明します。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^



コメント