HTTP APIの基礎
HTTP APIの基礎
HTTP APIとは?
HTTP APIは、REST APIと同じくHTTPリクエストを受け付けるAPIサービスです。エンドポイントタイプとして「リージョンAPIエンドポイント」が利用できます。
HTTP APIのエンドポイントタイプ
タイプ | 説明 |
---|---|
リージョンAPIエンドポイント | 指定したAWSリージョン内でAPIを提供します。 |
- バックエンドには「AWS Lambda」「HTTPエンドポイント」「AWSサービス」「VPCリンク」などが使えます。
- OIDC(OpenID Connect)プロバイダとしてCognitoも選択できます。
主なユースケース
-
JWTオーソライザによる認証
OIDCプロバイダ(例:Cognito)で認証し、JWTトークンでAPI Gatewayの認証・アクセス制御を行います。 -
ALB経由でのコンテナサービス連携
VPCリンクを使い、ECSなどのコンテナサービスへHTTPリクエストをルーティングします。リクエストパスごとに異なるコンテナへ振り分けることも可能です。
-
CloudMapを使ったサービスディスカバリ
VPCリンクとCloudMapを組み合わせ、ECS/EKSなど複数のコンテナサービスへのトラフィックを柔軟にルーティングできます。
HTTP APIの主な設定項目
-
ルート(Routes)
HTTPメソッド(GET、POST、PUT、DELETEなど)とリソースパスで構成されます。ANYも指定可能です。 -
統合(Integrations)
バックエンドとしてLambdaやHTTPエンドポイントなどを選択できます。 -
ステージ(Stages)
APIの公開環境(例:dev、prod)。$default
ステージを使うと、ステージ名なしのエンドポイントURLも発行できます。 -
エンドポイントURL例
https://{api-id}.execute-api.{region}.amazonaws.com/
{api-id}
はAPIのID、{region}
はリージョン名です。