0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS API GatewayのHTTP APIとREAT APIの違い

Last updated at Posted at 2024-08-07

はじめに

AWS API Gatewayは、APIを作成、管理、保護するためのサービスです。

API Gatewayでは次の4つのタイプが提供されています。

  • HTTP API
  • REST API
  • WebSocket API
  • REST APIプライベート

今回はHTTP APIとREST APIを取り上げ、それぞれのAPIタイプの違いと選択基準について説明します。

1. HTTP API

1.1 概要

HTTP APIは、シンプルで低レイテンシなHTTPリクエストの処理に最適化されたAPIタイプです。
主に、迅速な開発と低コストを重視する場合に適しています。

1.2 特徴

  • 低コスト: HTTP APIは、従量課金制であり、REST APIよりも一般的にコストが低くなります。
  • 低レイテンシ: 高速なレスポンスが期待でき、サーバーレスアーキテクチャに最適です。
  • 簡素な設定: APIの作成と管理が簡単で、少ない設定項目で済みます。
  • Lambda統合: Lambda関数との統合が簡単に設定できる。
  • WebSocketサポート: HTTP APIではWebSocket APIがサポートされています。

1.3 適用例

  • シンプルなAPIエンドポイント
  • マイクロサービスのエンドポイント
  • リアルタイムアプリケーションのバックエンド

2. REST API

2.1 概要

REST APIは、より複雑なAPI管理と機能を提供するAPIタイプです。
詳細な設定オプションや、リソースベースのAPI設計を必要とする場合に最適です。

2.2 特徴

  • 高機能: 詳細なキャッシュ設定、バージョニング、リソースポリシーなどの高機能な設定が可能です。
  • 認証と承認: IAMポリシー、Cognitoユーザープール、カスタムオーソライザーなど、多様な認証オプションがあります。
  • リソースベースの設計: リソースごとのメソッド設定や、詳細なエラーハンドリングが可能です。
  • API Gatewayコンソール: 詳細なデバッグ情報やトラフィック分析機能が提供されます。

2.3 適用例

  • 複雑なAPIエンドポイント
  • 高度な認証や承認が必要なAPI
  • リソースやメソッドの詳細な制御が必要な場合

3. 比較まとめ

特徴 HTTP API REST API
コスト 低コスト 高コスト
レイテンシ 低レイテンシ 通常のレイテンシ
機能 基本的な機能 高度な機能(キャッシュ、バージョニング等)
設定の簡便さ 簡単 詳細な設定が必要
認証 Lambda、IAM Lambda、IAM、Cognito、カスタムオーソライザー

4. どちらを選ぶべきか?

  • シンプルなAPIエンドポイント低コストを重視する場合は、HTTP APIが適しています。
  • 複雑なAPI詳細な認証設定リソースごとの管理が必要な場合は、REST APIを選択するのが良いでしょう。

5. まとめ

AWS API Gatewayでは、HTTP APIとREST APIの2つのAPIタイプが提供されており、それぞれ異なる機能と特徴があります。

ニーズに応じて適切なAPIタイプを選ぶことになりますが、簡単に言うと要件が少なくシンプルなものでいいのであればHTTP API、複雑で高度な設定を要するものであればREST APIを選ぶことになると思います。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?