ApsaraDB RDS for MySQL インスタンス(MySQL 5.6 または 5.7)で読み書き分離のために共有データベースプロキシを使用している場合、専用データベースプロキシへアップグレードしてください。共有データベースプロキシは 2021 年 4 月 1 日以降、更新およびメンテナンスが実施されておらず、Alibaba Cloud によるテクニカルサポートのみの提供となります。一方、専用データベースプロキシは、共有プロキシでは実現できない優れた安定性、高いスループット、およびスケーラビリティを提供します。
共有データベースプロキシから直接汎用データベースプロキシへスペックアップすることはできません。まず専用データベースプロキシへスペックアップし、必要に応じて プロキシの種類を変更することで、汎用データベースプロキシへ変更できます。プロキシの種類の違いについては、「汎用プロキシと専用データベースプロキシ」をご参照ください。
アップグレードの検討タイミング
以下のいずれかの状況が発生した場合は、アップグレードをご検討ください。
接続の不安定さ:共有プロキシは複数のインスタンスでリソースを共有するため、同一共有プロキシ上で動作する他のインスタンスの状態がご利用のインスタンスに影響を与える可能性があります。専用プロキシでは、各インスタンスに専用のリソースが割り当てられるため、このリスクが解消されます。
スループットの制限:専用プロキシ 1 台あたり、オンライントランザクション処理(OLTP)シナリオ(Sysbench による検証済み)で最大 20,000 秒間クエリ数(QPS)を処理できます。ワークロードの増加に応じて、追加のプロキシを追加可能です。
エンドポイントの変更頻度:共有プロキシのエンドポイントは変更される場合があり、アプリケーション側での対応が必要になることがあります。専用プロキシのエンドポイントは、明示的にリリースするまで有効です。
機能の不足:共有プロキシは読み書き分離のみをサポートしますが、専用プロキシでは短時間接続の最適化およびトランザクション分割もサポートします。
パフォーマンスモニタリング:専用プロキシではパフォーマンスモニタリングが利用可能です。モニタリングデータおよびビジネス要件に基づき、プロキシの台数を随時調整できます。調整は即時反映されます。
専用データベースプロキシの詳細については、「データベースプロキシとは?」をご参照ください。
アップグレード特典
アップグレードを行うと、専用データベースプロキシの無料トライアル期間が付与されます。トライアル期間中は、ご利用のインスタンスにデフォルトで割り当てられるプロキシ台数分が無料となります。デフォルト台数を超えて追加したプロキシについては、有効化と同時に課金が開始されます。
無料トライアル期間は、課金方法によって異なります。
従量課金:1 年間
サブスクリプション:少なくとも 1 年間(インスタンスの有効期限により異なります)
インスタンスの有効期限切れより1年以上前にスペックアップした場合、トライアルはインスタンスの有効期限切れ時に終了します。
インスタンスの有効期限が切れる 1 年未満前にスペックアップした場合、トライアル期間は 1 年間です。
プライマリ RDS インスタンスの更新は、無料トライアル期間の延長には影響しません。
重要な詳細:
デフォルト台数を超えたプロキシのみが課金対象となります。たとえば、デフォルトが 6 台の場合、7 台を有効化すると、1 台分の料金が発生します。
無料トライアル期間中に専用データベースプロキシを無効化した場合、トライアル期間は直ちに終了します。再び有効化した場合は、課金が再開されます。
前提条件
開始前に、以下の条件を確認してください。
プライマリ RDS インスタンスおよびその読み取り専用 RDS インスタンスが、以下のバージョンのいずれかを実行していること:
RDS High-availability Edition で、MySQL 5.7 かつ マイナーエンジンバージョン 20190925 以降
RDS High-availability Edition で、MySQL 5.6 かつ マイナーエンジンバージョン 20200229 以降
プライマリ RDS インスタンスで共有データベースプロキシが有効化されていること。コンソールの データベースプロキシ 画面で確認してください。
アップグレード時に current db not support db proxy のエラーが発生した場合は、「マイナーエンジンバージョンのアップグレード」を実施してから再試行してください。課金
システムは、プライマリおよび読み取り専用 RDS インスタンスの構成を総合的に判断し、推奨されるプロキシ台数を提示します。追加プロキシの料金は、1 時間単位で課金されます。料金の詳細については、「専用データベースプロキシ機能の課金ルール」をご参照ください。
潜在的な影響
アップグレード実行中の影響は以下のとおりです。
すべてのエンドポイント(プライマリおよび読み取り専用インスタンス)で、30~120 秒間の接続切断が発生します。
読み書き分離ルーティング用エンドポイントが、30 秒間利用不可となります。
アップグレード前の確認事項
続行する前に、以下の内容を確認してください。
接続モデルおよび構成
専用プロキシを有効化すると、各接続は 1:N モデルでプライマリおよび読み取り専用インスタンスに複製されます。すべてのインスタンスで同一の接続構成を使用してください。構成が異なる場合、最も低い構成が許容される接続数の上限となります。
専用プロキシを有効化後に読み取り専用 RDS インスタンスを作成または再起動した場合、新規接続経由のリクエストのみがそのインスタンスにルーティングされます。
パラメーターの整合性
max_prepared_stmt_count パラメーターを、プライマリおよびすべての読み取り専用インスタンスで同一の値に設定してください。
エンドポイントおよび DNS
アップグレード後、エンドポイントは変更されませんが、仮想 IP アドレス(VIP)が変更されます。必ずエンドポイントを指定して接続し、IP アドレスを直接指定しないでください。
スペックアップ後、データベース クライアントからキャッシュされた DNS レコードをクリアします。アプリケーションが Java 仮想マシン (JVM) 上で実行される場合、JVM が新しい VIP を自動的に取得できるように、生存時間 (TTL) を 60 秒以下に設定します。「Class InetAddress」をご参照ください。
複数ステートメント機能
専用プロキシでは、プロトコル層で複数ステートメント機能がデフォルトで有効化されます。アプリケーション側でこの機能が有効になっていない場合、複数ステートメントクエリの実行時にエラーが発生します。これを防ぐためには、アップグレード前に JDBC 設定に allowMultiQueries=true を追加してください。
その他の使用上の注意事項については、「データベースプロキシ機能の使用上の注意事項」をご参照ください。
データベースプロキシのアップグレード
インスタンス ページに移動します。上部のナビゲーションバーから、RDS インスタンスが配置されているリージョンを選択します。該当インスタンスを見つけ、その ID をクリックします。
左側のナビゲーションウィンドウで、データベースプロキシ をクリックします。
専用プロキシへのアップグレード をクリックし、アップグレードが完了するまでお待ちください。
次のステップ
プロキシタイプを変更、またはプロキシ数を調整するには、「プロキシタイプとプロキシ数を変更する」をご参照ください。
読み書き分離やトランザクション分割などのプロキシ機能について詳しく知るには、「データベースプロキシとは?」をご参照ください。