AWS Management Console を利用し、Amazon API Gateway をやってみた
こんにちは。イムチェジョンです。
今回のブログではAWS Management ConsoleでAmazon API Gatewayを使うことをやってみてまとめたいと思います。
ハンズオンはしたのページを参考して行いました。
API Gateway の開始方法
アジェンダ
- Amazon API Gatewayとは
- Amazon API Gateway 種類
- Amazon API Gatewayの使い方
- まとめ
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呼び出し、データ遅延時間、エラー発生率など、、
- Amazon CloudWatchを利用し、サービスに対する呼び出しを視覚的にモニタリングできる
- 柔軟なセキュリティを維持
- 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を使ったら短い時間で作成できたので、すごいと思いました。