Q50 — AWS SAA-C03 第12章
第 50/100 問 | ← 第12章
Q850. ある企業が、単一の Amazon EC2 インスタンス上で動作するアプリケーションを運用しています。このアプリケーションは、同じ EC2 インスタンス上で実行される MySQL データベースを使用しています。同社は、増加するトラフィックに対応できる高可用性かつ自動スケーリング可能なソリューションを必要としています。 これらの要件を満たすソリューションはどれですか?
- A. アプリケーションを Application Load Balancer の背後で Auto Scaling グループ内に配置された EC2 インスタンス上にデプロイします。複数の MySQL 互換ノードを持つ Amazon Redshift クラスターを作成します。
- B. アプリケーションを Application Load Balancer の背後でターゲットグループとして設定された EC2 インスタンス上にデプロイします。複数のインスタンスから構成される Amazon RDS for MySQL クラスターを作成します。
- C. アプリケーションを Application Load Balancer の背後で Auto Scaling グループ内に配置された EC2 インスタンス上にデプロイします。データベース層として Amazon Aurora Serverless MySQL クラスターを作成します。 ✓
- D. アプリケーションを Application Load Balancer の背後でターゲットグループとして設定された EC2 インスタンス上にデプロイします。MySQL コネクタを使用する Amazon ElastiCache for Redis クラスターを作成します。
正解: C. アプリケーションを Application Load Balancer の背後で Auto Scaling グループ内に配置された EC2 インスタンス上にデプロイします。データベース層として Amazon Aurora Serverless MySQL クラスターを作成します。
解説
正解は C です。高可用性と自動スケーリングを実現するには、アプリケーション層とデータベース層の両方を分離・分散化し、それぞれに適切なマネージドサービスを活用する必要があります。オプション C では、アプリケーションを Auto Scaling グループ+Application Load Balancer でスケーラブルかつ冗長に実行し、データベースには Amazon Aurora Serverless(MySQL 互換)を採用しています。Aurora Serverless は負荷に応じて自動的にスケールし、マルチAZ 配置による高可用性も提供します。一方、A は Redshift は分析向けのデータウェアハウスであり、トランザクション処理(OLTP)用途の MySQL 置き換えには不適切です。B は「RDS for MySQL クラスター」という表現が誤りで、RDS for MySQL は単一マスターレプリカ構成(Multi-AZ または Read Replica)は可能ですが、「クラスター」と呼ぶのは Aurora の機能です。また、RDS for MySQL 自体は自動スケール(キャパシティの動的変更)はサポートしておらず、手動またはスケジュールベースの変更が必要です。D は ElastiCache for Redis はインメモリキャッシュであり、永続的な MySQL データベースの代替にはなりません。したがって、要件(高可用性+自動スケーリング+MySQL 互換)をすべて満たすのは C です。