Q31 — AWS DOP-C02 第3章
第 31/100 問 | ← 第3章
ある企業が、MySQL互換のAmazon AuroraマルチAZデータベースクラスターをアプリケーションのデータベースとして使用しています。災害復旧用に、クロスリージョンの読み取り専用レプリカが作成されています。DevOpsエンジニアは、障害発生時に自動的にこのレプリカを昇格させ、マスターデータベースインスタンスとして機能させるようにしたいと考えています。
- A. ヘルスチェックを用いて、遅延に基づくAmazon Route 53 CNAMEを設定し、マスターエンドポイントおよびレプリカエンドポイントを指すようにします。AWS CloudTrailからのAmazon RDS障害通知をAmazon SNSトピックにサブスクライブし、このトピックをトリガーとしてAWS Lambda関数を実行させ、レプリカインスタンスをマスターとして昇格させます。
- B. Auroraカスタムエンドポイントを作成し、マスターデータベースインスタンスを指すように設定します。アプリケーションがこのエンドポイントを使用するように構成します。AWS CloudTrailを設定し、AWS Lambda関数を実行してレプリカインスタンスを昇格させ、カスタムエンドポイントを新しく昇格したインスタンスを指すように変更します。
- C. AWS Lambda関数を作成し、アプリケーションのAWS CloudFormationテンプレートを変更してレプリカを昇格させ、テンプレートを適用してスタックを更新し、アプリケーションを新しく昇格したインスタンスを指すようにします。Amazon CloudWatchアラームを作成し、障害イベント発生時にこのLambda関数をトリガーします。
- D. AuroraエンドポイントをAWS Systems Manager Parameter Storeに保存します。データベース障害を検出するAmazon EventBridge(Amazon CloudWatch Events)イベントを作成し、AWS Lambda関数を実行してレプリカインスタンスを昇格させ、AWS Systems Manager Parameter Storeに保存されているエンドポイントURLを更新します。アプリケーション側でデータベース接続失敗時にParameter Storeからエンドポイントを再読み込みするようにコード化します。 ✓
正解: D. AuroraエンドポイントをAWS Systems Manager Parameter Storeに保存します。データベース障害を検出するAmazon EventBridge(Amazon CloudWatch Events)イベントを作成し、AWS Lambda関数を実行してレプリカインスタンスを昇格させ、AWS Systems Manager Parameter Storeに保存されているエンドポイントURLを更新します。アプリケーション側でデータベース接続失敗時にParameter Storeからエンドポイントを再読み込みするようにコード化します。
解説
正解はDです。データベース障害を検出するためにEventBridgeが必要です。レプリカを昇格させるためにLambdaが必要であり、これは別のリージョンにあるため(手動昇格以外の手段)、必須です。エンドポイントの保存および更新をParameter Storeで行うことは、アプリケーションの更新にとって重要です。AuroraのFAQの高可用性セクションをご参照ください:https://aws.amazon.com/rds/aurora/faqs/