接続数が多すぎるためにプライマリ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から別のゾーンに移行する必要があります。 詳細については、「同じリージョンのゾーン間でのApsaraDB RDS For PostgreSQLインスタンスの移行」をご参照ください。
課金ルール
汎用データベースプロキシは無料で提供されます。
専用のデータベースプロキシは、従量課金に基づいて課金されます。 詳細については、「データベースプロキシの課金ルール」をご参照ください。
使用上の注意
データベースプロキシ機能を有効にした後、プライマリ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インスタンスのCPUコアが8つ、読み取り専用RDSインスタンスのCPUコアが4つの場合、推奨されるデータベースプロキシの数は2です。 この数は、
(8 + 4)/8 = 1.5
の計算に基づいて得られる。 結果1.5は2に切り上げられます。 データベースプロキシの推奨仕様は4 CPUコアです。 この数は、2 × 2 = 4
の計算に基づいて得られる。
[OK] をクリックします。
データベースプロキシ機能を有効にすると、[データベースプロキシ] ページに移動して、データベースプロキシに関する基本情報と接続情報を表示できます。
セクション
パラメーター
説明
基本情報
プライマリインスタンス
RDS インスタンスの ID
プロキシインスタンスのステータス
データベースプロキシインスタンスのステータス。
プロキシタイプ
データベースプロキシの種類。 値は汎用と専用にすることができます。 汎用データベースプロキシと専用データベースプロキシの違いの詳細については、「データベースプロキシとは」をご参照ください。
Zone
データベースプロキシインスタンスのゾーン。 デフォルトでは、データベースプロキシインスタンスのゾーンはプライマリRDSインスタンスのゾーンと同じです。
プロキシ仕様
データベースプロキシの仕様。
次の計算は、データベースプロキシの仕様とデータベースプロキシの数の関係を示しています。
データベースプロキシの仕様=データベースプロキシの単位仕様 × データベースプロキシの数
。 この計算では、データベースプロキシのユニット仕様は2つのCPUコアとして固定されています。 たとえば、データベースプロキシの数が3の場合、データベースプロキシの仕様は6 CPUコアです。 この値は、2x3 = 6
の計算に基づいて得られる。Proxyバージョン
データベースプロキシのバージョン。
接続情報
プロキシエンドポイント (ターミナル) ID
データベースプロキシエンドポイントのID。 データベースプロキシエンドポイントごとに異なる接続設定を構成できます。
説明各RDSインスタンスは、最大7つのデータベースプロキシエンドポイントをサポートします。 各データベースプロキシエンドポイントに対して1つの内部エンドポイントと1つのパブリックエンドポイントを申請できます。
データベースプロキシエンドポイントの接続設定を設定した後、データベースプロキシエンドポイントを使用してRDSインスタンスに接続できます。 詳細については、「データベースプロキシエンドポイントの接続設定の設定」および「データベースプロキシエンドポイントを使用してApsaraDB RDS For PostgreSQLインスタンスに接続する」をご参照ください。
データベースプロキシエンドポイントの接続設定を表示するには、データベースプロキシエンドポイントのIDの上にポインターを移動します。 接続設定には、読み取り /書き込み属性と読み取り重み情報セクションの情報が含まれます。
読み取り /書き込み属性
データベースプロキシの読み取り /書き込み属性。 値は、読み取り /書き込みおよび読み取り専用です。
詳細については、「データベースプロキシの読み取り /書き込み属性と読み取り重みの設定」をご参照ください。
内部エンドポイント /ポート
データベースプロキシエンドポイントの内部エンドポイントと、データベースプロキシエンドポイントに関連付けられているポート。
内部エンドポイントを使用して、内部ネットワーク経由でRDSインスタンスに接続し、データベースプロキシ機能を使用できます。
説明内部エンドポイントは、データベースプロキシエンドポイントのIDにバインドされます。 データベースプロキシエンドポイントの接続設定を構成することで、データベースプロキシ機能をカスタマイズできます。 詳細については、「データベースプロキシエンドポイントの接続設定の構成」をご参照ください。
エンドポイントの右側にあるアイコンをクリックして、エンドポイントのプレフィックスと、エンドポイントに関連付けられているポートを変更できます。 詳細については、「データベースプロキシエンドポイントの管理」をご参照ください。
パブリックエンドポイント /ポート
データベースプロキシエンドポイントのパブリックエンドポイントと、データベースプロキシエンドポイントに関連付けられているポート。
パブリックエンドポイントを使用して、インターネット経由でRDSインスタンスに接続し、データベースプロキシ機能を使用できます。
説明データベースプロキシは、デフォルトで内部エンドポイントを提供します。 パブリックエンドポイントを申請できます。
パブリックエンドポイントを申請した後、エンドポイントの右側にあるアイコンをクリックして、エンドポイントのプレフィックスとエンドポイントに関連付けられているポートを変更できます。 詳細については、「データベースプロキシエンドポイントの管理」をご参照ください。
関連する操作
API | 説明 |
インスタンスのデータベースプロキシ機能を有効または無効にします。 | |
データベースプロキシの詳細を照会します。 |