Tair (Redis OSS-compatible) がインスタンスのマスターノードが利用不可であると検出した場合、自動的にマスターレプリカスイッチオーバーをトリガーします。この際、レプリカノードがマスターノードに昇格され、インスタンスの高可用性が確保されます。マスターレプリカスイッチオーバーが発生した旨の通知を受け取った場合は、本トピックを参照して、その原因、影響、および推奨操作をご確認ください。
原因
-
インスタンスホストの障害
Alibaba Cloud が、インスタンスの基盤ホストでプロセスの異常終了や高負荷によるメモリ異常などの障害を検出した場合、システムは即時にマスターレプリカスイッチオーバーをトリガーします。この迅速な対応により、インスタンスの復旧がタイムリーに行われ、障害によるサービス中断期間が最小限に抑えられます。
このようなイベントについては、以下の形式で サイト内メッセージまたはメールにて通知されます。
[Alibaba Cloud] お客様へ:ご利用の Tair インスタンス r-bp1zxszhcgatnx****(名前:****)で異常が検出されました。安定した運用を確保するため、スイッチオーバーが実行されます。アプリケーションが引き続きインスタンスに接続されているかご確認のうえ、アプリケーションを自動再接続するよう設定することを推奨します。
-
インスタンスホストにおける潜在的リスク
Alibaba Cloud が、インスタンスの基盤ホストにおいてネットワークジッターまたはディスク異常などのリスクを検出した場合、これは将来的にインスタンスの正常な稼働に影響を及ぼす可能性を示唆しています。このような場合、システムはリスク対応のための予防的な O&M タスクを自動的に開始し、メンテナンスウィンドウ中にリスクのあるホストノードを交換するためにマスターレプリカスイッチオーバーを実行します。
ただし、緊急対応が必要なリスク事象については、システムが即座に問題を解決し、マスターレプリカスイッチオーバーを実行します。たとえば、Redis コミュニティで重大なバグが特定された場合、該当インスタンスはマイナーバージョンアップを自主的に実施します。このような操作の記録は、イベント履歴から照会できます。詳細については、「履歴イベントの照会」をご参照ください。また、保留中のマスターレプリカスイッチオーバーイベントも管理可能です。詳細については、「 予定済みイベントの表示および管理」をご参照ください。
影響
インスタンスは、スイッチオーバー全体の処理を自動的に完了します。スイッチオーバー完了後、インスタンスは想定通りに稼働します。
ただし、スイッチオーバー処理中には、以下の状況が発生する可能性があります。
-
スイッチオーバーが実行されるデータノードは数秒間切断され、最大 30 秒間読み取り専用状態となる場合があります。
-
インスタンスが 切り替え中 状態になると、インスタンスの管理ができなくなります。たとえば、インスタンスの構成変更や別のゾーンへの移行などができなくなります。マスターレプリカスイッチオーバーが完了すると、インスタンスの状態は 実行中 に変化します。
推奨操作
-
アプリケーションがインスタンスへの自動再接続または例外処理を実行するよう設定されていることを確認してください。設定されていない場合、スイッチオーバー時に以下のいずれかのエラーメッセージが返される可能性があります:
READONLY You can't write against a read only instanceまたはDISABLE You can't write or read against a disable instance。 -
インスタンスでマスターレプリカスイッチオーバーがトリガーされた場合、レプリカノードが新しいマスターノードとして昇格され、マスターノードとレプリカノード間のデータ同期を確保するために別のレプリカノードが作成されることで、スイッチオーバー全体の処理が自動的に完了します。この処理中は、ユーザーによる操作は一切不要です。
説明デュアルゾーンインスタンスのマスターレプリカスイッチオーバーが完了した後、マスターノードはセカンダリゾーンに、レプリカノードはプライマリゾーンに配置されます。これにより、インスタンスと他のサービス間でクロスゾーンアクセスが発生する場合があります。この問題を解決するには、コンソールの サービスの可用性 ページから手動でゾーンを切り替えることができます。
関連トピック
Tair (Redis OSS-compatible) では、マスターレプリカスイッチオーバーを手動で実行することもサポートしています。この機能は、ディザスタリカバリ訓練や、マルチアベイラビリティゾーン展開における最寄りノードへの接続などに活用できます。詳細については、「マスターレプリカスイッチオーバーの手動実行」をご参照ください。
よくある質問
-
インスタンス障害によってトリガーされるマスターレプリカスイッチオーバーの仕組みは何ですか?
高可用性システムは、障害検出のために生体検知機構を採用しています。以下の表にその仕組みを示します。
主要イベント
説明
ヘルスチェック
高可用性システムが、マスターノードおよびレプリカノードの健全性をチェックします。
マスターノード障害
-
マスターノードが利用不可と判定された場合、レプリカノードがマスターノードとして動作します。同時に、レプリカノードの仮想 IP アドレス (VIP) が使用されますが、インスタンスのエンドポイントは変更されません。
-
データ同期を確保するために、別のレプリカノードが作成されます。
レプリカノード障害
レプリカノードが利用不可と判定された場合、データ同期およびマスターレプリカアーキテクチャにおけるデータの永続性を確保するために、別のレプリカノードが自動的に作成されます。
説明マスターノードとレプリカノード間の同期は非同期で実装されているため、マスターノードに最近書き込まれた特定のデータが失われる場合があります。
-
Q:マスターレプリカスイッチオーバー(HA)の履歴を確認するにはどうすればよいですか?
A:以下の手順に従ってください。
コンソールの イベントセンター にアクセスし、ページ上部からリージョンを選択します。
異常イベント をクリックします。
希望する期間範囲を選択します。
アーカイブ状態 を すべて に設定することで、インスタンスフェールオーバー の記録および「Master 不可用」などの原因を確認できます。
Q:読み書き分離インスタンスでマスターレプリカスイッチオーバーが発生した場合、読み取り専用レプリカ に影響はありますか?
A:スイッチオーバー中は、利用可能な読み取り専用レプリカの数が一時的に 1 つ減少します。スイッチオーバー完了後、通常の数に戻ります。
Q:クラスタアーキテクチャ インスタンスにおいて、データシャードのスイッチオーバーはインスタンス全体に影響しますか?
A:いいえ、インスタンス全体には影響しません。影響は該当のデータシャードに限定されます。