2024 年 8 月 1 日より、データベースプロキシバージョン 2.9.1 を実行中の ApsaraDB RDS for MySQL インスタンスでは、フェールオーバー発生時にも接続を保持できます。これにより、接続の切断が軽減され、接続の信頼性が向上します。
背景情報
プライマリ RDS インスタンスに障害が発生した場合、システムは自動的にセカンダリインスタンスを新しいプライマリとして昇格させ、ワークロードを切り替えます。この切り替えは予期せぬ事象であるため「フェールオーバー」と呼ばれ、通常はクライアント側のアクティブな接続を中断します。
仕組み
データベースプロキシは、実行中または転送待ちの SQL ステートメントをキャッシュします。RDS インスタンスに障害が発生すると、データベースプロキシと RDS インスタンス上のデータベース間のバックエンド接続が切断されます。プロキシがフェールオーバーを検出すると、クライアント接続を即座に切断しません。代わりに、失敗した読み取りリクエストを利用可能な RDS インスタンスに転送し、接続を自動的に復元します。詳細については、「接続保持設定の構成」をご参照ください。
制限事項
書き込みリクエストは保証されません。 データベースプロキシは、フェールオーバー発生時の書き込みリクエストの成功を保証できないため、書き込みリクエストを処理する接続は切断されます。
プロキシの種別が重要です。 汎用データベースプロキシでは、計画的なスイッチオーバー時のみ接続保持がサポートされます。一方、専用データベースプロキシでは、スイッチオーバーおよびフェールオーバーの両方において接続保持がサポートされます。
課金
接続保持機能は無料です。詳細については、「データベースプロキシの課金ルール」をご参照ください。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
MySQL 5.6、MySQL 5.7、または MySQL 8.0 を実行中の RDS インスタンス
RDS High-availability Edition または RDS Cluster Edition を実行中の RDS インスタンス
クラウドディスクまたはローカルディスクを使用中の RDS インスタンス
専用データベースプロキシを使用中の RDS インスタンス
データベースプロキシ機能が有効化され、データベースプロキシのバージョンが 2.9.1 に設定されていること。詳細については、「データベースプロキシ機能の有効化」をご参照ください。
接続保持 がコンソールに表示されない場合、該当の RDS インスタンスは上記の前提条件を満たしていません。
接続保持の有効化または無効化
ApsaraDB RDS コンソール にログインします。上部のナビゲーションバーで、ご利用の RDS インスタンスが配置されているリージョンを選択し、該当インスタンスを検索してインスタンス ID をクリックします。
左側のナビゲーションウィンドウで、[データベースプロキシ] をクリックします。
[基本情報] セクション内にある 接続保持 の右側に表示される [有効] をクリックして機能を有効化するか、[無効] をクリックして無効化します。
接続保持 が表示されない場合、ご利用の RDS インスタンスは前提条件を満たしていません。