Q13 — AWS SAA-C03 第3章
第 13/65 問 | ← 第3章
Q143. ある企業が、AWS上でEコマースアプリケーションを実行しています。すべての新規注文は、単一のアベイラビリティーゾーン内にあるAmazon EC2インスタンスで動作するRabbitMQキューにメッセージとして送信されます。これらのメッセージは、別のEC2インスタンスで実行される別個のアプリケーションによって処理され、そのアプリケーションはPostgreSQLデータベース(さらに別のEC2インスタンス上)に注文情報を保存します。すべてのEC2インスタンスは同一のアベイラビリティーゾーン内に配置されています。この企業は、可用性を最大限に高めつつ、運用オーバーヘッドを最小限に抑えるようアーキテクチャを再設計する必要があります。要件を満たすために、ソリューションズアーキテクトは何を行うべきでしょうか?
- A. キューをAmazon MQ上の冗長構成(アクティブ/スタンバイ)のRabbitMQインスタンスペアに移行します。アプリケーションをホストするEC2インスタンス用にマルチAZ Auto Scalingグループを作成します。PostgreSQLデータベースをホストするEC2インスタンス用にもう1つのマルチAZ Auto Scalingグループを作成します。
- B. キューをAmazon MQ上の冗長構成(アクティブ/スタンバイ)のRabbitMQインスタンスペアに移行します。アプリケーションをホストするEC2インスタンス用にマルチAZ Auto Scalingグループを作成します。データベースをAmazon RDS for PostgreSQLのマルチAZ展開で実行するように移行します。 ✓
- C. RabbitMQキューをホストするEC2インスタンス用にマルチAZ Auto Scalingグループを作成します。アプリケーションをホストするEC2インスタンス用にもう1つのマルチAZ Auto Scalingグループを作成します。データベースをAmazon RDS for PostgreSQLのマルチAZ展開で実行するように移行します。
- D. RabbitMQキューをホストするEC2インスタンス用にマルチAZ Auto Scalingグループを作成します。アプリケーションをホストするEC2インスタンス用にもう1つのマルチAZ Auto Scalingグループを作成します。PostgreSQLデータベースをホストするEC2インスタンス用に3つ目のマルチAZ Auto Scalingグループを作成します。
正解: B. キューをAmazon MQ上の冗長構成(アクティブ/スタンバイ)のRabbitMQインスタンスペアに移行します。アプリケーションをホストするEC2インスタンス用にマルチAZ Auto Scalingグループを作成します。データベースをAmazon RDS for PostgreSQLのマルチAZ展開で実行するように移行します。
解説
選択肢Aは、アプリケーションおよびPostgreSQLデータベースをホストするEC2インスタンス向けにマルチAZ Auto Scalingグループを作成していますが、RabbitMQインスタンスの冗長化には対応していません。選択肢Cは、RabbitMQキューおよびアプリケーションをホストするEC2インスタンス向けにマルチAZ Auto Scalingグループを作成していますが、データベースのマルチAZ展開には対応していません。選択肢Dは、各EC2ワークロード(キュー、アプリケーション、データベース)に対してそれぞれマルチAZ Auto Scalingグループを作成しようとしており、これは不必要であり、運用オーバーヘッドを増大させます。一方、Amazon MQ上の冗長なRabbitMQインスタンスペアへのキュー移行により、高い可用性とフォールトトレランスが確保されます。また、データベースをAmazon RDS for PostgreSQLのマルチAZ展開へ移行することで、手動介入なしの自動フェイルオーバー機能付きの高い可用性が実現されます。さらに、アプリケーションをホストするEC2インスタンス向けにマルチAZ Auto Scalingグループを作成すれば、受信リクエストを確実に処理できる十分なインスタンス数が常に維持されます。