最近、本番環境のサービスに Amazon RDS マルチ AZ 配置を使用することを検討しており、関連ドキュメントを読みました。
ただし、フェイルオーバーについて質問があります。Amazon RDS の FAQ では、フェイルオーバーは次のように説明されています。
Q: マルチ AZ フェイルオーバー中に何が起こり、どのくらいの時間がかかりますか?
フェイルオーバーは Amazon RDS によって自動的に処理されるため、管理者の介入なしでできるだけ早くデータベース操作を再開できます。フェイルオーバーの際、Amazon RDS は単に DB インスタンスの正規名レコード (CNAME) を反転してスタンバイを指すようにし、これが新しいプライマリに昇格します。ベスト プラクティスに従い、アプリケーション層でデータベース接続の再試行を実装することをお勧めします。フェールオーバー時間は、クラッシュ リカバリが完了するまでの時間の関数です。開始から終了まで、フェイルオーバーは通常 3 分以内に完了します。
上記の説明から、プライマリ インスタンスの障害を検出してフリッピングを実行できる監視サービスが必要であると推測されます。
私の質問は、この監視サービスがホストされている AZ はどれですか? 3 つの可能性があります。 1. プライマリと同じ AZ 2. スタンバイと同じ AZ 3. 別の AZ
どうやら 1&2 は当てはまらないようです。なぜなら、AZ 全体が利用できないという状況を処理できなかったからです。では、3 の場合、監視サービスの AZ がダウンした場合はどうなるでしょうか。この監視サービスを監視する別のサービスはありますか? 無限のドミノのようです。
では、Amazon はマルチ AZ 配置で RDS の可用性をどのように確保しているのでしょうか?