Q34 — AWS SAP-C02 第3章
第 34/75 問 | ← 第3章
Q259. ある企業は、Amazon API Gateway、Amazon DynamoDB、AWS Lambda を使用して AWS 上にブログ投稿アプリケーションをホストしています。現在、このアプリケーションでは API キーによるリクエスト認可は使用していません。API のモデルは以下のとおりです: GET /posts/[postid] — 投稿の詳細を取得 GET /users/[userid] — ユーザーの詳細を取得 GET /comments/[commentid] — コメントの詳細を取得 企業は、ユーザーがコメント欄で活発に議論していることに気づき、コメントをリアルタイムで表示することでユーザー参加度を高めたいと考えています。コメントの遅延を低減し、ユーザー体験を向上させるには、どの設計を採用すべきでしょうか?
- A. エッジ最適化 API と Amazon CloudFront を使用して API 応答をキャッシュする。
- B. ブログアプリケーションのコードを変更し、10 秒ごとに GET /comments/[commentid] をリクエストするようにする。
- C. AWS AppSync を使用し、WebSockets を活用してコメントを配信する。 ✓
- D. Lambda 関数の同時実行数制限を変更して、API 応答時間を短縮する。
正解: C. AWS AppSync を使用し、WebSockets を活用してコメントを配信する。
解説
コメントの遅延を低減し、ユーザー体験を向上させるには、選択肢 C が最も適した方法です。AWS AppSync と WebSocket を組み合わせることで、ユーザーに対してリアルタイムでコメントの更新を配信できます。これにより、ユーザーはページを再読み込みしたり、新しいデータを明示的にリクエストしたりすることなく、変更を即座に確認できるようになります。一方、選択肢 A(エッジ最適化 API と Amazon CloudFront を用いた応答キャッシュ)は応答時間の改善には寄与しますが、リアルタイム更新は提供できません。選択肢 B は、頻繁な GET /comments/[commentid] リクエストによってアプリケーションに不要な負荷をかけ、運用コストの増加を招く可能性があります。選択肢 D(Lambda 関数の同時実行数制限の変更)は、本シナリオにおいてボトルネックではないため、API 応答時間の改善には寄与しません。AWS AppSync は、DynamoDB と統合可能で、WebSocket を通じたリアルタイムプッシュ通知をサポートするフルマネージドサービスです。