LoginSignup
50

More than 1 year has passed since last update.

posted at

API Gatewayとlambdaを使ってみる

やりたいこと

API Gatewayとlambdaを連携させて、REST APIの作成してみたいと思います。

まずそれぞれのサービスについての概要

  • AWS Lambda とは

サーバレスでコードを実行することが出来るサービス

詳細は こちら を御覧ください

  • API Gatewy とは

APIの管理や実行を簡単にできるサービスで
クライアントからのリクエストを受け取り、AWSのサービスに渡します

詳細は こちら を御覧ください

手順

  1. lambda関数の作成
  2. API Gatewayで REST APIを作成する
  3. hello lamda API をデプロイ
  4. APIにリクエストを送る

作成

lambda関数の作成

  • lambdaに移動し、関数を作成する

右上の方から関数を作成することが出来ます

1関数 - Lambda - Google Chrome 2021-04-05 17.20.37.png

  • lambdaの詳細設定を記載

オプションは「一から作成」で、
関数名とランタイムを記載して関数を作成します。

2Lambda - Google Chrome 2021-04-05 17.22.21.png

  • lambda関数の完成

今回はサンプルコードがあるので、そのまま使います。
「Hello from Lambda!」がかえるような結果になります。

3hello_world_lambda - Lambda - Google Chrome 2021-04-05 17.26.16.png

API Gatewayで REST APIを作成する

  • API Gatewayに移動し、APIを作成します

右上からAPIを作成します

4API Gateway - Google Chrome 2021-04-05 17.28.32.png

  • APIタイプを選択

色々タイプがありますが、今回は REST API を使用します
「構築」で次へ進みます

5API Gateway - Google Chrome 2021-04-05 17.30.09.png

  • APIの作成

APIの作成を行います。
今回は「新しいAPI」で、
API名と説明、エンドポイントタイプを設定します。
設定が完了したら作成を行います。

6API Gateway - Google Chrome 2021-04-05 17.32.14.png

  • APIが作成できました

7API Gateway - Google Chrome 2021-04-05 17.34.13.png

APIにエンドポイントの設定を行う

  • メソッドの作成

アクション > メソッドの作成 を行います
GETメソッドを作成し、チェックを行います

8API Gateway - Google Chrome 2021-04-05 17.37.01.png

9API Gateway - Google Chrome 2021-04-05 17.39.00.png

  • GETメソッドの詳細

統合タイプは lambda関数
lambdaリージョンは、 東京リージョンを指定
lambda関数は 先程作ったlambda関数を指定し、保存します

10API Gateway - Google Chrome 2021-04-05 17.40.59.png

  • GETメソッドが作成完了

GETメソッドが作成されました
これで hello lamda API からlambda関数を呼び出せるようになりました

11API Gateway - Google Chrome 2021-04-05 17.42.33.png

lambdaを見ると、
lambdaを呼び出すトリガーにAPI Gatewayが設定されています。

12hello_world_lambda - Lambda - Google Chrome 2021-04-05 17.46.55.png

hello lamda API をデプロイ

  • APIのデプロイ

API Gatewayから
アクション > APIのデプロイ を行います

13API Gateway - Google Chrome 2021-04-05 17.49.20.png

  • デプロイの設定

ステージは今ないので、新しいステージを作成して、
ステージ名は今回なんでもいいのでtestにしました。
説明等書いてデプロイします

14API Gateway - Google Chrome 2021-04-05 17.50.46.png

  • デプロイされました

デプロイされて、URLが出力されました。

15API Gateway - Google Chrome 2021-04-05 17.51.49.png

APIにリクエストを送る

↑で出力されたURLをクリックして、APIにリクエストを送ります。
すると、最初にlambdaで設定されていたサンプルコードの
「Hello from Lambda!」 が返ってきました。

16Mozilla Firefox 2021-04-05 17.53.45.png

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
What you can do with signing up
50