Q35 — AWS SOA-C02 第1章

第 35/100 問 | ← 第1章

ある企業が最近アプリケーションを本番環境にデプロイしました。現在の本番環境は、アプリケーションのWebアプリケーションとMariaDBデータベースをホストする単一のAmazon EC2インスタンス上で動作しています。企業の方針では、すべてのIT本番環境は高可用性である必要があります。 この要件を満たすために、SysOps管理者は何を行うべきですか?

正解: A. データベースをEC2インスタンスからAmazon RDS for MariaDB Multi-AZ DBインスタンスに移行します。アプリケーションを、複数のAvailability ZoneにまたがるAuto Scalingグループ内のEC2インスタンスで実行します。EC2インスタンスをロードバランサーの後ろに配置します。

解説

AWSにおける高可用性設計では、通常、リソースを複数のAvailability Zone(AZ)に分散させ、マネージドサービスを活用して運用負荷を軽減することが求められます。現在のアーキテクチャでは、Webアプリケーションとデータベースが単一のEC2インスタンスに共存しており、これが単一障害点となっています。AWSドキュメントによると、RDS Multi-AZは、プライマリとスタンバイのレプリカを自動的に管理し、データベース層の障害発生時に自動フェイルオーバーを実行することで高可用性を確保します。アプリケーション層の高可用性を実現するには、Auto Scalingグループを複数のAZに跨らせてインスタンスを展開し、ロードバランサーでトラフィックを分散させる必要があります。選択肢Aは、データベース層(RDS Multi-AZ)およびアプリケーション層(Auto Scaling+ロードバランサー)の両方の高可用性要件を同時に満たしており、ベストプラクティスに合致します。他の選択肢は、完全な自動跨AZ冗長性を提供しなかったり、誤ったサービス機能(例:LambdaのMulti-AZオプションは存在しない)を用いたりしています。