プライマリ ApsaraDB RDS for PostgreSQL インスタンスの接続数が多すぎるために高負荷になっている場合、またはワークロードで読み書き分離が必要な場合は、ApsaraDB RDS for PostgreSQL のデータベースプロキシ機能を使用できます。このトピックでは、RDS インスタンスのデータベースプロキシ機能を有効にする方法について説明します。データベースプロキシ機能は、読み書き分離やトランザクション分割などの機能を提供し、プライマリ RDS インスタンスからリクエストをオフロードします。
前提条件
RDS インスタンスが次の条件を満たしている必要があります。
RDS インスタンスは PostgreSQL 10 以降を実行していること。
RDS インスタンスはクラウドディスクを使用していること。
RDS インスタンスは RDS High-availability Edition を実行していること。
RDS インスタンスはプライマリ RDS インスタンスであること。
RDS インスタンスが杭州ゾーン C または杭州ゾーン D にある場合、その RDS インスタンスではデータベースプロキシを有効にできません。RDS インスタンスでデータベースプロキシを有効にするには、RDS インスタンスを杭州ゾーン C または杭州ゾーン D から別のゾーンに移行する必要があります。詳細については、「クロスゾーン移行の実行」をご参照ください。
課金ルール
汎用データベースプロキシは無料で提供されます。
専用データベースプロキシは、従量課金方式で課金されます。詳細については、「データベースプロキシの課金ルール」をご参照ください。
使用上の注意
データベースプロキシ機能を有効にした後、プライマリ RDS インスタンスをゾーン間で移行しないことをお勧めします。プライマリ RDS インスタンスをゾーン間で移行すると、プライマリ RDS インスタンスとそのプロキシインスタンスが異なるゾーンに配置されます。これにより、アクセスレイテンシが増加し、応答が遅くなります。
説明サービス障害によりプライマリ/セカンダリのスイッチオーバーがトリガーされた場合、プライマリ RDS インスタンスとそのデータベースプロキシインスタンスは異なるゾーンに配置されます。アクセスレイテンシを削減するには、プライマリ/セカンダリのスイッチオーバーを実行して、プライマリ RDS インスタンスとそのデータベースプロキシインスタンスが同じゾーンにあることを確認します。詳細については、「プライマリとセカンダリの ApsaraDB RDS for PostgreSQL インスタンス間でワークロードを切り替える」をご参照ください。
RDS インスタンス用に読み取り専用 RDS インスタンスが作成されます。RDS インスタンス用に読み取り専用 RDS インスタンスが作成されていない場合、RDS インスタンスのデータベースプロキシ機能を有効にすることはできますが、データベースプロキシエンドポイントの接続設定を構成することはできません。詳細については、「読み取り専用 ApsaraDB RDS for PostgreSQL インスタンスの作成」をご参照ください。
手順
インスタンスページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。
左側のナビゲーションウィンドウで、[データベースプロキシ] をクリックします。
[データベースプロキシタイプ] を選択し、[今すぐ有効にする] をクリックします。
汎用: 汎用データベースプロキシは無料で提供されます。汎用データベースプロキシを有効にすると、システムは自動的に推奨されるプロキシ仕様を使用します。データベースプロキシを有効にした後、プロキシ仕様を変更できます。
専用: 専用データベースプロキシは、従量課金方式で課金されます。専用データベースプロキシを有効にすると、プロキシ仕様を構成できます。
説明システムがサービスリンクロール (SLR) の権限付与が完了していないことを示すプロンプトを表示した場合は、[承認] をクリックします。表示されるダイアログボックスで、[OK] をクリックします。Alibaba Cloud は、AliyunServiceRoleForRdsProxyOnEcs という名前のサービスリンクロールを自動的に作成します。その後、データベースプロキシ機能はこのロールを使用して Elastic Network Interface (ENI) をバインドし、ネットワーク接続を確立できます。
汎用データベースプロキシと専用データベースプロキシの違いの詳細については、「データベースプロキシとは」をご参照ください。
データベースプロキシの推奨仕様は、次の数式を使用して計算されます。
プロキシの推奨仕様 =
推奨されるデータベースプロキシの数 × データベースプロキシのユニット仕様。データベースプロキシのユニット仕様は 2 CPU コアに固定されています。汎用データベースプロキシの最高仕様は 16 CPU コアです。専用データベースプロキシの最高仕様は 32 CPU コアです。次の表に、推奨されるデータベースプロキシの数の計算方法を示します。
データベースプロキシタイプ
推奨されるデータベースプロキシの数
汎用
(プライマリ RDS インスタンスの CPU コア数 + プライマリ RDS インスタンスに属するすべての読み取り専用 RDS インスタンスの CPU コア数)/4。結果は切り上げられます。専用
(プライマリ RDS インスタンスの CPU コア数 + プライマリ RDS インスタンスに属するすべての読み取り専用 RDS インスタンスの CPU コア数)/8。結果は切り上げられます。
たとえば、RDS High-availability Edition を実行するプライマリ RDS インスタンスに 8 CPU コアがあり、その読み取り専用 RDS インスタンスに 4 CPU コアがある場合、推奨されるデータベースプロキシの数は 2 です。この数は、次の計算に基づいて取得されます:
(8+4)/8=2。データベースプロキシの推奨仕様は 4 CPU コアです。この数は、次の計算に基づいて取得されます:2 × 2 = 4。
[OK] をクリックします。
データベースプロキシ機能を有効にした後、[データベースプロキシ] ページに移動して、データベースプロキシの基本情報と接続情報を表示できます。
セクション
パラメーター
説明
基本情報
プライマリインスタンス
RDS インスタンスの ID。
プロキシインスタンスのステータス
データベースプロキシインスタンスのステータス。
プロキシタイプ
データベースプロキシのタイプ。値は汎用と専用です。汎用データベースプロキシと専用データベースプロキシの違いの詳細については、「データベースプロキシとは」をご参照ください。
ゾーン
データベースプロキシインスタンスのゾーン。デフォルトでは、データベースプロキシインスタンスのゾーンはプライマリ RDS インスタンスのゾーンと同じです。
プロキシ仕様
データベースプロキシの仕様。
次の計算は、データベースプロキシの仕様とデータベースプロキシの数の関係を示しています:
データベースプロキシの仕様 = データベースプロキシのユニット仕様 × データベースプロキシの数。この計算では、データベースプロキシのユニット仕様は 2 CPU コアに固定されています。たとえば、データベースプロキシの数が 3 の場合、データベースプロキシの仕様は 6 CPU コアです。この値は、次の計算に基づいて取得されます:2 × 3 = 6。プロキシバージョン
プロキシのマイナーエンジンバージョン。
プロキシインスタンス ID
プロキシインスタンスの ID。
プロキシノード
ノード ID
プロキシノードの ID。
ゾーン
プロキシノードのゾーン ID。
プロキシノード仕様 CPU (コア)
プロキシノードの仕様。
接続情報
プロキシエンドポイント (ターミナル) ID
データベースプロキシエンドポイントの ID。データベースプロキシエンドポイントごとに異なる接続設定を構成できます。
説明各 RDS インスタンスは最大 7 つのデータベースプロキシエンドポイントをサポートします。各データベースプロキシエンドポイントに対して、1 つの内部エンドポイントと 1 つのパブリックエンドポイントを申請できます。
データベースプロキシエンドポイントの接続設定を構成した後、データベースプロキシエンドポイントを使用して RDS インスタンスに接続できます。詳細については、「データベースプロキシエンドポイントの接続設定を構成する」および「データベースプロキシエンドポイントを使用して ApsaraDB RDS for PostgreSQL インスタンスに接続する」をご参照ください。
ポインターをデータベースプロキシエンドポイントの ID の上に移動すると、データベースプロキシエンドポイントの接続設定を表示できます。接続設定には、読み書き属性と読み取り重み情報セクションの情報が含まれます。
読み書き属性
データベースプロキシの読み書き属性。値は [読み書き] と [読み取り専用] です。
詳細については、「データベースプロキシの読み書き属性と読み取り重みを構成する」をご参照ください。
内部エンドポイント/ポート
データベースプロキシエンドポイントの内部エンドポイントと、そのデータベースプロキシエンドポイントに関連付けられているポート。
内部エンドポイントを使用して、内部ネットワーク経由で RDS インスタンスに接続し、データベースプロキシ機能を使用できます。
説明内部エンドポイントは、データベースプロキシエンドポイントの ID にバインドされます。データベースプロキシエンドポイントの接続設定を構成することで、データベースプロキシ機能をカスタマイズできます。詳細については、「データベースプロキシエンドポイントの接続設定を構成する」をご参照ください。
エンドポイントの右側にある
アイコンをクリックして、エンドポイントのプレフィックスとエンドポイントに関連付けられているポートを変更できます。詳細については、「データベースプロキシエンドポイントの管理」をご参照ください。
パブリックエンドポイント/ポート
データベースプロキシエンドポイントのパブリックエンドポイントと、そのデータベースプロキシエンドポイントに関連付けられているポート。
パブリックエンドポイントを使用して、インターネット経由で RDS インスタンスに接続し、データベースプロキシ機能を使用できます。
説明データベースプロキシは、デフォルトで内部エンドポイントを提供します。パブリックエンドポイントを申請できます。
パブリックエンドポイントを申請した後、エンドポイントの右側にある
アイコンをクリックして、エンドポイントのプレフィックスとエンドポイントに関連付けられているポートを変更できます。詳細については、「データベースプロキシエンドポイントの管理」をご参照ください。
関連する操作
API | 説明 |
インスタンスのデータベースプロキシ機能を有効または無効にします。 | |
データベースプロキシの詳細を照会します。 |