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との利用が主なユースケースとなります。 WebSocket APIのアーキテクチャ

代表的な使い方

  • バックエンドを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}/<br>クライアントがWebSocketAPIと双方向通信をする。<br><br>https://{api-id}.execute-api.{region}.amazonaws.com/@connections/{connection-id}<br>バックエンド(ECS)がクライアント向けのメッセージをWebSocketAPIに送信する。

エンドポイントURLの利用イメージ

前のページ: REST APIとAmazon API Gatewayの基礎次のページ: HTTP APIの基礎