#はじめに
AWS上にLambdaの関数を定義し、その関数とAPIGatewayを結び付け、予め用意したS3バケット内にある画像が見えるようにする非常にシンプルなサーバーを立てるための手順をまとめてみました。2部構成です。
#LambdaとAPIGatewayの作成
1. サービス画面からLambdaクリックする。
2. Lambda画面から関数の作成クリックする。
3. 関数の作成から一から作成を選択した上で、以下のように作成する。
名前:名前:自分の名前_ServerlessWebpage
ランタイム:Python 3.6
ロール:1つ以上のテンプレートから新しいロールを作成します。
ロール名:自分の名前_LambdaExecution
ポリシーテンプレート:シンプルなマイクロサービスのアクセス権限
4.作成完了後、以下のように実施し、保存をクリックする。
➀「関数コード」に「serverlesswebsite.py」の内容を書き込む。
※関数の中身にある名前のところは自分の名前に変更する。
def lambda_handler(event, context):
print("In lambda handler")
resp = {
"statusCode": 200,
"headers": {
"Access-Control-Allow-Origin": "*",
},
"body": "自分の名前"
}
return resp
②「基本設定」の説明の内容を書き込む。
説明:自分の名前 basic Lambda Website
5.トリガーの追加でAPI Gatewayを追加し、以下のように選択した上で、保存をクリックする。
API:新規APIの作成
セキュリティ:AWS IAM
7.API Gateway画面からリソースのANYが選択されている状態でアクション→メソッドの削除をクリックする。
8.以下のように新しいメソッドを作成する。
①アクション→メソッドの作成する。
③以下を入力し、保存をクリックする。
統合タイプ:Lambda 関数
Lambda プロキシ統合の使用:チェックする。
Lambda 関数:自分のLambda関数
デフォルトタイムアウトの使用:チェックする。
9.API Gateway画面からリソースのGETが選択されている状態でアクション→APIのデプロイをクリックし、以下の内容を追記する。
デプロイされるステージ:default
デプロイメントの説明:自分の名前 deployment
10.作成されたら、ステージが選択されている状態で、default→GETをクリックし、「URL の呼び出し」のURLを押して自分の名前が出ることを確認する。