4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Stylez Advent Calendar 2018

Day 5

AWS上に簡単なServerless環境を作ってみよう。①

Last updated at Posted at 2018-12-04

#はじめに
AWS上にLambdaの関数を定義し、その関数とAPIGatewayを結び付け、予め用意したS3バケット内にある画像が見えるようにする非常にシンプルなサーバーを立てるための手順をまとめてみました。2部構成です。

#LambdaとAPIGatewayの作成

1. サービス画面からLambdaクリックする。

2. Lambda画面から関数の作成クリックする。

3. 関数の作成から一から作成を選択した上で、以下のように作成する。

名前:名前:自分の名前_ServerlessWebpage

ランタイム:Python 3.6

ロール:1つ以上のテンプレートから新しいロールを作成します。

ロール名:自分の名前_LambdaExecution

ポリシーテンプレート:シンプルなマイクロサービスのアクセス権限

Lambda作成.PNG

4.作成完了後、以下のように実施し、保存をクリックする。

➀「関数コード」に「serverlesswebsite.py」の内容を書き込む。
※関数の中身にある名前のところは自分の名前に変更する。

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
APIGatewayトリガー.PNG

6.作成されたAPI Gatewayをクリックする。
APIエンドポイント.PNG

7.API Gateway画面からリソースのANYが選択されている状態でアクション→メソッドの削除をクリックする。
API anyを削除.PNG

8.以下のように新しいメソッドを作成する。
①アクション→メソッドの作成する。
API メソッド作成①.PNG

②GET→チェックボタンをクリックする。
API メソッド作成②.PNG

③以下を入力し、保存をクリックする。
統合タイプ:Lambda 関数
Lambda プロキシ統合の使用:チェックする。
Lambda 関数:自分のLambda関数
デフォルトタイムアウトの使用:チェックする。
API メソッド作成③.PNG

9.API Gateway画面からリソースのGETが選択されている状態でアクション→APIのデプロイをクリックし、以下の内容を追記する。
デプロイされるステージ:default
デプロイメントの説明:自分の名前 deployment
API メソッド作成④.PNG

10.作成されたら、ステージが選択されている状態で、default→GETをクリックし、「URL の呼び出し」のURLを押して自分の名前が出ることを確認する。
APIにて動作確認.PNG

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?