Q76 — AWS SAA-C03 第11章
第 76/100 問 | ← 第11章
Q776. ある企業がAWS上でショッピングアプリケーションを構築しています。このアプリケーションは、毎月1回更新されるカタログを提供しており、トラフィック量に応じてスケールする必要があります。また、企業はアプリケーションからのレイテンシを可能な限り低くしたいと考えています。各ユーザーのショッピングカートのデータは、高い可用性を確保する必要があります。さらに、ユーザーが一時的に切断され再接続した場合でも、セッションデータは引き続き利用可能でなければなりません。ソリューションアーキテクトは、ショッピングカートのデータを常に保存し続けるために、どのような対応を行うべきでしょうか?
- A. Amazon Aurora上のカタログへのアクセスに対して、Application Load Balancerのステッキーセッション(セッションアフィニティ)機能を有効化します。
- B. Amazon DynamoDBからカタログデータを、およびユーザーのセッションからショッピングカートデータをキャッシュするために、Amazon ElastiCache for Redisを設定します。 ✓
- C. Amazon DynamoDBからカタログデータを、およびユーザーのセッションからショッピングカートデータをキャッシュするために、Amazon OpenSearch Serviceを設定します。
- D. カタログおよびショッピングカート用にAmazon EC2インスタンスとAmazon Elastic Block Store(Amazon EBS)ストレージを設定し、自動スナップショットを有効化します。
正解: B. Amazon DynamoDBからカタログデータを、およびユーザーのセッションからショッピングカートデータをキャッシュするために、Amazon ElastiCache for Redisを設定します。
解説
ショッピングアプリケーションにおいて、ショッピングカートデータを常に保存しつつ、低レイテンシ、高可用性、およびユーザーのセッションデータの持続性という要件を満たすには、以下のアプローチが適切です: B. Amazon DynamoDBからカタログデータを、およびユーザーのセッションからショッピングカートデータをキャッシュするために、Amazon ElastiCache for Redisを設定します。 Amazon ElastiCache for Redisは、完全マネージド型のインメモリデータストアサービスであり、キャッシュデータに対する低レイテンシおよび高可用性を実現できます。このサービスをアーキテクチャに導入することで、以下のようなメリットが得られます: 1. Amazon DynamoDBからのカタログデータのキャッシュ:頻繁にアクセスされるカタログデータをElastiCache for Redisにキャッシュすることで、アプリケーションは低レイテンシでデータを提供でき、基盤となるDynamoDBへの負荷を軽減し、カタログ関連操作のパフォーマンスを向上させます。 2. ユーザーのセッションからのショッピングカートデータのキャッシュ:ショッピングカートデータをユーザーのセッション内にElastiCache for Redis上に格納することで、ユーザーが一時的に切断・再接続してもデータが引き続き利用可能です。Redisは、キャッシュノードの再起動や障害発生時にもデータを保持するための永続化機能を提供します。 3. 高可用性:ElastiCache for Redisは、自動フェイルオーバーおよびレプリケーション機能を備えており、キャッシュノードや可用性ゾーンの障害時にもキャッシュされたデータの可用性を確保します。 他の選択肢が不適切な理由は以下の通りです: A. Application Load Balancerのステッキーセッション(セッションアフィニティ)機能を有効化する:これは、ユーザーのカタログ操作におけるセッション維持には役立ちますが、ショッピングカートデータの保存やユーザーのセッションデータの持続性を保証するものではありません。 C. Amazon OpenSearch Serviceをカタログおよびショッピングカートデータのキャッシュに使用する:Amazon OpenSearch Service(旧Amazon Elasticsearch Service)は、主に全文検索および分析用途向けのサービスであり、ショッピングカートデータやユーザーのセッションデータの持続的保存には必要な機能を提供していません。 D. Amazon EC2インスタンスとAmazon EBSストレージを用いてカタログおよびショッピングカートを管理し、自動スナップショットを設定する:EC2+EBS+スナップショットによる永続化は可能ですが、アプリケーションが求める低レイテンシおよび高可用性を満たすことはできません。 したがって、ショッピングカートデータを常に保存しつつ、低レイテンシ、高可用性、およびユーザーのセッションデータの持続性を同時に満たす最も適切なソリューションは、以下の選択肢です: B. Amazon DynamoDBからカタログデータを、およびユーザーのセッションからショッピングカートデータをキャッシュするために、Amazon ElastiCache for Redisを設定します。