すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:データベースプロキシに関するよくある質問

最終更新日:Mar 29, 2026

このページでは、ApsaraDB RDS for PostgreSQL のデータベースプロキシ機能に関するよくある質問にお答えします。

データベースプロキシとは

データベースプロキシは、アプリケーションと RDS インスタンスの間に位置し、すべてのリクエストを転送するネットワークプロキシです。アプリケーションコードを変更することなく、読み書き分離とトランザクション分割を自動的に提供します。プロキシは高可用性アーキテクチャで実行されるため、単一障害点を生み出すことはありません。

この機能の概要については、「データベースプロキシとは」をご参照ください。

汎用データベースプロキシと専用データベースプロキシの違い

  • 汎用:物理 CPU リソースを共有し、無料で提供されます。最大仕様:16 CPU コア (8 プロキシ)。

  • 専用:物理 CPU リソースを排他的に割り当て、従量課金制で課金されます。最大仕様:32 CPU コア (16 プロキシ)。

安定した予測可能なパフォーマンスが必要で、ワークロードが他のテナントからのリソース競合を許容できない場合は、専用プロキシを選択してください。

料金の詳細については、「データベースプロキシ機能の課金ルール」をご参照ください。

データベースプロキシの仕様の計算方法

各プロキシユニットは 2 CPU コアを提供します。合計仕様は次のとおりです:

プロキシ仕様 = 2 CPU コア × データベースプロキシの数

たとえば、3 つのプロキシがある場合、仕様は 6 コアになります (2 × 3 = 6)。

プロキシのサイズを正しく設定するには、次の数式を使用します:

プロキシタイプ数式最大
汎用(プライマリ CPU コア + すべての読み取り専用 CPU コア) / 4、切り上げ16 CPU コア
専用(プライマリ CPU コア + すべての読み取り専用 CPU コア) / 8、切り上げ32 CPU コア

:8 CPU コアのプライマリインスタンスと 4 CPU コアの読み取り専用インスタンスがある場合、(8 + 4) / 8 = 1.5 を切り上げて 2 つの専用プロキシが必要となり、仕様は 4 CPU コアになります。

プロキシ接続アドレスを追加するとパフォーマンスは向上しますか。

いいえ。プロキシ接続アドレスの数は、プロキシのパフォーマンスに影響しません。パフォーマンスは以下に依存します:

  • 読み取り専用インスタンスの数 — 読み取り専用インスタンスが多いほど、より多くの読み取りリクエストを処理できます。

  • プロキシの数 — プロキシが多いほど、全体的なスループットが向上します。

  • プロキシの仕様 — 仕様が高いほど、処理能力が向上します。

プロキシ接続アドレスの数はプロキシの数に依存しますか。

いいえ、これらは独立しています。プロキシが有効になっている各 ApsaraDB RDS for PostgreSQL インスタンスは、プロキシの数に関係なく、最大 7 つのプロキシ接続アドレスをサポートします。各エンドポイントは、1 つの内部エンドポイントと 1 つのパブリックエンドポイントを持つことができます。

設定手順については、「データベースプロキシ接続アドレスの作成」をご参照ください。

データベースプロキシはインスタンスの QPS または TPS にカウントされますか。

いいえ。プロキシは独立して動作し、プライマリ RDS インスタンスの秒間クエリ数 (QPS) や秒間トランザクション数 (TPS) を消費しません。

プロキシ接続アドレスと通常のエンドポイントの違い

通常のエンドポイントは、すべてのリクエストを同じ RDS インスタンスに転送します。一方、プロキシ接続アドレスは、SQL ステートメントのタイプに基づいて、書き込みリクエストをプライマリ RDS インスタンスに、読み取りリクエストを読み取り専用インスタンスに自動的にルーティングします。これにより、アプリケーションにルーティングロジックを実装することなく、プライマリインスタンスの負荷を軽減できます。

データベースプロキシを有効にすると、元のエンドポイントは回収されますか。

いいえ。データベースプロキシを有効にした後も、プライマリインスタンスと読み取り専用インスタンスの元のエンドポイントは引き続き利用可能です。必要に応じて、それらを直接使用し続けることができます。

プロキシノードの障害発生時の動作

プロキシは、2 つのプライマリノードを持つ高可用性アーキテクチャで実行され、接続を 1:1 の比率で分散します。一方のノードに障害が発生した場合、もう一方のノードが即座に引き継ぎ、システムは障害が発生したノードで自動的に復旧タスクをトリガーします。

データベースプロキシはコネクションプーリングをサポートしていますか。

いいえ。ApsaraDB RDS for PostgreSQL のデータベースプロキシは、コネクションプーリングをサポートしていません。データベースプロキシに確立できる最大接続数に制限はありません。プロキシがサポートする接続数は、プライマリインスタンスの接続数上限と読み取り専用インスタンスの接続数上限のうち、小さい方の値によって決まります。

たとえば、プライマリインスタンスが 1,600 接続をサポートし、読み取り専用インスタンスが 800 接続をサポートする場合、プロキシは 800 接続をサポートします。

特定のインスタンスタイプの接続数上限については、「プライマリ ApsaraDB RDS for PostgreSQL インスタンスのインスタンスタイプ」および「読み取り専用 ApsaraDB RDS for PostgreSQL インスタンスのインスタンスタイプ」をご参照ください。

プロキシ接続アドレスのプレフィックスまたはポートを変更できますか。

はい。任意のプロキシ接続アドレスのプレフィックスとポートを変更できます。

手順については、「データベースプロキシ接続アドレスの管理」をご参照ください。

読み取りリクエストを強制的にプライマリインスタンスに送信する方法

SQL ステートメントに /*FORCE_MASTER*/ ヒントを追加します:

/*FORCE_MASTER*/ SELECT * FROM table_name;

代わりに、読み取りリクエストを明示的に読み取り専用インスタンスにルーティングするには、/*FORCE_SLAVE*/ を使用します。

読み取り重みを更新しましたが、変更が反映されません。なぜですか。

読み取り重みの変更は、新しい接続にのみ適用されます。既存の接続は再確立されず、切断して再接続するまで古い重みを保持します。新しい重みをすぐに適用するには、既存の接続を閉じて、アプリケーションに再接続させてください。

RDS インスタンスの障害後、プロキシはどのくらいの速さで回復しますか。

プロキシはインスタンスの状態を継続的に監視し、2 秒以内に障害を検出します。インスタンスが回復すると、プロキシはすぐにトラフィックのルーティングを再開します。アプリケーションは再接続したり、回復ロジックを処理したりする必要はありません。

VPC タイプの内部エンドポイントの VPC ID と vSwitch ID を確認する方法

[データベースプロキシ] ページの [接続情報] セクションで、内部エンドポイントを見つけ、[内部エンドポイント/ポート] 列の image.png アイコンにポインターを合わせます。