ablog

不器用で落着きのない技術者のメモ

Aurora のフェイルオーバー

Q: フェイルオーバー中はどのようなことが起き、どのくらいの時間がかかりますか?

フェイルオーバーは Amazon Aurora によって自動的に処理されるため、アプリケーションは管理上の手動介入なしで、可能な限り迅速にデータベースオペレーションを再開することができます。

  • Amazon Aurora レプリカを同一の、または異なるアベイラビリティーゾーンに作成しておくと、フェイルオーバーが発生した場合、Aurora は DB インスタンスの正規名レコード (CNAME) を切り替えて正常なレプリカを指定します。指定されたレプリカはこれにより新しいプライマリに昇格します。フェイルオーバーは開始から終了まで通常 30 秒以内に完了します。
よくある質問 - Amazon Aurora | AWS

インスタンスのクラッシュのテスト

ALTER SYSTEM CRASH 障害挿入クエリを使用して、Amazon Aurora インスタンスのクラッシュを強制的に発生させることができます。

この障害挿入クエリでは、フェイルオーバーが発生しません。フェイルオーバーをテストする場合、RDS コンソールで DB クラスターの [フェイルオーバー] インスタンスアクションを選択するか、AWS CLI の failover-db-cluster コマンド、または RDS API の FailoverDBCluster オペレーションを使用できます。

構文
ALTER SYSTEM CRASH [ INSTANCE | DISPATCHER | NODE ];
オプション

この障害挿入クエリでは、次のクラッシュタイプのいずれかを指定できます。

デフォルトのクラッシュタイプは INSTANCE です。

障害挿入クエリを使用した Amazon Aurora のテスト - Amazon Aurora
  • aurora-mysql-57-2072-instance-1 がマスターの状態で、

  • フェイルオーバーすると、

f:id:yohei-a:20201021000647p:plain

  • aurora-mysql-57-2072-instance-1-ap-northeast-1a がマスターに昇格