Q9 — AWS SAA-C03 第10章

第 9/100 問 | ← 第10章

Q609. ある企業が、AWS クラウド上で3つのアベイラビリティーゾーン(AZ)にまたがって実行される3層ウェブアプリケーションを運用しています。アプリケーションのアーキテクチャには、Application Load Balancer、ユーザーのセッション状態をホストする Amazon EC2 ウェブサーバー、および EC2 インスタンス上で動作する MySQL データベースが含まれます。同社は、アプリケーショントラフィックの急激な増加が発生することを見込んでおり、将来的なアプリケーション容量需要に対応できるスケーラビリティと、すべての3つのアベイラビリティーゾーンにわたる高可用性を確保したいと考えています。 これらの要件を満たすソリューションはどれですか?

正解: A. MySQL データベースを Amazon RDS for MySQL へ移行し、Multi-AZ DB クラスター構成を採用します。セッションデータの保存および読み取りキャッシュに、高可用性構成の Amazon ElastiCache for Redis を使用します。ウェブサーバーを、3つのアベイラビリティーゾーンにまたがる Auto Scaling グループへ移行します。

解説

要件(将来のアプリケーション容量需要へのスケーリング対応および全3アベイラビリティーゾーンにおける高可用性の確保)を満たすソリューションは、選択肢 A です。 理由: 選択肢 A では、MySQL データベースを Multi-AZ DB クラスター構成の Amazon RDS for MySQL へ移行することを提案しています。これにより、別のアベイラビリティーゾーンにスタンバイインスタンスが自動的にレプリケートされ、インフラ障害時の自動フェイルオーバーを実現し、高可用性が確保されます。 また、高可用性構成の Amazon ElastiCache for Redis を用いてセッションデータを保存・高速アクセス可能とすることで、アプリケーションパフォーマンスが向上します。Redis のインメモリキャッシュ機能により、データベース負荷が軽減され、頻繁にアクセスされるデータの応答速度も向上します。 さらに、ウェブサーバーを3つのアベイラビリティーゾーンにまたがる Auto Scaling グループへ移行することで、トラフィック需要に応じた自動スケーリングが可能となり、急激なトラフィック増加にも耐えうる柔軟性と、全AZにわたる冗長性が実現されます。 このソリューションの主な利点は以下の通りです: ① 高可用性:Amazon RDS の Multi-AZ 構成により、別AZへの自動レプリケーションとフェイルオーバーが保証されます。 ② スケーラビリティ:Auto Scaling グループにより、需要に応じたウェブサーバーインスタンスの自動増減が可能で、一貫したユーザーエクスペリエンスを提供できます。 ③ パフォーマンス:Amazon ElastiCache for Redis のインメモリキャッシュにより、データベース負荷低減と高速データ配信が実現されます。 他の選択肢との比較: B:Amazon RDS の Multi-AZ 構成は高可用性を提供しますが、Memcached は Redis と異なり、セッション管理やフェイルオーバー対応の高可用性構成が制限されており、セッションデータの信頼性・一貫性に課題があります。 C:DynamoDB はスケーラブルなマネージド NoSQL データベースですが、既存の関係データベース(MySQL)からの移行にはスキーマ変更やアプリケーション改修が必要であり、セッション管理のためのトランザクションや一貫性保証の観点でも適さない場合があります。また、セッションデータの保存先として DynamoDB を直接使用する場合、Redis のような低遅延・高スループットのセッションキャッシュ機能は得られません。 D:単一AZでの RDS 構成は、AZ障害時にサービス停止を招くため、要件である「全3AZにわたる高可用性」を満たしません。 以上より、アプリケーションのスケーラビリティと全3アベイラビリティーゾーンにわたる高可用性を両立させるには、MySQL を Multi-AZ 構成の Amazon RDS for MySQL へ移行し、セッションデータおよび読み取りキャッシュに高可用性の Amazon ElastiCache for Redis を活用し、ウェブサーバーを3AZにまたがる Auto Scaling グループへ移行する(選択肢 A)が最適なソリューションです。