読み書き分離や高同時読み取り操作の処理などのビジネスシナリオでデータベースプロキシ機能を使用するには、データベースプロキシエンドポイントに異なる接続設定を構成します。 これにより、ビジネス要件を満たすために必要な接続設定でデータベースプロキシエンドポイントを使用して、ApsaraDB RDS for PostgreSQLインスタンスに接続できます。
前提条件
データベースプロキシ機能が有効になっています。 詳細については、「データベースプロキシ機能の有効化」をご参照ください。
使用上の注意
RDSインスタンス用に読み取り専用RDSインスタンスが作成されます。 RDSインスタンスに読み取り専用RDSインスタンスが作成されていない場合、RDSインスタンスのデータベースプロキシ機能を有効にできますが、データベースプロキシエンドポイントの接続設定を設定できません。 詳細については、「読み取り専用ApsaraDB RDS For PostgreSQLインスタンスの作成」をご参照ください。
手順
- [インスタンス] ページに移動します。 上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションペインで、[データベース] をクリックします。
[接続情報] セクションで、[プロキシエンドポイント (ターミナル) ID] 列で接続設定を構成するデータベースプロキシエンドポイントを見つけ、[操作] 列の [設定の変更] をクリックします。
表示されるダイアログボックスで、ビジネス要件に基づいてデータベースプロキシエンドポイントの関連接続設定を変更します。
パラメーター
説明
接続の説明
データベースプロキシエンドポイントのカスタム説明。 説明の長さは最大30文字です。
読み取り /書き込み属性
データベースプロキシエンドポイントの読み取りおよび書き込み属性。
読み書き (読み書き分離): データベースプロキシエンドポイントは、プライマリRDSインスタンスとその読み取り専用RDSインスタンスに接続し、書き込みリクエストを受信できます。 デフォルト値です。
読み取り専用 (プライマリインスタンスが書き込み要求の受信に接続されていません): データベースプロキシエンドポイントは読み取り専用RDSインスタンスにのみ接続し、書き込み要求を受信できません。
説明データベースプロキシエンドポイントの読み取りおよび書き込み属性を変更した後、変更はデータベースプロキシエンドポイントへの新しい接続に対してのみ有効になります。 データベースプロキシエンドポイントへの既存の接続は変更されません。 詳細については、「データベースプロキシの読み取りおよび書き込み属性と読み取り重みの設定」および「読み取り /書き込み分割とは」をご参照ください。
データベースプロキシエンドポイントの読み書き属性を設定し、読み書き分離機能を使用するには、読み取り専用RDSインスタンスが必要です。 詳細については、「読み取り専用ApsaraDB RDS For PostgreSQLインスタンスの作成」をご参照ください。
レイテンシしきい値
プライマリRDSインスタンスから読み取り専用RDSインスタンスへのデータレプリケーションに許可される最大レイテンシ。 有効な値: 0 ~ 3600 単位は秒です。
読み取り専用RDSインスタンスは、特定のレイテンシでプライマリRDSインスタンスからデータをレプリケートできます。 レイテンシは、実行されるSQL文のステータスによって異なります。 このパラメーターを30以上の値に設定することを推奨します。
説明このパラメーターは、読み取り /書き込み属性パラメーターを読み取り /書き込み (読み取り /書き込み分割) に設定した場合にのみ表示されます。
読み取り専用RDSインスタンスへのデータレプリケーションのレイテンシがこのパラメーターの値を超えると、読み取り専用RDSインスタンスの読み取り重みに関係なく、読み取りリクエストが読み取り専用RDSインスタンスに転送されなくなります。
トランザクション分割
トランザクション分割機能。 値は有効に固定されています。 トランザクション分割が有効になった後、システムはトランザクションの書き込み操作の前に読み取り要求を読み取り専用RDSインスタンスに転送します。 これにより、プライマリRDSインスタンスの負荷が軽減されます。
説明トランザクション分割は無効にできません。 詳細については、「トランザクション分割」をご参照ください。
読み取り重量割り当て
読み取り重みを割り当てるために使用されるメソッド。
自動: システムは、RDSインスタンスの仕様に基づいて、データベースシステム内の各RDSインスタンスに読み取り重みを自動的に割り当てます。 読み取り専用RDSインスタンスを作成すると、読み取り専用RDSインスタンスに読み取り重みが自動的に割り当てられ、読み取り専用RDSインスタンスが読み書き分離リンクに追加されます。 読み取り専用RDSインスタンスの読み取り重みを手動で指定する必要はありません。 詳細については、「デフォルトの読み取り重み」をご参照ください。
カスタム: 各読み取り専用RDSインスタンスの読み取り重みを指定する必要があります。 有効な値: 0 ~ 10000 読み取り専用RDSインスタンスを作成すると、読み取り専用RDSインスタンスの読み取り重みが0に設定されます。 新しい読み取り専用RDSインスタンスの読み取り重みを変更する必要があります。
説明より高い読み取り重みは、処理される必要があるより多くの読み取り要求を示す。 たとえば、プライマリRDSインスタンスに読み取り重みが100、200、200の3つの読み取り専用RDSインスタンスがあり、プライマリRDSインスタンスの読み取り重みが0の場合、プライマリRDSインスタンスは書き込みリクエストのみを処理し、読み取り専用RDSインスタンスは
1:2:2
の比率で読み取りリクエストを処理します。このパラメーターを再設定すると、新しい読み取り重みがすぐに有効になり、一時的な接続は発生しません。 既存の接続も有効なままです。 新しい接続を介して送信されたリクエストのみが、新しい重みに基づいて転送されます。
読み取り専用RDSインスタンスがリリースされると、読み取り重みは自動的に無効になります。
RDSインスタンスに障害が発生するか、データレプリケーションの遅延が指定されたしきい値を超えると、読み取り重みは自動的に無効になります。 RDSインスタンスが期待どおりに実行されると、読み取り重みが再び有効になります。
読み取り要求のSQL文に
/* FORCE_MASTER */
を追加できます。 これにより、リクエストはプライマリRDSインスタンスに転送されます。 読み取りリクエストを読み取り専用インスタンスに転送する場合は、リクエストのSQL文に/* FORCE_SLAVE */
を追加できます。例:
/* FORCE_MASTER */ SELECT * FROM table_name;
[OK] をクリックします。
参考資料
関連する操作
操作 | 説明 |
データベースプロキシの詳細を照会します。 | |
データベースプロキシのエンドポイントを照会します。 | |
データベースプロキシエンドポイントの接続設定を変更します。 |