SAA-C03高パフォーマンスなアーキテクチャの設計MEDIUM単一選択

ある企業が、大規模な e コマースサイトのトップページに表示する商品リコメンデーションを、Amazon Personalize を使ってリアルタイムで生成している。推論レイテンシーが 500ms を超えており、ユーザー体験を改善するために 100ms 以下に短縮したい。コスト効率を維持しながら実現する最も適切なソリューションはどれか。

  1. A. ユーザーごとのリコメンデーション結果を Amazon ElastiCache for Redis にキャッシュし、TTL(例: 5 分)を設定する。キャッシュがある場合は Personalize を呼び出さずにキャッシュから返す。
  2. B. Amazon Personalize の推論エンドポイントをより大きいインスタンスタイプにアップグレードする。
  3. C. AWS Lambda を Personalize と統合して非同期に推論を実行し、結果が準備できたらユーザーに送信する。
  4. D. Amazon CloudFront で Personalize の推論結果をキャッシュする。
解答と解説を見る

正解: A

ElastiCache for Redis にリコメンデーション結果をキャッシュすることで、同一ユーザーへの 2 回目以降のリクエストはマイクロ秒〜ミリ秒単位で応答できる。TTL で定期的にキャッシュを更新してリコメンデーションの鮮度も維持できる。Personalize の API コール数も大幅に削減されコスト効率も向上する。選択肢BはPersonalize エンドポイントのアップグレードでレイテンシー改善は期待できるが、Personalize の推論レイテンシー自体は数百 ms 程度が標準であり、100ms 以下を安定的に保証するにはキャッシュ戦略が効果的。コストも増加する。選択肢Dの CloudFront キャッシュはパーソナライズされたレスポンスには適さない。CDN はユーザーによって異なるレコメンデーションの個別キャッシュには向いていない(キャッシュキーの設計が複雑になる)。選択肢Cの非同期推論では最初のリクエストではユーザーはレスポンスを待つことになり、100ms 以下という要件を最初のリクエストで満たせない。

▸ この試験を本気で演習する(全150問・無料)