スイッチオーバーを実行する
クロスリージョン・レプリケーション関係でクラスタのプライマリ・ロールとセカンダリ・ロールを切り替えます。
クラスタと両方のリージョンが使用可能な場合は、計画されたリージョン移行またはメンテナンスのスイッチオーバーを実行します。プライマリ・リージョンが使用できない場合は、スイッチオーバーを実行しないでください。スイッチオーバーによって、プライマリ・クラスタ・ロールとセカンダリ・クラスタ・ロールが逆になります。
スイッチオーバーを実行するには、クラスタと両方のリージョンの両方が使用可能で、両方のクラスタが「アクティブ」状態である必要があります。
スイッチオーバーを実行する前に、現在のプライマリクラスタへのすべてのアプリケーション書き込みトラフィックを停止します。プライマリになるクラスタに必要な構成と、アプリケーションの正しいアクセス制御リスト(ACL)ユーザーまたは権限があることを確認します。
- 「クラスタ」リスト・ページで、現在のセカンダリ・クラスタを選択します。リスト・ページまたはクラスタの検索に関するヘルプが必要な場合は、OCI Cacheクラスタのリストを参照してください。
- クラスタの詳細ページで、「アクション」、「スイッチオーバー」の順に選択します。
- スイッチオーバーを確認し、「更新」を選択します。
操作が完了すると、前のセカンダリクラスタは Primary役割を持ち、前のプライマリクラスタは Secondary役割を持ちます。
次を確認し、スイッチオーバーを確認します。
- 以前のセカンダリクラスタには、Primary役割があります。
- 以前のプライマリクラスタに Secondary役割が追加されました。
- 両方のクラスタが「アクティブ」状態に戻ります。
- CrossRegionMasterLinkStatusは、レプリケーション・リンクが稼働中であることを示します。
- アプリケーションは、新しいプライマリ・クラスタにのみ書込みトラフィックを送信します。
アプリケーション書込みトラフィックを新しいプライマリ・クラスタにリダイレクトします。
セカンダリクラスタとプライマリクラスタの役割を切り替えるには、必要なパラメータを指定して oci redis-cluster redis-cluster switchoverコマンドを使用します。セカンダリクラスタが新しいプライマリになり、元のプライマリが新しいセカンダリクラスタになります。
oci redis redis-cluster redis-cluster switchover --redis-cluster-id <redis-cluster_OCID> [OPTIONS]CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。
スイッチオーバー操作を実行して、セカンダリクラスタとプライマリクラスタの役割を切り替えます。セカンダリクラスタが新しいプライマリクラスタになり、元のプライマリが新しいセカンダリクラスタになります。
スイッチオーバーは、宣言的な状態変更ではなく、明示的な操作です。Terraformでは、構成から目的の状態へのモデルが使用され、スタンバイ・クラスタをプライマリに昇格するなど、既存のリソースのロールを動的に変更する操作用に設計されていません。
その結果、Terraformプロバイダはスイッチオーバーをサポートしません。OCI CLIまたはSDKを使用して、Terraform外部のスイッチオーバーを実行する必要があります。
Terraform外部でスイッチオーバーを実行すると、Terraformは、次の
terraform planまたはterraform apply操作中に、構成されたプライマリ・クラスタとセカンダリ・クラスタの間のドリフトと実際の状態を検出します。ドリフトを解決するには、新しいロールを反映するようにTerraform構成または状態を更新します。この更新により、後続の計画に一貫性があり、スイッチオーバーを元に戻そうとしないことが保証されます。