このトピックでは、ApsaraDB RDS for PostgreSQLのデータベースプロキシ機能を使用する前に、よく知っておく必要がある使用法に関する注意事項を示します。
使用上の注意
汎用データベースプロキシは無料で提供されます。 専用データベースプロキシ、読み取り専用ApsaraDB RDS for PostgreSQLインスタンス、およびプライマリRDSインスタンスは個別に課金されます。
プライマリRDSインスタンスまたはその読み取り専用RDSインスタンスの仕様を変更すると、一時的な接続が発生する可能性があります。
データベースプロキシ機能を有効にした後に読み取り専用RDSインスタンスを作成または再起動した場合、新しい接続を介して送信されたリクエストのみが、新しいまたは再起動した読み取り専用RDSインスタンスに転送されます。
データベースプロキシエンドポイントを使用して読み書き分離を実装すると、セッション内の要求の読み取りの一貫性を確保できません。
データベースプロキシエンドポイントを使用する場合、セッション変数を表示してプライマリRDSインスタンスと読み取り専用RDSインスタンスの設定を確認するときに、
/* force_master */ / /* force_slave */
を追加する必要があります。データベースプロキシ機能は、1:N接続モデルを使用します。 アプリケーションが接続リクエストを開始すると、データベースプロキシは確立された接続をプライマリRDSインスタンスとすべての読み取り専用RDSインスタンスにレプリケートします。 データベースプロキシに許可される接続の最大数は無制限です。 許可される接続の最大数は、プライマリRDSインスタンスとその読み取り専用RDSインスタンスの仕様によって異なります。 トランザクションレベルのコネクションプーリング機能を有効にしない場合、データベースプロキシは、各クライアントからプライマリRDSインスタンスおよび各読み取り専用RDSインスタンスへの個別の接続を確立します。 データベースプロキシ機能を有効にした後、プライマリRDSインスタンスとその読み取り専用RDSインスタンスに許可される最大接続数を指定することを推奨します。 プライマリRDSインスタンスとその読み取り専用RDSインスタンスで許可されている最大接続数が異なる場合、データベースプロキシで許可されている最大接続数は、これらのRDSインスタンス間で許可されている最小接続数の影響を受けます。
プライマリRDSインスタンスがロックされている場合、プライマリRDSインスタンスに対して有効になっているデータベースプロキシはリリースされませんが、読み取り要求のみを処理できます。
プライマリRDSインスタンスがリリースされると、プライマリRDSインスタンスで有効になっているデータベースプロキシが自動的にリリースされます。 専用データベースプロキシに対して課金されなくなりました。
RDSインスタンスの特権アカウントを使用して、RDSインスタンスがデプロイされているホストのCIDRブロックを設定する場合、CIDRブロックは
10.1.2.%
形式にすることができます。説明ホストに
10.1.2.0/24
形式のCIDRブロックを設定することはできません。複数のステートメントを実行するか、ストアドプロシージャを呼び出すと、現在の接続を介した後続のすべてのリクエストがプライマリRDSインスタンスに転送されます。 読み書き分離を再度実行するには、現在の接続を閉じて新しい接続を確立する必要があります。
データベースプロキシのIPアドレスホワイトリストは、プライマリRDSインスタンスのIPアドレスホワイトリストと一致しています。 プライマリRDSインスタンスのIPアドレスホワイトリストが更新されると、データベースプロキシのIPアドレスホワイトリストも更新されます。