AWS Management Console を利用し、Amazon API Gateway をやってみた

2021.07.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。イムチェジョンです。
今回のブログではAWS Management ConsoleでAmazon API Gatewayを使うことをやってみてまとめたいと思います。 ハンズオンはしたのページを参考して行いました。
API Gateway の開始方法

アジェンダ

  1. Amazon API Gatewayとは
  2. Amazon API Gateway 種類
  3. Amazon API Gatewayの使い方
  4. まとめ

1. Amazon API Gatewayとは

Amazon API Gateway

  • Amazon API Gatewayは開発者がAPIを簡単に生成、掲示、メンテナンス、モニタリング及びセキュリティを維持できる完全管理型サービス
  • API Gatewayを使用すると、リアルタイムで両方通信するアプリケーションのためのRESTful APIとWebSocket APIを作成できる
  • ここでAPIはアプリケーションがバックエンドサービスのデータ、ビジネスロジック、または機能にアクセスできる「門」の役割をすることを言う

Amazon API Gatewayの長所

  • 効率的なAPI開発
    • API Gatewayを利用し、同じAPIの複数のバージョンを同時に実行すると、新しいバージョンを素早く繰り返し、テスト及びリリースできる
  • 簡単なモニタリング
    • Amazon CloudWatchを利用し、サービスに対する呼び出しを視覚的にモニタリングできる
      • 性能指標、API呼び出し、データ遅延時間、エラー発生率など、、
  • 柔軟なセキュリティを維持
    • AWS Identity and Access Management(IAM)とAmazon Cognitoを利用してAPIへのアクセス権限を付与
    • OAuthトークンを使用する場合、API Gatewayが基本OIDCとOAuth2に対応している

2. Amazon API Gateway 種類

HTTP API

  • バックエンドHTTPエンドポイント、Lambda関数と統合されたルーティング及びメソッドの集まり
  • 一つ以上のステージで配布できる

REST API

  • バックエンドHTTPエンドポイント、Lambda関数、またはその他AWSサービスと統合されているHTTPリソースとメソッドの集まり
  • 一つ以上のステージで配布できる

WebSocket API

  • バックエンドHTTPエンドポイント、Lambda関数、またはその他AWSサービスと統合されているWebSocketパスとパスキーの集まり
  • 一つ以上のステージで配布できる

3. Amazon API Gatewayの使い方

3-1. Lambda 関数を作成する

今回のハンズオンではAmazon API GatewayとLambdaを統合してテストしようと思うので、Lambdaを作成しましょう。

Lambdaは以下のように設定しました。
関数名:gateway-test-function
ランタイム:Python 3.8

作成したLambdaの画面です。

関数が実行された時、”gateway api test is success!”の文章が出るようにコードソースを変更します。

3-2. HTTP API を作成する

Lambdaの作成が終わったら、Amazon API Gatewayを作成してみましょう。
今回は HTTP API を利用し、ハンズオンを進めますので、HTTP API を選択します。

API作成をする部分で上で作ったLambdaの関数を設定して統合をします。
API名はgateway-http-apiで設定し、次に行きます。

[ルートの設定]と[ステージを定義]は特に設定する必要はないので、次に進めて最後に確認をします。

作成した Amazon API Gateway を確認できます。

3-3. API をテストする

Amazon API Gatewayの作成まで完了しましたので、起動しているのをテストをしてみましょう。
まず、上で作った Amazon API Gateway のページに入ります。
ページの中でAPI Gatewayステージの確認できます。そこのurlをコーピしましょう。

その次、後ろにLambdaの関数名を追加で入力します。
https://bwqzr6pz9l.execute-api.ap-northeast-2.amazonaws.com/gateway_test_function
このページに入るとgateway_test_functionを実行した結果がブラウザに表示されます。

4. まとめ

今回はAmazon API Gatewayを使ってみました。 AWS Management Consoleを使ったら短い時間で作成できたので、すごいと思いました。