🐡

API Gateway ストリーミングで爆速レスポンス🚀

に公開

💡 まとめ(TL;DR)

ユースケース Before After
AI チャットボット 全文生成後にしか返せない 生成途中から即時返せる
大容量データ配信 10MB 制限で返却不可 チャンクで大容量でも返却可
長時間処理 完了まで無応答 途中経過を逐次返せる
画像/動画生成 pre-signed URL が必要 API から直接段階返却できる
外部 API 連携 全取得まで待つ必要 部分結果からすぐ返せる
IoT/センサー ポーリング必須 更新をリアルタイム配信

APIを作っている時、「レスポンスが返ってくるまで、なんだか待たされるな…」と感じたことはありませんか?

特に、最近流行りのAIチャットボットのように、長い文章を生成するアプリケーションでは、応答を待つ時間が長く感じてしまいますよね。
Amazon API Gateway の新しい機能「レスポンス・ストリーミング」は、そんなユーザーのモヤモヤを一気に解消してくれる、魔法のような機能です。


1. 😱 なぜAPIは「遅く」感じてしまうのか?

従来の API Gateway の仕組みには、

「データを全部集めてから、一気に送る!」

というルールがありました。

例えば、AI が長い文章を生成しているケースでは:

  1. サーバー側が時間をかけてデータを準備する
  2. API Gateway が データがすべて揃うまで待機(バッファリング)
  3. 全部揃ってからようやくクライアントへの送信がスタート

この「全部揃うまでの待ち時間」こそが
ユーザーが「あれ?フリーズした?」と感じる最大の原因です。

さらに、大きなデータを扱う場合には 最大10MBの制限 も壁になっていました。


2. ✨ ストリーミングが変える「新しい常識」

レスポンス・ストリーミングを使うとルールが一変します。

「データが出来たら、すぐに少しずつ送る!」

というスタイルに!

⚡️ 応答開始が超高速

データが利用可能になり次第、即座に送信。
TTFB(最初の1バイトが届くまでの時間) が劇的に短縮されます。

チャットボットが文字をリアルタイムに返すように、体感速度が大幅アップ!

📂 大きなデータも余裕

10MB制限を気にせず、
大きなファイルや長時間かかる応答(最大15分)もスムーズに。

🛠️ 設定は簡単

  • API Gateway の「レスポンス転送モード」を STREAM に変更
  • Lambda 側でストリーム出力コードを少し調整

これだけであなたのAPIは「待たせないAPI」に大変身します。


参照

Discussion