WebSocket APIの基礎(API Gateway)
API GatewayのWebSocket APIについて、双方向通信の特徴、統合先、代表ユースケースと主要設定項目を整理します。
WebSocket APIの基礎
WebSocket APIとは?
WebSocket APIは、WebSocketという仕組みを使って「サーバーとクライアントがリアルタイムで双方向にやりとりできる」APIです。チャットや通知など、すぐに情報を送りたいサービスで使われます。
WebSocket APIのエンドポイントタイプ
| タイプ | 説明 | |---|---| | リージョンAPIエンドポイント | 指定したAWSリージョン内でAPIを提供します。 |
- バックエンドには「Lambda」「HTTPエンドポイント」「Mock」「AWSサービス」「VPCリンク」などが使えます。
- 特にVPCリンクを使うと、ECSやEC2などのコンテナアプリケーションと連携できます。
主なユースケース
双方向という特性上、EC2やECSとの利用が主なユースケースとなります。

代表的な使い方
- バックエンドをECSなどのコンテナで構成し、NLB経由でAPI Gatewayとつなげます。
- REST APIと同じく、ALB(アプリケーションロードバランサー)は直接使えません。ALBを使いたい場合はHTTP APIを検討します。
WebSocket APIの主な設定項目
| 設定項目 | 説明 |
|---|---|
| ルート選択式 | 受信したメッセージの内容(例:actionキー)で処理を振り分けます。例:$request.body.action |
| ルート | どの処理を行うかを決める設定。$connect(接続時 )接続の初期化や認証など、$disconnect(切断時)リソースの解放や接続情報の削除など、$default(その他)などがあります。 |
| 統合 | LambdaやHTTPエンドポイントなど、どこに処理を渡すかを決めます。 |
| ステージ | APIの公開環境(例:dev、prod)。WebSocketはサーバーからクライアントへのコールバックも可能です。 |
| エンドポイントURL例 | wss://{api-id}.execute-api.{region}.amazonaws.com/{stageName}/クライアントがWebSocketAPIと双方向通信をする。https://{api-id}.execute-api.{region}.amazonaws.com/@connections/{connection-id}バックエンド(ECS)がクライアント向けのメッセージをWebSocketAPIに送信する。 |

重要ポイント
- ▸WebSocketでリアルタイム双方向通信
- ▸リージョンAPIエンドポイントで提供
- ▸Lambda/HTTP/AWSサービス/VPCリンク等に統合
- ▸ルート選択式でメッセージ内容で処理分岐
- ▸wss接続URLと@connections送信を押さえる
このトピックの学習を完了しますか?
完了状態はいつでも切り替えられます