Q: フェイルオーバー中はどのようなことが起き、どのくらいの時間がかかりますか?
フェイルオーバーは Amazon Aurora によって自動的に処理されるため、アプリケーションは管理上の手動介入なしで、可能な限り迅速にデータベースオペレーションを再開することができます。
- Amazon Aurora レプリカを同一の、または異なるアベイラビリティーゾーンに作成しておくと、フェイルオーバーが発生した場合、Aurora は DB インスタンスの正規名レコード (CNAME) を切り替えて正常なレプリカを指定します。指定されたレプリカはこれにより新しいプライマリに昇格します。フェイルオーバーは開始から終了まで通常 30 秒以内に完了します。
よくある質問 - Amazon Aurora | AWS
- Amazon Aurora レプリカを作成しておらず(つまりインスタンスは 1 つ) Aurora Serverless を使っていない場合、Aurora は元のインスタンスと同じアベイラビリティーゾーンに新しい DB インスタンスの作成を試みます。この時のオリジナルインスタンス置換処理はベストエフォートであり、アベイラビリティゾーン内で広範囲に影響を及ぼす問題がある時などは失敗する可能性があります。
障害挿入クエリを使用した Amazon Aurora のテスト - Amazon Auroraインスタンスのクラッシュのテスト
ALTER SYSTEM CRASH 障害挿入クエリを使用して、Amazon Aurora インスタンスのクラッシュを強制的に発生させることができます。
この障害挿入クエリでは、フェイルオーバーが発生しません。フェイルオーバーをテストする場合、RDS コンソールで DB クラスターの [フェイルオーバー] インスタンスアクションを選択するか、AWS CLI の failover-db-cluster コマンド、または RDS API の FailoverDBCluster オペレーションを使用できます。
構文
ALTER SYSTEM CRASH [ INSTANCE | DISPATCHER | NODE ];
オプション
この障害挿入クエリでは、次のクラッシュタイプのいずれかを指定できます。
- INSTANCE— Amazon Aurora インスタンスの MySQL 互換データベースのクラッシュがシミュレートされます。
- DISPATCHER— Aurora DB クラスターのライターインスタンスにあるディスパッチャーのクラッシュがシミュレートされます。ディスパッチャー は Amazon Aurora DB クラスターのクラスターボリュームに対して更新を書き込みます。
- NODE— MySQL 互換データベースと Amazon Aurora インスタンスのディスパッチャーの両方のクラッシュがシミュレートされます。この障害挿入のシミュレーションでは、キャッシュも削除されます。
デフォルトのクラッシュタイプは INSTANCE です。
- aurora-mysql-57-2072-instance-1 がマスターの状態で、
- フェイルオーバーすると、
- aurora-mysql-57-2072-instance-1-ap-northeast-1a がマスターに昇格