Q33 — AWS SAA-C03 第10章
第 33/100 問 | ← 第10章
Q633. ある企業のウェブサイトは1日に何百万件ものリクエストを処理しており、そのリクエスト数はさらに増加し続けています。ソリューションアーキテクトは、Webアプリケーションの応答時間を改善する必要があります。また、ソリューションアーキテクトは、Amazon DynamoDBテーブルから商品詳細を取得する際のレイテンシを低減する必要があると判断しました。これらの要件を、最も少ない運用オーバーヘッドで満たすソリューションはどれですか?
- A. DynamoDB Accelerator(DAX)クラスターをセットアップし、すべての読み取りリクエストをDAX経由でルーティングします。 ✓
- B. Amazon ElastiCache for RedisをDynamoDBテーブルとWebアプリケーションの間にセットアップし、すべての読み取りリクエストをRedis経由でルーティングします。
- C. Amazon ElastiCache for MemcachedをDynamoDBテーブルとWebアプリケーションの間にセットアップし、すべての読み取りリクエストをMemcached経由でルーティングします。
- D. Amazon DynamoDB Streamsをテーブルに設定し、AWS Lambdaがテーブルから読み取ってAmazon ElastiCacheを更新するようにします。その後、すべての読み取りリクエストをElastiCache経由でルーティングします。
正解: A. DynamoDB Accelerator(DAX)クラスターをセットアップし、すべての読み取りリクエストをDAX経由でルーティングします。
解説
Amazon DynamoDBテーブルからの商品詳細取得時のレイテンシを低減しつつ、運用オーバーヘッドを最小限に抑えるには、以下の選択肢が最も適しています: A. DynamoDB Accelerator(DAX)クラスターをセットアップし、すべての読み取りリクエストをDAX経由でルーティングします。 この選択肢では、DAX(完全マネージド型、高可用性、インメモリのDynamoDB専用キャッシュ)を活用します。以下のように要件を満たします: 1. DynamoDB Accelerator(DAX):DAXは、DynamoDB向けの読み取り負荷が集中するワークロードのパフォーマンス向上を目的として設計されており、インメモリキャッシュにより、DynamoDBへの読み取りリクエストの応答時間とレイテンシを大幅に削減できます。 2. 読み取りリクエストをDAX経由でルーティング:すべての読み取りリクエストをDAX経由で送信することで、頻繁にアクセスされる商品詳細がメモリ上にキャッシュされ、同一データに対する後続の読み取りリクエストはDAXキャッシュから直接応答できるため、DynamoDBテーブルへの直接アクセスに比べてレイテンシを著しく低減できます。 Bは最適な選択肢ではありません: B. Amazon ElastiCache for RedisをDynamoDBテーブルとWebアプリケーションの間に配置し、読み取りリクエストをRedis経由でルーティングする方法は、追加の運用オーバーヘッドを発生させます。具体的には、Redisクラスターの管理・保守、DynamoDBとRedis間のデータ同期設定、およびアプリケーション内でのキャッシュロジックの管理が必要になります。 Cも最適な選択肢ではありません: C. Amazon ElastiCache for Memcachedを同様に配置して読み取りリクエストをMemcached経由でルーティングする場合も、同様に追加の運用オーバーヘッドが発生します。Memcachedクラスターの管理・保守、DynamoDBとMemcached間のデータ同期設定、およびアプリケーション側のキャッシュロジック管理が必要です。 Dも最適な選択肢ではありません: D. DynamoDB Streamsを有効化し、AWS Lambdaでテーブル変更を検知してElastiCacheを更新する構成は、さらに複雑さと運用オーバーヘッドを増加させます。DynamoDB Streamsの設定・管理、Lambda関数の開発・保守、およびDynamoDBとElastiCache間のデータ同期管理が必要になります。 したがって、最も少ない運用オーバーヘッドで要件を満たすソリューションは、DAXクラスターをセットアップし、すべての読み取りリクエストをDAX経由でルーティングすること(選択肢A)です。