Amazon API Gateway
開発者ガイド

Amazon API Gateway とは?

Amazon API Gateway は、あらゆる規模の REST および WebSocket API を作成、公開、保守、モニタリング、および保護するための AWS サービスです。API 開発者は、AWS または他のウェブサービス、AWS クラウドに保存されているデータにアクセスする API を作成できます。API Gateway API 開発者として、独自のクライアントアプリケーション (アプリ) で使用するための API を作成できます。または、API をサードパーティーのアプリ開発者に対して使用可能にできます。詳細については、「API Gateway を使用するユーザー」を参照してください。

API Gateway は、以下のような REST API を作成します。

  • HTTP ベース。

  • ステートレスなクライアントサーバー通信を可能にする REST プロトコルに準拠しています。

  • GET、POST、PUT、PATCH、DELETE などの標準の HTTP メソッドを実装しています。

API Gateway REST API の詳細については、「API Gateway を使用した REST API の作成」および「Amazon API Gateway で REST API を作成する」を参照してください。

API Gateway は、以下のような WebSocket API を作成します。

  • WebSocket プロトコルを遵守します。これにより、クライアントとサーバー間のステートフルな全二重通信が可能になります。

  • メッセージの内容に基づいて、受信メッセージをルーティングします。

API Gateway WebSocket API の詳細については、「API Gateway を使用した WebSocket API の作成」および「API Gateway での WebSocket API について」を参照してください。

注記

その名前とは対照的に、API Gateway は既存の Amazon や AWS API を使用するアプリやサービスの開発には必要ありません。これらに関する情報については、以下のソースを試してください。

API Gateway のアーキテクチャー

API Gateway のアーキテクチャを次の図に示します。


                API Gateway アーキテクチャの図

図で示されているように、アプリケーション (またはクライアントアプリケーション) は AWS でホストされている 1 つまたは複数の API を介して、API Gateway のサービスまたはインターネット上のウェブサイトでプログラムによるアクセスを取得します。このアプリケーションは、API のフロントエンドで表示されます。統合された AWS のサービスおよびウェブサイトは、API のバックエンドにあります。

Amazon API Gateway を使用すると、API をビルドして、AWS クラウドベースのアプリケーションを構築するために、統合された一貫性のある開発者エクスペリエンスをユーザーに提供できます。

API Gateway の機能

Amazon API Gateway は次のような機能を提供します。

API Gateway 機能のリリースの完全なリストについては、「ドキュメント履歴」を参照してください。

API Gateway へのアクセス

Amazon API Gateway には、以下の方法でアクセスできます。

AWS サーバーレスインフラストラクチャの一部

API Gateway は、AWS Lambda と連携して、AWS サーバーレスインフラストラクチャのうち、アプリケーション向け部分を形成します。アプリケーションで一般的に利用可能な AWS のサービスを呼び出す場合は、Lambda を使用して必要なサービスを操作し、API Gateway の API メソッドを使用して Lambda 関数を呼び出すことができます。AWS Lambda では、可用性に優れたコンピューティングインフラストラクチャでコードを実行します。また、必要に応じて、コンピューティングリソースを実行および管理します。サーバーレスアプリケーションを有効にするために、API Gateway では、AWS Lambda および HTTP エンドポイントを使用したプロキシ統合の効率化をサポートしています。

Amazon API Gateway の使用を開始する方法

Amazon API Gateway の簡単な説明については、以下のトピックを参照してください。