Q83 — AWS SAA-C03 第11章
第 83/100 問 | ← 第11章
Q783. ある企業が、複数の可用性ゾーンにデプロイされた Amazon RDS インスタンスで実行されるデータベースをホストしています。この企業は、データベースに追加された新規レコードを報告するため、定期的にデータベースに対してスクリプトを実行しています。しかし、このスクリプトの実行により、重要なアプリケーションのパフォーマンスが悪化しています。企業は、コストを最小限に抑えつつアプリケーションのパフォーマンスを向上させる必要があります。 これらの要件を満たす解決策のうち、運用上のオーバーヘッドが最も少ないものはどれですか?
- A. スクリプトに、アクティブな接続数が最も少ないインスタンスを特定する機能を追加します。その後、スクリプトがそのインスタンスから読み取り、新規レコードの合計数を報告するように設定します。
- B. データベースの読み取り専用レプリカを作成し、スクリプトが新規レコードの合計数を報告するために読み取り専用レプリカのみをクエリするように設定します。 ✓
- C. 開発チームに対し、毎日終了時にデータベース内の当日分の新規レコードを手動でエクスポートするよう指示します。
- D. Amazon ElastiCache を使用して、スクリプトがデータベースに対して実行する共通のクエリをキャッシュします。
正解: B. データベースの読み取り専用レプリカを作成し、スクリプトが新規レコードの合計数を報告するために読み取り専用レプリカのみをクエリするように設定します。
解説
Amazon RDS で複数の可用性ゾーンにデプロイされたデータベース上で実行されるスクリプトが、重要なアプリケーションのパフォーマンスを低下させている状況において、最小限の運用オーバーヘッドでアプリケーションのパフォーマンスを向上させるには、以下の選択肢が最も適しています: B. データベースの読み取り専用レプリカを作成し、スクリプトが新規レコードの合計数を報告するために読み取り専用レプリカのみをクエリするように設定します。 読み取り専用レプリカを作成することで、プライマリデータベースインスタンスからの読み取りトラフィックをオフロードできます。スクリプトを読み取り専用レプリカのみを対象に設定すれば、スクリプトによる影響をプライマリインスタンス上で動作する重要なアプリケーションから完全に分離でき、アプリケーションのパフォーマンス向上を実現しつつ、追加の運用負荷をほとんど発生させません。 他の選択肢が不適切な理由は以下のとおりです: A. アクティブ接続数が最も少ないインスタンスを特定するロジックをスクリプトに追加する方法:このアプローチでは、接続数の監視・判定のための追加スクリプトとロジックが必要となり、複雑さと運用オーバーヘッドが増加します。 C. 開発チームによる毎日の手動エクスポート:これは人的介入を必要とし、ミスや報告遅延のリスクを高め、運用オーバーヘッドを大幅に増加させます。 D. Amazon ElastiCache を用いた共通クエリのキャッシュ:ElastiCache は、頻繁にアクセスされるデータの高速取得を目的としたインメモリキャッシュサービスであり、主に読み取り負荷の軽減に有効です。しかし、本ケースではスクリプトが「新規レコード」を報告しており、これは書き込み操作後の最新データを正確に取得する必要があることを意味します。キャッシュはデータの新鮮さ(staleness)を引き起こす可能性があり、またスクリプトによるパフォーマンス問題の根本原因(読み取り負荷の集中)を直接解決しません。 したがって、最小限の運用オーバーヘッドでアプリケーションパフォーマンスを向上させる要件を満たす解決策は、選択肢 B です。