ApsaraDB RDS for MySQLは、共有データベースプロキシ機能よりも高い安定性、スケーラビリティ、パフォーマンスを実現する専用データベースプロキシ機能を提供します。 ApsaraDB RDS for MySQLインスタンスで共有データベースプロキシ機能が有効になっている場合、RDSインスタンスのデータベースプロキシを共有データベースプロキシから専用データベースプロキシにアップグレードできます。
2021年4月1日より、Alibaba CloudはApsaraDB RDS for MySQLの共有データベースプロキシ機能に対してのみテクニカルサポートを提供し、共有データベースプロキシ機能を更新または維持しなくなりました。 できるだけ早い機会に、RDSインスタンスのデータベースプロキシを共有データベースプロキシから専用データベースプロキシにアップグレードすることを推奨します。 詳細については、「 [EOS /廃止] 共有データベースプロキシ機能の更新とメンテナンスの終了 (2021年4月1日より) 」をご参照ください。
共有データベースプロキシを汎用データベースプロキシに直接アップグレードすることはできません。 共有データベースプロキシを専用データベースプロキシにアップグレードしてから、プロキシの種類を汎用データベースプロキシに変更できます。 詳細については、「プロキシの種類とプロキシ数の変更」および「汎用プロキシと専用データベースプロキシ」をご参照ください。
プロモーションのアップグレード
一定期間内に専用のデータベースプロキシ機能の無料トライアルが提供されます。 試用期間中は、無料で提供される専用データベースプロキシのデフォルト数を使用できます。 追加の専用データベースプロキシを有効にした場合、有効にした追加の専用データベースプロキシに対して課金されます。 無料トライアル期間は、課金方法によって異なります。
プライマリRDSインスタンスが従量課金を使用している場合、無料試用期間は1年です。
プライマリRDSインスタンスがサブスクリプション課金方法を使用している場合、無料試用期間は少なくとも1年で、インスタンスの有効期限によって異なります。
プライマリRDSインスタンスの有効期限が切れる1年以上前にアップグレードを実行した場合、プライマリRDSインスタンスの有効期限が切れると無料試用期間は終了します。
説明プライマリRDSインスタンスを更新しても、無料試用期間は変更されず、新しい有効期限まで延長されません。
プライマリRDSインスタンスの有効期限が切れる1年以内にアップグレードを実行した場合、無料試用期間は1年です。
注意してください以下の点:
プライマリRDSインスタンスの専用データベースプロキシ機能は、デフォルト数の専用データベースプロキシを提供します。 無料試用期間中に追加の専用データベースプロキシを有効にした場合、有効にした追加の専用データベースプロキシに対して課金されます。 たとえば、プライマリRDSインスタンスの専用データベースプロキシ機能に6つのデフォルト専用データベースプロキシが提供されている場合、有効にする専用データベースプロキシの数が6を超えない場合は課金されません。 7つの専用データベースプロキシを有効にすると、1つの専用データベースプロキシに対して課金されます。
無料トライアル期間中にプライマリRDSインスタンスの専用データベースプロキシ機能を無効にすると、無料トライアル期間は終了します。 この機能を再度有効にすると、専用のデータベースプロキシ機能に対して課金されます。
前提条件
プライマリRDSインスタンスとその読み取り専用RDSインスタンスは、次のMySQLバージョンとRDSエディションのいずれかを実行します。
RDS High-availability Editionの20190925以降のマイナーエンジンバージョンを使用したMySQL 5.7
RDS High-availability Editionの20200229以降のマイナーエンジンバージョンを使用したMySQL 5.6
説明アップグレード中に
現在のdb not support db proxy
エラーメッセージが表示された場合は、RDSインスタンスのマイナーエンジンバージョンを更新する必要があります。 詳細については、「マイナーエンジンバージョンの更新」をご参照ください。プライマリRDSインスタンスで共有データベースプロキシ機能が有効になっています。 ApsaraDB RDSコンソールにログインし、[データベースプロキシ] ページに移動して、プライマリRDSインスタンスで共有データベースプロキシ機能が有効になっているかどうかを確認できます。
課金ルール
アップグレードを実行すると、プライマリおよび読み取り専用RDSインスタンスの全体的な仕様に基づいて、特定の数の専用データベースプロキシが推奨されます。 有効にする追加の専用データベースプロキシの料金は、1時間ごとに差し引かれます。 詳細については、「専用データベースプロキシ機能の課金ルール」をご参照ください。
背景情報
ApsaraDB RDS for MySQLの読み書き分離は、データベースプロキシ機能に基づいて実装されています。 MySQL 5.6またはMySQL 5.7を実行する特定の既存のRDSインスタンスの場合、共有データベースプロキシ機能に基づいて読み書き分離が実装されます。 ただし、共有データベースプロキシ機能はサービスの安定性を保証できません。 RDSインスタンスのデータベースプロキシを共有データベースプロキシから専用データベースプロキシにアップグレードすることを推奨します。 共有データベースプロキシ機能と比較して、専用データベースプロキシ機能には次の利点があります。
専用データベースプロキシ機能により、安定性と分離性が向上します。
専用データベースプロキシ機能は、より高いパフォーマンスを提供します。 インスタンス構成でボトルネックの問題が発生しない場合、各専用データベースプロキシは、オンライントランザクション処理 (OLTP) シナリオで1秒あたり最大20,000クエリ (QPS) を処理できます。 これは、Sysbenchを使用して実行されるテストによって検証されます。
専用データベースプロキシ機能はスケーリングをサポートしています。 追加の専用データベースプロキシを有効にして、より多くのワークロードを処理できます。
専用データベースプロキシ機能は、パフォーマンスモニタリングをサポートします。 モニタリングデータとビジネスプランに基づいて、専用データベースプロキシの数を調整できます。 調整は、適用後すぐに有効になります。
専用データベースプロキシエンドポイントが提供されます。 これにより、アプリケーションのエンドポイント情報を変更する必要がなくなり、メンテナンスコストが削減されます。 専用データベースプロキシエンドポイントは、専用データベースプロキシをリリースするまで有効なままです。 たとえば、ピーク時に読み書き分離を有効にしてから読み取り専用RDSインスタンスをリリースし、ピーク時以外に読み書き分離を無効にすることができます。 このような場合、専用データベースプロキシエンドポイントは接続されたままであり、アプリケーションのエンドポイント情報を更新する必要はありません。
専用のデータベースプロキシエンドポイントを使用して、読み取り /書き込み分割、短期間の接続最適化、トランザクション分割などの機能をサポートします。
専用データベースプロキシの詳細については、「データベースプロキシとは」をご参照ください。
次のセクションでは、プライマリRDSインスタンスのデータベースプロキシを共有データベースプロキシから専用データベースプロキシにアップグレードする方法について説明します。
使用上の注意
専用データベースプロキシ機能を有効にすると、各接続は、1:N接続モデルに基づいて、プライマリRDSインスタンスとその読み取り専用RDSインスタンスにレプリケートされます。 インスタンスに同じ接続仕様を指定することを推奨します。 インスタンスの接続仕様が異なる場合、許可される接続の数は、インスタンスの中で最も低い接続仕様によって制限されます。
専用プロキシ機能を有効にした後に読み取り専用RDSインスタンスを作成または再起動すると、新しい接続を介したリクエストのみが読み取り専用RDSインスタンスに転送されます。
max_prepared_stmt_countパラメーターは、プライマリRDSインスタンスと読み取り専用RDSインスタンスで同じ値に設定する必要があります。
RDSインスタンスのデータベースプロキシをアップグレードした後、RDSインスタンスのエンドポイントは変更されません。 ただし、RDSインスタンスの仮想IPアドレス (VIP) は変更されます。 IPアドレスではなくエンドポイントを使用してアプリケーションをRDSインスタンスに接続することを推奨します。
アップグレード後、キャッシュされたDNSレコードをデータベースクライアントから直ちに削除することを推奨します。 データベースクライアントがJava仮想マシン (JVM) で実行されている場合は、JVM構成の有効期間 (TTL) を60秒以下に設定することを推奨します。 これにより、RDSインスタンスの使用中のエンドポイントにバインドされているVIPが変更された場合、アプリケーションは関連するDNSレコードを再度クエリして新しいVIPを取得できます。 その後、アプリケーションは新しいVIPに接続できます。
説明JVM構成でTTLを指定する方法の詳細については、「クラスInetAddress」をご参照ください。
既定では、プロトコル層の専用データベースプロキシに対してマルチステートメント機能が有効になっています。 この機能がアプリケーション層で有効になっていない場合、この機能を使用するとエラーが発生します。 したがって、この機能を使用する前に、関連する接続パラメーターを設定してください。 たとえば、JDBC設定で
allowMultiQueries=true
を追加できます。詳細については、「データベースプロキシ機能の使用に関する注意事項」をご参照ください。
影響
アップグレード中に、プライマリRDSインスタンスとその読み取り専用RDSインスタンスのエンドポイントで、30秒から120秒の一時的な接続が発生します。 読み書き分離ルーティングエンドポイントも30秒間使用できなくなります。
手順
[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、データベースプロキシをクリックします。
表示されるページで、専用プロキシにアップロードをクリックします。
説明アップグレードが完了するまで待ちます。