Q64 — AWS SAA-C03 第16章

第 64/100 問 | ← 第16章

Q1264. ある企業が、MariaDBデータベースにキャッシュ層を追加することで、3層アーキテクチャのアプリケーションのパフォーマンス向上を計画しています。高可用性を確保するため、プライマリキャッシュノードのレプリカを作成する必要があります。この要件を満たすソリューションはどれですか?

正解: A. Amazon ElastiCache (Redis OSS) キャッシュを作成し、アプリケーションがそのキャッシュに接続するように設定します。

解説

要件(MariaDBデータベースへのキャッシュ層追加+プライマリキャッシュノードの高可用性レプリカ)を満たすソリューションを各選択肢で検討します。 選択肢A:Amazon ElastiCache (Redis OSS) キャッシュを作成し、アプリケーションがそのキャッシュに接続するように設定する。 ・高可用性:Amazon ElastiCache for Redisは、Redis ClusterやMulti-AZレプリケーションなどの機能により高可用性を実現します。Redis Clusterではデータを複数ノードに分散し、Multi-AZレプリケーションでは別の可用性ゾーン(AZ)にスタンバイレプリカを自動作成します。プライマリノード障害時にスタンバイが昇格し、サービス継続が保証されます。 ・MariaDBとの連携:Redisはインメモリキャッシュとして、MariaDBから頻繁にアクセスされるデータを一時保存でき、データベース負荷低減とアプリケーション応答性向上に寄与します。したがって、この選択肢は要件を満たします。 選択肢B:Amazon CloudFrontディストリビューションを展開し、アプリケーションサーバーをオリジンとして設定する。 ・機能:CloudFrontはコンテンツ配信ネットワーク(CDN)であり、静的/動的コンテンツを世界中のエッジロケーションでキャッシュしてエンドユーザーへの遅延を低減します。 ・不適切な理由:データベース向けのキャッシュ層ではなく、ネットワークエッジでのコンテンツ配信に特化しており、MariaDBのパフォーマンス改善には寄与しません。したがって、要件を満たしません。 選択肢C:Amazon DynamoDB Accelerator (DAX) クラスターを作成し、アプリケーションがそのDAXクラスターに接続するように設定する。 ・機能:DAXは、Amazon DynamoDB専用の完全マネージド・インメモリキャッシュです。 ・不適切な理由:対象データベースがDynamoDBではなくMariaDBであるため、DAXはMariaDBとの連携が不可能です。したがって、要件を満たしません。 選択肢D:Amazon ElastiCache (Memcached) キャッシュを作成し、アプリケーションがそのキャッシュに接続するように設定する。 ・高可用性の制限:ElastiCache for Memcachedはシンプルなインメモリキャッシュですが、Multi-AZレプリケーションなどの組み込み高可用性機能を標準で提供していません。水平スケーリングは可能ですが、Redisのような自動フェイルオーバー機構は備えておらず、高可用性レプリカの要件を十分に満たしません。 以上より、要件を満たすソリューションは選択肢Aです。