2
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?

Amazon API Gatewayと、REST API, HTTP API, WebSocket APIと、APIとVersion(V1, V2)

Last updated at Posted at 2024-01-30

やたら長いタイトルになってしまいましたが、API Gatewayに関して、これらの関係がややこしくて最初ものすごく混乱したので、思考整理も兼ねて、簡単にまとめておきます。

API Gateway

AWSの提供するAPIを作成・管理などするためのサービス。

API Gatewayにまつわる基本的な事柄は、

あたりを参照。

API Gatewayの種類

API Gatewayには、以下の2カテゴリ3種類あります。

ステートレス

  • REST API
  • HTTP API

ステートフル

  • WebSocket API

補足説明など

図を使ってカテゴライズすると以下のような感じ。

image.png

コチラのページなどでREST APIとHTTP APIのみ比較がなされていますが、この2つが同じステートレスのため。

機能重視ならREST API、コスト重視ならHTTP APIといったところでしょうか。

API Gateway V1 および V2 API

公式サイトでは、このページとかに出てくるやつ。

名前からしてややこしいですが、、API Gateway APIは、API Gatewayを操作、すなわち、作成・更新・削除などするためのAPIのこと。
V1(Version1)とV2(Version2)があり、それぞれ以下のような違いがあります。

API Gateway Version 1 API

API Gatewayのうち、REST APIを操作するためのもの
リファレンスは、コチラ

API Gateway Version 2 API

API Gatewayのうち、HTTP API、WebSocket APIを操作するためのもの
リファレンスは、コチラ

補足説明など

図を使ってカテゴライズすると以下のような感じ。
image.png

Versionによって操作できるAPIの種類が違うというわけですね。
なお、IaCサービスであるCloudFormationTerraformにおいても、API同様、

  • V1(無印): REST APIを操作するためのもの
  • V2: HTTP API、WebSocket APIを操作するためのもの

となっています。
API Gateway APIの拡張的なポジションかと思うので、当たり前かもですが、、

まとめ

ここまでの内容を表にまとめると、以下のようになります。

カテゴリ 用途 操作用APIのVersion
REST API ステートレス 機能重視 Version 1
HTTP API ステートレス コスト重視 Version 2
WebSocket API ステートフル 双方向通信 Version 2

ここでREST APIに焦点を当てると、Version1 → 古いので非推奨、ではなく、昔からある重鎮といった感じですね。

終わりに

上記の内容ですらややこしいのに、独自の概念も相まって、なかなかとっつきにくい、、

概念に関しては、

が、とてもわかりやすかったので、一度見てみるとよいかと。

2
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
2
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?