このトピックでは、プライマリとセカンダリApsaraDB RDS for MariaDBインスタンス間でワークロードを切り替える方法について説明します。 データベースシステムの自動プライマリ /セカンダリ切り替えを有効にできます。 これにより、プライマリRDSインスタンスに障害が発生した場合、システムは自動的にワークロードをセカンダリRDSインスタンスに切り替えます。 プライマリ /セカンダリの切り替え後、セカンダリRDSインスタンスは新しいプライマリRDSインスタンスとして実行されるように昇格され、データベースシステムへの接続に使用されるエンドポイントは変更されません。 アプリケーションは、エンドポイントを使用して新しいプライマリRDSインスタンスに接続できます。 自動プライマリ /セカンダリ切り替えは、高可用性を確保するために使用されます。 プライマリRDSインスタンスとセカンダリRDSインスタンス間でワークロードを手動で切り替えることもできます。
RDS High-availability Editionを使用する場合、データベースシステムのプライマリRDSインスタンスのスタンバイとしてセカンダリRDSインスタンスが提供されます。 プライマリRDSインスタンスのデータは、セカンダリRDSインスタンスにリアルタイムで同期されます。 プライマリRDSインスタンスにのみアクセスできます。 セカンダリRDSインスタンスにアクセスできません。
プライマリRDSインスタンスに障害が発生した場合、ワークロードは自動的にセカンダリRDSインスタンスに切り替えられます。
使用上の注意
切り替え中に、サービスが中断される場合があります。 アプリケーションがインスタンスに自動的に再接続するように設定されていることを確認します。
手順
ApsaraDB for RDS コンソールにログインします。
上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。
RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、[インスタンスの可用性] をクリックします。
表示されるページの [可用性情報] セクションで、[プライマリ /セカンダリインスタンスの切り替え] をクリックします。
表示されるダイアログボックスで、切り替え時間を指定します。 次に、[OK] をクリックします。
プライマリ /セカンダリの切り替え中は、多数の操作を実行できません。 たとえば、データベースとアカウントの管理やネットワークタイプの変更はできません。 計画されたメンテナンス期間中にプライマリ /セカンダリの切り替えを実行することを推奨します。
説明メンテナンス期間を変更する場合は、次の操作を行います。
[メンテナンス期間内の切り替え] オプションの右側にある [変更] をクリックします。
表示されるページの [設定情報] セクションで、メンテナンスウィンドウを選択し、[はい] をクリックします。
[サービスの可用性] ページに移動し、ページを更新して、手順を続行します。
よくある質問
プライマリ /セカンダリの切り替え後、ワークロードをセカンダリRDSインスタンスからプライマリRDSインスタンスに手動で切り替える必要がありますか。
いいえ。プライマリ /セカンダリの切り替え後、ワークロードをセカンダリRDSインスタンスからプライマリRDSインスタンスに手動で切り替える必要はありません。 プライマリRDSインスタンスのデータは、セカンダリRDSインスタンスのデータと同じです。 プライマリ /セカンダリの切り替え後、セカンダリRDSインスタンスは新しいプライマリRDSインスタンスとして機能します。 追加の操作は必要ありません。
プライマリ /セカンダリスイッチオーバーが実行されるたびに、プライマリ /セカンダリスイッチオーバーが完了してから10分後にRDSインスタンスが期待どおりに実行されません。 考えられる原因は何ですか? 問題を処理するにはどうすればよいですか?
RDSインスタンスの例外がプライマリ /セカンダリの切り替えをトリガーして高可用性を確保する場合、アプリケーションは接続の変更を特定して応答できない場合があります。 ソケット接続にタイムアウト期間が指定されていない場合、アプリケーションはデータベースが結果を返すのを待ちます。 ほとんどの場合、アプリケーションは数百秒後に切断されます。 この期間中、データベースへの接続が期待どおりに機能せず、多数のSQL文の実行に失敗します。 無効な接続を回避するには、connectTimeoutパラメーターとsocketTimeoutパラメーターを設定して、ネットワークエラーによってアプリケーションが長時間待機しないようにすることをお勧めします。 これにより、故障からの回復に要する時間が短縮される。
これらのパラメーターは、ワークロードと使用モードに基づいて設定する必要があります。 オンライントランザクションの場合、connectTimeoutを1〜2秒、socketTimeoutを60〜90秒に設定することを推奨します。 この构成は参照だけのためです。