AWS技術ブログ

【初心者でも分かる】Amazon API Gatewayとは何ができるのか?

記事内に商品プロモーションを含む場合があります

本記事では、Amazon API Gatewayについて、初心者でも分かりやすいように簡単なイメージを使い、解説しています!

Amazon API Gatewayについて、イマイチ理解が出来ない方は、ぜひご覧ください!

ざっくり説明すると…

・APIの作成、管理、保護、監視などを簡単に行うことができるフルマネージド型のAPI管理サービス
・ユーザーから届いた要請を個別のサービスにルーティングする役割


まずはAPIについて復習しましょう…!

そもそもAPIとは何かについて解説します!

APIとは

アプリケーションがサーバーにリクエストをして、結果をレスポンスする一連の流れのこと。

具体的にみていきましょう!

ある旅行予約サイトのアプリケーションが、ホテルの予約状況を知りたかったとしましょう。

その場合、アプリケーションから予約状況の分かるサーバーにリクエストを投げ、目的の予約情報が得られるとします。この一連の流れがAPIの仕組みです。

APIについて復習ができたところで、続いて「Amazon API Gateway」の概要について解説します!


Amazon API Gatewayは、AWSサービスに接続をするための入り口といった認識を持っておければ大丈夫です!

API Gatewayで受け付けたリクエストは、実際に処理を行うAWSサービスに連携されます。



まとめると、Amazon API GatewayはAWSサービスに接続をするための入り口となり、簡単にAPIの作成、配布、保守、監視、保護が行えます


Amazon API Gatewayを作成すると、特定のリージョンにAPIがデプロイ(配置)されます。

その際にデプロイされたAPIのホスト名のことをAPIエンドポイントと呼びます。

APIエンドポイントには、トラフィック発信元によって以下の3つのタイプに分かれます。

  1. エッジ最適化 APIエンドポイント
  2. リージョン APIエンドポイント
  3. プライベート APIエンドポイント

エッジ最適化 APIエンドポイント

最寄りのCloud Frontから通信を受けることができます。
そのため、地理的に分散されたクライントの接続と低レイテンシーを実現できます。


リージョン APIエンドポイント

APIと同一リージョン内のクライアントからの通信を受けることができます。
そのため、同一リージョン内のクライントと低レイテンシーの接続を実現できます。



プライベート APIエンドポイント

APIと同一のVPC内のクライアントからの通信を受けることができます。
①と②のようにパブリックなエンドポイントを持たないため、安全に公開することが可能です。



コンソール画面で、簡単にエンドポイントの選択が可能です▼

クライアントからリクエストを送り、レスポンスが返ってくるまでのフローで4つの設定が可能です。
まずは全体像を把握して、その後ひとつひとつの設定について見ていきましょう!

  1. メソッドリクエスト
  2. 統合リクエスト
  3. 統合レスポンス
  4. メソッドレスポンス


①メソッドリクエスト

クライアントからのリクエストを受付するような役割です。

仕様や文法があっているか、適切に記述されているかを確認することで、誤った形式のリクエストを後続のサービスに送信して、余分な処理が走らないようにチェックします。



②統合リクエスト

バックエンドとの接続情報を設定します。
必要に応じて、マッピングテンプレートという機能を使用して、データの形をカスタマイズすることができます。


③統合レスポンス

バックエンドサービスからのレスポンスに関する設定を行います。
レスポンスの内容を必要に応じてカスタマイズすることができます


④メソッドレスポンス

リクエストに対する最終的なレスポンスに関する設定を行います
具体的には、レスポンス内のステータスコードや、レスポンスヘッダ等の設定を行います。


APIキャッシュを使用することで、バックエンドサービスに送信されるリクエストの数を減らすことが可能になります。

APIキャッシュのメリット
  1. 低レイテンシーでのレスポンスが可能
  2. バックエンド・サービスに不要な負荷をかけない
  3. コスト削減

キャッシュを有効にすると、秒単位で指定した有効期限 (TTL) が切れるまで、エンドポイントからのレスポンスをキャッシュします。

・API キャッシュのデフォルトの TTL 値は 300 秒
・最大の TTL 値は 3600 秒




コンソール画面で、簡単にキャッシュの有効化が可能です▼



API キーは、API へのアクセスを制御するために使用する英数字の文字列のことです。
API GatewayからAPIキーを発行することで、以下のことが可能になります。

  1. APIキーを持つユーザーのみアクセス可能なAPIを作成できる
  2. 使用量プランを作成して、APIキーへの1秒あたりのアクセス数上限や、可能なリクエスト数などをできる
  3. APIキーごとのアクセス回数を取得できる

API Gatewayが独自に発行している認証情報のようなもの!

APIキーはプロジェクト単位で割り当てることができるため、利用者の使用状況を確認したり、権限を持たない人からの接続を防いだりできます。

その結果、セキュリティを高める効果が期待できます。


本記事では、API Gatewayについて解説しました。
API Gatewayの活用はAPIの運用を行う上で非常に重要なツールとなります。

要件にあわせて、正しく活用していきましょう!

ABOUT ME
あさひ
アラサーでAWSの資格を取得して、未経験でIT業界転職に成功▶️インフラエンジニア1年目! SES企業に入社して、案件先でAWS関連の業務に携わっています。 アウトプットのために、主にクラウドサービスに関する記事を執筆していきます。 初心者の方にも分かりやすい発信を心がけています🎵 <取得済み資格>AWS SAA ,SOA , LPIC-1 , TOEIC 830