Q97 — AWS SAA-C03 第11章

第 97/100 問 | ← 第11章

Q797. ある宅配会社が、Amazon EC2インスタンスとAmazon Aurora MySQL DBクラスターを使用するアプリケーションを運用しています。アプリケーションの人気が高まるにつれ、EC2インスタンスの使用量はわずかに増加するのみですが、DBクラスターの使用量ははるかに速いペースで増加しています。同社は読み取り専用レプリカ(read replica)を追加しましたが、これは一時的にDBクラスターの負荷を軽減したものの、その後も負荷は増加し続けています。この負荷増加の原因となる操作は、すべて配送詳細に関する繰り返し実行されるSELECT文(読み取りクエリ)です。同社は、これらの繰り返し読み取りによるDBクラスターへの影響を軽減する必要があります。これらの要件を最もコスト効率よく満たす解決策はどれですか?

正解: A. アプリケーションとDBクラスターの間にAmazon ElastiCache for Redisクラスターを導入します。

解説

Amazon Aurora MySQL DBクラスターにおける繰り返し読み取りによる負荷を、コスト効率よく軽減するには、以下の解決策が推奨されます: A. アプリケーションとDBクラスターの間にAmazon ElastiCache for Redisクラスターを導入します。 Amazon ElastiCache for RedisクラスターをアプリケーションとDBクラスターの間に導入することで、配送詳細に関する繰り返し実行される読み取りクエリを、DBクラスターからオフロードし、ElastiCacheが提供するインメモリキャッシュで処理できます。これにより、DBクラスターへの負荷が削減され、アプリケーション全体のパフォーマンスが向上します。 他の選択肢が本要件に最も適さない理由は以下の通りです: B. DBクラスターに追加の読み取り専用レプリカを追加する:読み取り専用レプリカの追加は読み取り負荷の分散には有効ですが、最もコスト効率の良い解決策とは言えません。各読み取り専用レプリカには追加コストが発生し、負荷が継続して増加する状況では、さらにレプリカを追加し続けることは長期的にはスケーラブルでもコスト効率的でもありません。 C. Aurora読み取り専用レプリカに対してAurora Auto Scalingを設定する:Aurora Auto Scalingは需要に応じて読み取り専用レプリカの数を自動調整しますが、繰り返し読み取りによる負荷そのものを軽減するという課題には直接対応しません。Auto Scalingは、変動する読み取りワークロードへの対応には適していますが、同一クエリの繰り返し実行によるDB負荷低減には向いていません。 D. DBクラスターを複数の書き込み可能インスタンス(writer instances)を持つように変更する:複数の書き込み可能インスタンスを導入しても、繰り返し読み取りによる負荷軽減という目的には最もコスト効率が良くありません。また、アプリケーションの複雑性やデータ整合性の問題を引き起こす可能性があり、繰り返し読み取りクエリによる負荷低減という課題に直接対応していません。 したがって、繰り返し読み取りによるDBクラスターへの影響を、最もコスト効率よく軽減する解決策は: A. アプリケーションとDBクラスターの間にAmazon ElastiCache for Redisクラスターを導入することです。