Q60 — AWS SAA-C03 第12章
第 60/100 問 | ← 第12章
Q860. ある企業が、3層構成のアプリケーションをAWSに移行しようとしています。このアプリケーションにはMySQLデータベースが必要です。過去には、ユーザーが業務時間中にアプリケーションからさまざまなリアルタイムレポートを生成していたため、新規エントリの作成時にアプリケーションのパフォーマンスが低下するという問題が報告されていました。このアプリケーションをAWSに移行した際に、そのパフォーマンスを向上させる解決策はどれですか?
- A. データをプロビジョニングされたキャパシティを持つAmazon DynamoDBテーブルにインポートし、アプリケーションをDynamoDBを用いたレポート生成に対応するよう再構築します。
- B. コンピュート最適化型のAmazon EC2インスタンス上にデータベースを作成し、オンプレミスのデータベースよりも高いコンピュートリソースを確保します。
- C. 複数の読み取り専用レプリカを備えたAmazon Aurora MySQL Multi-AZ DBクラスターを作成し、アプリケーションがレポート生成に読み取り専用エンドポイントを使用するように設定します。 ✓
- D. Amazon Aurora MySQL Multi-AZ DBクラスターを作成し、アプリケーションがレポート生成にクラスターのバックアップインスタンスをエンドポイントとして使用するように設定します。
正解: C. 複数の読み取り専用レプリカを備えたAmazon Aurora MySQL Multi-AZ DBクラスターを作成し、アプリケーションがレポート生成に読み取り専用エンドポイントを使用するように設定します。
解説
AWSへの移行後にアプリケーションのパフォーマンスを向上させ、業務時間中のリアルタイムレポート生成によるパフォーマンス低下を解消するには、以下の選択肢が推奨されます: C. 複数の読み取り専用レプリカを備えたAmazon Aurora MySQL Multi-AZ DBクラスターを作成し、アプリケーションがレポート生成に読み取り専用エンドポイントを使用するように設定します。 理由: この選択肢では、MySQLデータベースに対してスケーラビリティと高可用性を提供するとともに、レポート生成時のアプリケーションパフォーマンスを向上させることが可能です。Aurora Multi-AZ DBクラスターを採用することで、耐久性および障害耐性のためにデータが複数のアベイラビリティーゾーン(AZ)に分散してレプリケートされるという、Auroraの基盤となる分散アーキテクチャの恩恵を受けられます。さらに、クラスターに読み取り専用レプリカを追加することで、プライマリインスタンスからの読み取りトラフィックをオフロードし、ワークロードを複数のインスタンスに分散できます。これにより、読み取り性能とスケーラビリティの両方が向上します。 アプリケーションをレポート生成に読み取り専用エンドポイントを利用するように設定すれば、レポート生成処理を読み取り専用レプリカに負荷分散でき、プライマリインスタンスへの負荷を軽減し、業務時間中の多数のユーザーによるリアルタイムレポート生成時における全体的なアプリケーションパフォーマンスを改善できます。 選択肢Aは、データをAmazon DynamoDBに移行し、アプリケーションをDynamoDB対応に再構築することを提案しています。DynamoDBは特定のワークロードに対して高いスケーラビリティとパフォーマンスを提供しますが、MySQLのような従来のリレーショナルデータベースからの移行には不向きです。DynamoDBはデータモデルやクエリパターンが大きく異なるため、アプリケーションの大幅な変更が必要となり、シームレスな移行には適しません。 選択肢Bは、コンピュート最適化型のAmazon EC2インスタンス上でデータベースを実行し、オンプレミス環境より高いコンピュートリソースを確保することを提案しています。これはリソース制御の観点では有効ですが、スケーラビリティや高可用性といった要件には対応しておらず、AWSが提供するマネージドデータベースサービスの利点を活かしていません。 選択肢Dは、Aurora Multi-AZ DBクラスターを作成し、レポート生成に「バックアップインスタンス」をエンドポイントとして使用するという誤った前提に基づいています。AuroraのMulti-AZ構成における「バックアップインスタンス」は、フェイルオーバー用のスタンバイであり、通常の読み取りトラフィックを処理するためのものではありません。また、この選択肢ではAuroraが提供する読み取り専用レプリカの機能を活用していないため、スケーラビリティとパフォーマンス向上の恩恵を受けることができません。 以上より、最も適切な解決策は、複数の読み取り専用レプリカを備えたAmazon Aurora MySQL Multi-AZ DBクラスターを作成し、アプリケーションがレポート生成に読み取り専用エンドポイントを利用するように設定することです。これにより、スケーラビリティ、高可用性、およびリアルタイムレポート生成時のアプリケーションパフォーマンス向上が実現されます。