ServerlessのWebアプリケーションを作れるようになったらイケてると思ったのでやってみた *1
◆やること
・Lambda関数を作成
・APIGatewayをREST APIで作成
・作成したAPIGatewayからLambda関数に接続
◆構成
◆実践!
1.Lambda関数作成
1ー1.Lambdaコンソール-[関数の作成]
1-2.関数の作成ページが表示されたら下記を入力
・一からの作成:✅
・関数名:MyFunction
・ランタイム:Python3.10
※他はデフォルト設定
1-3.[関数の作成]をクリック
※今回はデフォルトのコードをそのまま利用するが下記のようになっている。
※関数が呼び出されたらステータスコード200と"Hello from Lambda!"を返すだけですね。
import json def lambda_handler(event, context): # TODO implement return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') }
-
2.APIGateway設定
2-1.APIGatewayコンソール-左ペインから[API]を選択
2-2.APIタイプを選択の画面で[REST API]内の[構築]をクリック
2-3.プロトコルを選択するの画面で下記を入力
・新しいAPIの作成: 新しいAPI
・API名:MyAPI
※他はデフォルト設定
2-4.[APIの作成]をクリック
2-5.リソース内の[アクション]を選択し、プルダウンないの[メソッド]をクリック
2-6.[GET]を選択
2-7.[GET]の[✅]をクリック
2-8.右ペインにセットアップ画面が表示されたら下記を入力
・統合タイプ:Lambda関数
・Lambdaプロキシ統合の使用:✅
・Lambdaリージョン:ap-northeast-1
・Lambda関数:MyFunction
2-9.[保存]をクリック
2-10.リソースの[アクション]プルダウンから[APIのデプロイ]を選択
2-11.APIのデプロイ画面が表示されたら下記を入力
・デプロイされるステージ:新しいステージ
・ステージ名:test
・ステージの説明:任意
・デプロイメントの説明:任意
2-12.[デプロイ]をクリック
-
3.動作確認
3-1.デプロイ完了後ステージエディターが表示されたら[URLの呼び出し]をクリック
※[Hello From Lambda!]が表示されることを確認
3-2.Lambdaコンソール-[MyFunction]を選択
※関数の概要でAPI Gatewayが紐づいていることを確認
後処理
1.Lambda関数削除
Lambdaコンソール-[MyFunction]-[削除]
2.API Gateway API削除
APIGatewayコンソール-[API]-[削除]
◆感想
APIGatewayは難しいイメージがあったが思いのほか簡単にできた!
他サービスと組み合わせてGETメソッド以外も試していきたいと思います!
*1:*´∀