Q34 — AWS SAA-C03 第4章
第 34/105 問 | ← 第4章
Q229. ある企業がAWS上で重要なアプリケーションを実行する必要があります。このアプリケーションのデータベースにはAmazon EC2を使用する必要があります。データベースは高い可用性を備え、障害発生時に自動的にフェイルオーバーできる必要があります。これらの要件を満たすソリューションはどれですか?
- A. 同一AWSリージョン内の異なるAvailability Zoneにそれぞれ1台ずつ、合計2台のEC2インスタンスを起動します。両方のEC2インスタンスにデータベースをインストールし、クラスターとして構成します。データベースのレプリケーションを設定します。
- B. 1つのAvailability Zone内にEC2インスタンスを起動し、そのインスタンスにデータベースをインストールします。データのバックアップにはAmazon Machine Image(AMI)を使用します。障害発生時にEC2インスタンスを自動的にプロビジョニングするためにAWS CloudFormationを使用します。
- C. 異なるAWSリージョンにそれぞれ1台ずつ、合計2台のEC2インスタンスを起動します。両方のEC2インスタンスにデータベースをインストールし、データベースのレプリケーションを設定します。障害発生時にデータベースを2番目のリージョンへフェイルオーバーさせます。 ✓
- D. 1つのAvailability Zone内にEC2インスタンスを起動し、そのインスタンスにデータベースをインストールします。データのバックアップにはAmazon Machine Image(AMI)を使用します。障害発生時にEC2自動復旧機能を用いてインスタンスを復旧します。
正解: C. 異なるAWSリージョンにそれぞれ1台ずつ、合計2台のEC2インスタンスを起動します。両方のEC2インスタンスにデータベースをインストールし、データベースのレプリケーションを設定します。障害発生時にデータベースを2番目のリージョンへフェイルオーバーさせます。
解説
高可用性と自動フェイルオーバーを実現するには、単一のAZ内ではなく、複数のAZにまたがる冗長構成が必要です。選択肢Aは、同一リージョン内の異なるAZに2台のEC2インスタンスを配置し、クラスタリングとレプリケーションにより、AZ単位の障害にも耐えられる設計となっています。これは、RTO(Recovery Time Objective)とRPO(Recovery Point Objective)を満たす実用的なハイアベイラビリティ構成です。一方、選択肢BおよびDは単一AZ内での運用であり、AZ全体の障害時には自動フェイルオーバーが不可能です(CloudFormationや自動復旧はAZ内障害への対応であり、AZ全体の停止には有効ではありません)。選択肢Cはマルチリージョン構成ですが、リージョン間の遅延・コスト・管理複雑性が高く、また「自動フェイルオーバー」を保証するには追加の監視・ルーティング(例:Route 53のヘルスチェック+フェイルオーバールーティング)が必要であり、単にレプリケーションを設定しただけでは自動フェイルオーバーは実現できません。したがって、最も適切な選択肢はAです。