Q2 — AWS SAP-C02 第3章

第 2/75 問 | ← 第3章

Q227. ある企業が、オンプレミスのアプリケーションをAWSへ移行したいと考えています。 このアプリケーションのデータベースは、構造化された製品データと一時的なユーザー セッションデータを格納します。企業は、製品データとユーザー セッションデータを分離(デカップリング)する必要があります。また、障害発生時の復旧のために、別のAWSリージョンへのレプリケーションも実装する必要があります。 これらの要件を満たす、**最も高いパフォーマンス**を実現するソリューションはどれですか?

正解: B. 製品データをホストするためのAmazon RDS DBインスタンスを作成します。このDBインスタンスに対して、別のリージョンに読み取り専用レプリカを設定します。また、ユーザー セッションデータをホストするためのAmazon ElastiCache for Memcachedのグローバルデータストアを作成します。

解説

このソリューションは、製品データとユーザー セッションデータを異なるサービスに分離しつつ、高いパフォーマンスと低遅延を実現します。製品データはAmazon RDS DBインスタンスに格納され、これは構成可能なレプリカによるディザスタリカバリをサポートする高性能なデータベースソリューションです。一方、ユーザー セッションデータは、インメモリデータのキャッシュに最適化されたAmazon ElastiCache for Memcachedクラスターに格納されるため、頻繁にアクセスされるデータへの高速アクセスが可能になります。さらに、両サービスとも複数リージョン間でのグローバルレプリケーションを実現でき、アプリケーションの高可用性とユーザーへの迅速な応答性を確保できます。 選択肢Aでは、同一のAmazon RDS DBインスタンス内に別々のスキーマを使って両方のデータを格納し、別のリージョンに読み取り専用レプリカを設定しています。しかし、ユーザー セッションデータが依然として製品データと同じDBインスタンス上に存在するため、最適なパフォーマンスが得られない可能性があります。 選択肢Cでは、2つのAmazon DynamoDBグローバルテーブルを用いて製品データとユーザー セッションデータを分離しています。DynamoDBは高速かつスケーラブルなNoSQLデータベースですが、構造化データの保存にはRDSほど適していない場合があり、さらにDAXによるキャッシュは不要な複雑さを追加する可能性があります。 選択肢Dでは、製品データにAmazon RDS、ユーザー セッションデータにDynamoDBグローバルテーブルを用いることでデータの分離は実現しますが、DynamoDBは頻繁にアクセスされるインメモリデータの処理に特化しておらず、ユーザー セッションデータのパフォーマンス面で最適とは言えません。 したがって、選択肢Bが最も適切なソリューションであり、製品データにはAmazon RDSを、一時的なユーザー セッションデータにはAmazon ElastiCache for Memcachedを活用し、両サービスともリージョン横断のグローバルレプリケーションを実現することで、最高のパフォーマンス、高可用性、および応答性を提供します。