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 の詳細については、「REST API と HTTP API のどちらかを選択する」、「API Gateway HTTP API」、「API Gateway を使用して REST API を作成する」、および「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 ユーザープールなど、強力で柔軟な認証メカニズム。
-
変更を安全に進めるための 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 Management Console – AWS Management Console は、API を作成して管理するためのウェブインターフェイスを提供します。「API Gateway を使用するようにセットアップする」のステップを完了したら、https://console.aws.amazon.com/apigateway
で API Gateway コンソールにアクセスできます。 -
AWS SDK – AWS が SDK を提供しているプログラミング言語を使用している場合は、SDK を使用して API Gateway にアクセスできます。SDK によって認証が簡素化され、開発環境との統合が容易になり、API Gateway コマンドにアクセスすることができます。詳細については、Tools for Amazon Web Services
を参照してください。 -
API Gateway V1 および V2 API – SDK に対応していないプログラミング言語を使用している場合、Amazon API Gateway Version 1 API Reference と Amazon API Gateway Version 2 API Reference を参照してください。
-
AWS Command Line Interface – 詳細については、AWS Command Line Interface ユーザーガイドの「AWS Command Line Interface でのセットアップ」を参照してください。
-
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 の概要については、以下を参照してください。
-
API Gateway の使用を開始するを参照してください。HTTP API を作成するための手順です。
-
サーバーレスランド
、は説明のビデオです。 -
Happy Little API Shorts
は、簡単な講習動画シリーズです。