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(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント