AWS SAMを利用して、Lambda関数デプロイする

前のPostに CloudFrontとLambda@Edgeを利用して画像をリサイズさせる 方法に関する内容がありましたが、AWS SAMを利用してCloudFormationでLambda関数をデプロイする方法をまとめてみました。 デプロイ順番 SAM CLIインストール Install SAM CLI 私は SAM CLI, version 1.23.0を利用しました。 template.yaml作成 CloudFormation基盤のテンプレート(template.yaml)を作成します。 . ├── index.js ├── node_modules/ ├── template.yaml ├── package-lock.json └── package.json SAM deployを利用した、コードのパッケージングとデプロイ SAM deploy \ --template-file template.yaml \ # Lambda@edgeの場合はus-east-1リージョンに作成したBucketが必要です。 --s3-bucket <zipファイルをアップロードするBucket name> \ --s3-prefix SAM \ --stack-name <cloudformation スタック名> \ --capabilities CAPABILITY_NAMED_IAM \ --region <cloudformationをデプロイするリージョン名> \ --profile <profile name> SAMはデプロイ時、 アプリケーションのコードを圧縮して、S3へアップロード CodeUriがS3 pathに変換されたCloudFormationテンプレートファイル作成、S3へアップロード S3にアップロードされたファイルを利用して、Cloudformationのスタック作成してデプロイ Cloudformationコンソール上でTemplateの中身を確認するとCodeUriがS3のパスになっていることが確認できます。 CodeUri: s3://<zipファイルをアップロードするBucket name>/SAM/70b53b458e040c19f27aaf1d7f197e0e Cloudformationのスタック作成が完了されたら、OutputsにLambda関数の新たなバージョンを含めたARNを表示してくれます。 このARNをCloudfrontのリサイズ用のBehaviors > Edge Function Associations > Function ARN/Nameへ指定します。...

2021-05-17 · bokyung