Amazon API Gateway とは何ですか?
Amazon API Gateway は、あらゆる規模の REST、HTTP、WebSocket API を作成、公開、管理、モニタリング、保護するための AWS
のサービスです。API デベロッパーは、AWS または他のウェブサービス、AWS クラウド
API Gateway は、次のような RESTful API を作成します。
-
HTTP ベース。
-
ステートレスなクライアント/サーバー通信を有効にします。
-
GET、POST、PUT、PATCH、DELETE などの標準の HTTP メソッドを実装します。
API Gateway REST API および HTTP API の詳細については、「HTTP API と REST API 間で選択する」、「HTTP 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 のアーキテクチャ
API Gateway のアーキテクチャを次の図に示します。

この図は、Amazon API Gateway で構築した API が、AWS サーバーレスアプリケーションを構築するための統合的で一貫性のあるデベロッパーエクスペリエンスをお客様、またはデベロッパー顧客に提供する方法を示しています。API Gateway では、最大で数十万個の同時 API コールの受け入れ処理に伴うすべてのタスクを取り扱います。これにはトラフィック管理、認証とアクセスコントロール、モニタリング、API バージョン管理が含まれます。
API Gateway は、アプリケーションがバックエンドサービスからデータ、ビジネスロジック、機能にアクセスするための「フロントドア」として機能します。たとえば、Amazon Elastic Compute Cloud (Amazon EC2) で実行されているワークロード、AWS Lambda で実行されているコード、ウェブアプリケーション、リアルタイム通信アプリケーションなどです。
API Gateway の特徴
Amazon API Gateway には、次のような機能があります。
-
AWS Identity and Access Management ポリシー、Lambda オーソライザー関数、Amazon Cognito ユーザープールなど、強力で柔軟な認証メカニズム。
-
API を発行するための開発者ポータル。
-
変更を安全に進めるための Canary リリースのデプロイ。
-
API の使用状況と API の変更に関する CloudTrail ログ記録とモニタリング。
-
アラームの設定機能を含む、CloudWatch アクセスのログ記録と実行のログ記録。詳細については、「Amazon CloudWatch のメトリクスを使用した REST API の実行のモニタリング」および「CloudWatch メトリクスを使用した WebSocket API の実行のモニタリング」を参照してください。
-
AWS CloudFormation テンプレートを使用して API の作成を有効にする機能。詳細については、Amazon API Gateway Resource Types Reference および「Amazon API Gateway V2 リソースタイプのリファレンス」を参照してください。
-
カスタムドメイン名のサポート。
-
一般的なウェブの脆弱性から API を保護するための AWS WAF との統合。
-
パフォーマンスのレイテンシーを理解し、対処順位を決定するための AWS X-Ray との統合。
API Gateway 機能のリリースの完全なリストについては、「ドキュメント履歴」を参照してください。
API Gateway へのアクセス
Amazon API Gateway には、以下の方法でアクセスできます。
-
AWS マネジメントコンソール – このガイドの手順では、AWS マネジメントコンソールを使用してタスクを実行する方法について説明しています。
-
AWS SDK – AWS が SDK を提供しているプログラミング言語を使用している場合は、SDK を使用して API Gateway にアクセスできます。SDK によって認証が簡素化され、開発環境との統合が容易になり、API Gateway コマンドにアクセスすることができます。詳細については、「アマゾン ウェブ サービスのツール
」を参照してください。 -
API Gateway V1 および V2 API – SDK に対応していないプログラミング言語を使用している場合、Amazon API Gateway Version 1 API Reference と Amazon API Gateway Version 2 API Reference を参照してください。
-
AWS コマンドラインインターフェイス – 詳細については、AWS コマンドラインインターフェイスユーザーガイドの「AWS コマンドラインインターフェイスの設定」を参照してください。
-
AWS Tools for Windows PowerShell – 詳細については、AWS Tools for Windows PowerShell ユーザーガイドの「AWS Tools for Windows PowerShell のインストール」を参照してください。
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 の簡単な説明については、以下のトピックを参照してください。
-
Amazon API Gateway を使用して API を作成する方法を示すチュートリアルとビデオを提供する「Amazon API Gateway の開始方法」。
-
「Amazon API Gateway での WebSocket API の発表
」では、WebSocket API の作成方法を説明しています。