AWS認定資格 WEB問題集&徹底解説
生成AIデベロッパー-プロフェッショナル
問題文と選択肢
クライアントアプリケーションとバックエンドの間にこの永続的な双方向接続を確立するために使うべきAWSサービスはどれか。
- Amazon Kinesis Data Streams にクライアントの入力を随時送信し、バックエンド側でモデル呼び出しの結果を別途ポーリングして取得する
- Amazon SQS のキューでクライアントの入力とモデルの応答を非同期にやり取りする
- Amazon API Gateway の WebSocket API を使い、クライアントとバックエンドの間に永続的な双方向接続を確立する
- Amazon API Gateway の REST API を、クライアントが一定間隔でポーリングして最新の提案を取得する
A. Amazon Kinesis Data Streams にクライアントの入力を随時送信し、バックエンド側でモデル呼び出しの結果を別途ポーリングして取得する
Amazon Kinesis Data Streams は大量のイベントデータを取り込んで複数のコンシューマーへ配信するためのストリーミングデータ基盤で、クライアント(オペレーターのブラウザ)と常時接続を張るための仕組みではありません。
クライアントはレコードを put できても、返ってくる提案は別途ポーリングして取りに行く設計になり、「常時接続の双方向通信」という要件を満たしません。
シャード管理やイテレーターの扱いも必要で、UI 向けの低レイテンシな逐次表示には不向きです。
B. Amazon SQS のキューでクライアントの入力とモデルの応答を非同期にやり取りする
Amazon SQS は非同期のメッセージキューであり、コンシューマーがメッセージを受信するにはポーリング(ロングポーリングを含む)が必要です。
サーバーからクライアントへ能動的にトークンを push できないため、タイプするたびに提案が逐次流れてくる体験は作れません。
疎結合なジョブ連携には最適ですが、対話 UI のリアルタイム通信路としては誤りです。
C. Amazon API Gateway の WebSocket API を使い、クライアントとバックエンドの間に永続的な双方向接続を確立する
Amazon API Gateway の WebSocket API は、クライアントとバックエンドの間に永続的な双方向接続を確立するためのマネージド機能です。
クライアントからは入力中のテキストを同じ接続で随時送信でき、バックエンドは接続 ID を指定した @connections API(PostToClient)でサーバー側から能動的にデータを push できるため、Amazon Bedrock のストリーミング応答(InvokeModelWithResponseStream)で受け取ったトークンをそのまま逐次転送できます。
接続管理・スケーリング・認証を API Gateway に任せられる点でも、常時接続を要する支援ツールの定石です。
D. Amazon API Gateway の REST API を、クライアントが一定間隔でポーリングして最新の提案を取得する
REST API を一定間隔でポーリングする方式は、クライアントが要求したときにしか応答を取得できないため、トークン単位の即時表示になりません。
間隔を短くすれば遅延は縮みますが、空振りリクエストが増えてコストと負荷が跳ね上がり、それでも「常時接続の双方向通信」という明示要件は満たせません。
REST API は 1 往復で完結する要求/応答向けであり、この用途には構造的に合いません。
常時接続の双方向ストリーミングは API Gateway の WebSocket API。ポーリングもキューも代替にならない。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| クライアントとバックエンドの間に永続的な接続を確立する | WebSocket API だけが常時接続を維持できる。REST は要求のたびに接続が完結する →選択肢(D)を消す |
| 入力のたびにクライアントから送信し、提案をサーバーから受け取る(双方向) | サーバーから能動的に push できるかが分かれ目。キューはコンシューマーのポーリング前提 →選択肢(B)を消す |
| モデルの提案をトークン単位で即座に受け取る(低レイテンシの逐次配信) | @connections API で接続 ID 宛に逐次 push できる。ポーリング間隔に律速される方式では実現できない →選択肢(C)が正解 |
| 対象はオペレーターのクライアントアプリ(UI 向けの通信路) | ストリーミングデータ取り込み基盤はクライアント接続の受け口ではない。シャードやイテレーターの管理も UI 用途には過剰 →選択肢(A)を消す |
ひっかけポイント
- Kinesis Data Streams は「ストリーミング」という語が要件と重なるため紛らわしいが、データ分析基盤へのストリーム取り込み用。クライアントとの常時接続を張る仕組みではない
- SQS は「非同期にやり取り」と書かれている時点で要件と矛盾する。設問が求めているのは同期的・双方向・常時接続
- REST API のポーリングは実装が容易で一見成立するが、「永続的な双方向接続」という明示要件を満たさない。間隔を詰めても空振り呼び出しが増えるだけ
- Bedrock 側の InvokeModelWithResponseStream はサーバーとモデルの間のストリーミング。クライアントまでトークンを届ける経路は別途 WebSocket などで用意する必要がある
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「サーバーから一方向に進捗や結果を流せればよい」 | Lambda 関数 URL のレスポンスストリーミングや SSE(Server-Sent Events)も選択肢に。 |
| 「モバイル/Web アプリへ購読ベースでリアルタイム通知したい」 | AWS AppSync の GraphQL サブスクリプションが正解軸に。 |
| 「長時間かかる処理を投げっぱなしにして後で結果を受け取る」 | Amazon SQS +非同期処理が正解に。 |
| 「通話音声を逐次テキスト化しながら要約したい」 | Amazon Transcribe のストリーミングと組み合わせる構成が問われる。 |
| 「大量のクリックストリームを分析基盤へ取り込みたい」 | Kinesis Data Streams / Data Firehose が正解に。 |
クライアントアプリケーションとバックエンドの間にこの永続的な双方向接続を確立するために使うべきAWSサービスはどれか。
- Amazon Kinesis Data Streams にクライアントの入力を随時送信し、バックエンド側でモデル呼び出しの結果を別途ポーリングして取得する
- Amazon SQS のキューでクライアントの入力とモデルの応答を非同期にやり取りする
- Amazon API Gateway の WebSocket API を使い、クライアントとバックエンドの間に永続的な双方向接続を確立する
- Amazon API Gateway の REST API を、クライアントが一定間隔でポーリングして最新の提案を取得する
次の問題前の問題
会員機能
お役立ち情報
- プレミアム会員のご紹介
- 「徹底解説」のご紹介
- 「模擬試験」のご紹介
- 収録問題と試験ガイドの対応
- 会員機能のご紹介
- おすすめの勉強方法
- AWSサービスの解説
- AWS認定資格の種類・対象者・受験料・合格ライン
- スマホのホーム画面に登録する方法
姉妹サイト
- CLF:AWS 認定クラウドプラクティショナー
- SAA:AWS 認定ソリューションアーキテクト-アソシエイト
- AIF:AWS 認定AIプラクティショナー
- SOA:AWS 認定CloudOpsエンジニア-アソシエイト
- DVA:AWS 認定デベロッパー-アソシエイト
- DEA:AWS 認定データエンジニア-アソシエイト
- MLA:AWS 認定機械学習エンジニア-アソシエイト
- SAP:AWS 認定ソリューションアーキテクト-プロフェッショナル
- DOP:AWS 認定DevOpsエンジニア-プロフェッショナル
- AIP:AWS 認定生成AIデベロッパー-プロフェッショナル
- SCS:AWS 認定セキュリティ-専門知識
- AZ-900:Microsoft Azure Fundamentals
- AI-900:Microsoft Azure AI Fundamentals