AWS SAM 構文を利用した CloudFormation による Lambda と API Gateway の作成

はじめに

今回は AWS SAM 構文を利用し、 Hello を返す API を作成しました。
AWS SAM 構文を利用すると、シンプルな設定のみでAPIを作成できます。
今回作成するシステムの構成図を以下に示します。

開発環境

・AWS-CLI 1.16.158
・Microsoft Windows 10 Home
※AWS CLI のインストールをしていない場合は、以下を参考にインストール、認証を行ってください。
AWS CLI のインストール
AWS CLI の認証

yaml ファイルの作成

この yaml ファイルに API Gateway と Lambda の設定を書き込みます。
今回使用した yaml ファイルは以下の通りです。

Pythonコードの作成

ただ、Hello を返すコードを記述しました。

各ファイルをパッケージ化し、テンプレートとしてs3にアップロード

以下のコマンドで、各ファイルをパッケージ化し S3 にアップロードします。
このパッケージは、この後 CLoudFormation にデプロイするために利用します。

デプロイ

作成したテンプレートを以下のコマンドでデプロイします。
先ほどのコマンドの実行結果からコマンドをコピペします。
–stack-nameには任意のスタック名を入力し、末尾に–capabilities CAPABILITY_IAMを付けて実行します。
–capabilities CAPABILITY_IAMは IAM 関連の処理を行う際に必要になります。

作成されたAPIの確認

実際に、作成されたAPIをたたくと以下のように Hello と表示されます。

おわりに

今回はAWS SAM 構文を利用して、API を作成しました。
AWS でサーバーレスアプリケーションを構築する際は、CloudFormation の構文を利用するより、SAM 構文のほうがシンプルに書けるので試してみてください。

この記事を書いた人

aws-recipe-user