本トピックでは、データベースプロキシの設定方法について説明します。クラスターエンドポイントを作成または変更することで、読み書き分離、トランザクション分割、さまざまな整合性レベルなどの機能を有効にできます。
カスタムクラスターエンドポイントの作成
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、クラスター をクリックします。クラスターのリージョンを選択し、クラスター ID をクリックしてクラスターの詳細ページを開きます。
基本情報 ページで、データベースへの接続 セクションを見つけ、カスタムクラスターエンドポイントの作成 をクリックします。
カスタムクラスターエンドポイントの作成 ダイアログボックスで、次のパラメーターを設定します。
設定項目
説明
ネットワーク情報
PolarDB は、デフォルトで各クラスターエンドポイントにプライベートエンドポイントを提供します。エンドポイントを変更したり、パブリックエンドポイントを申請したりするには、およびエンドポイントの変更をご参照ください。また、およびエンドポイントの申請もご参照ください。
クラスター設定
読み書きモード
このエンドポイントの読み書きモードです。オプションは 読み取り専用 と 読み書き (自動読み書き分離) です。
説明カスタムエンドポイントを作成した後に読み書きモードを変更できます。この変更は新しい接続にのみ適用されます。既存の接続は元のモードを維持します。
エンドポイント名
クラスターエンドポイントの名前を入力します。
ノード設定
選択されていないノード と 選択ノード
左側の 選択されていないノード ボックスから、このエンドポイントに追加して読み取りリクエストを処理するノードを選択します。
アイコンをクリックして、右側の 選択ノード ボックスに移動します。説明選択されていないノード には、プライマリノードとすべての読み取り専用ノードが含まれます。
ノードの選択は読み書きモードに影響しません。読み書きモードが 読み書き (自動読み書き分離) に設定されている場合、書き込みリクエストは、選択されているかどうかに関わらず、常にプライマリノードに送信されます。
PolarDB では、単一ノードでクラスターエンドポイントを作成できます。ただし、読み書きモードが 読み取り専用 の場合、プライマリノードのみを含む単一ノードのクラスターエンドポイントは作成できません。
新しいノードを自動的に関連付ける
新しいノードをエンドポイントに自動的に追加するかどうかを指定します。
SLB 設定
負荷バランスポリシー
読み書きモードが [読み取り専用] の場合、これは複数のノードで読み取りリクエストを処理するためのスケジューリングポリシーです。オプションは [接続数に基づく負荷分散] と [アクティブリクエスト数に基づく負荷分散] です。
読み書きモードが 読み書き (自動読み書き分離) の場合、これは複数のノードで読み取りリクエストを処理するためのスケジューリングポリシーです。デフォルトは [アクティブリクエスト数に基づく負荷分散] です。この設定は変更できません。
プライマリノードによる読み取りリクエストの許可
この機能を有効にすると、クエリ SQL 文は読み取り専用ノードにのみ送信されます。これにより、プライマリノードの負荷が軽減され、その安定性が確保されます。プライマリノードの保護の詳細については、「読み書き分離」をご参照ください。
説明この設定は、読み書きモードが 読み書き (自動読み書き分離) の場合にのみ利用できます。
トランザクション分離
トランザクション分割を有効または無効にします。トランザクション分割の詳細については、「トランザクション分割」をご参照ください。
説明この設定は、読み書きモードが 読み書き (自動読み書き分離) の場合にのみ利用できます。
整合性設定
一貫性レベル
読み書きモードが 読み書き (自動読み書き分離) の場合、オプションは 最終的な整合性 (弱)、セッション整合性 (中)、グローバル整合性 (強) です。詳細については、「整合性レベル」をご参照ください。
読み書きモードが 読み取り専用 の場合、デフォルトの整合性レベルは 最終的な整合性 (弱) です。この設定は変更できません。
説明整合性レベルの変更は、すべての接続に対して即座に有効になります。
グローバル整合性 (強) は、PolarDB for PostgreSQL および PolarDB for PostgreSQL (Oracle 2.0 互換) でサポートされています。マイナーエンジンバージョンは 2.0.14.11.22.0 以降である必要があります。この機能の詳細については、「グローバル整合性」をご参照ください。
グローバル整合性の読み取りタイムアウト
読み取り専用ノードがデータ同期を待機して整合性を確保するためのタイムアウト期間です。有効値は 1~1,000,000 です。単位:ミリ秒。デフォルト値は 100 です。
説明この設定は、一貫性レベル が グローバル整合性 (強) に設定されている場合にのみ利用できます。
グローバル整合性の読み取りタイムアウトポリシー
読み取り専用ノードがタイムアウトしたときに実行するポリシーです。有効な値は次のとおりです:
0:プライマリノードにこのリクエストを送信する (デフォルト)。
1:タイムアウトエラー。クライアントはエラーメッセージを返す
2:ダウングレードがタイムアウトしたため、自動的に整合性のない読み書きにダウングレードする
説明この設定は、一貫性レベル が グローバル整合性 (強) に設定されている場合にのみ利用できます。
接続プールの設定
接続プール
オフ (デフォルト) または トランザクションレベル を選択できます。トランザクションレベルのコネクションプーリング機能を使用すると、多数の接続によって引き起こされるデータベースの負荷を軽減できます。詳細については、「トランザクションレベルのコネクションプーリング」をご参照ください。
OK をクリックします。
クラスターエンドポイントの変更
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、クラスター をクリックします。クラスターのリージョンを選択し、クラスター ID をクリックしてクラスターの詳細ページを開きます。
基本情報 ページで、データベースへの接続 セクションに移動します。変更したいクラスターエンドポイントを見つけ、設定 をクリックします。
ノードの設定 ダイアログボックスで、関連パラメーターを設定できます。
OK をクリックします。
カスタムクラスターエンドポイントのリリース
カスタムクラスターエンドポイントのみをリリースできます。デフォルトのクラスターエンドポイントはリリースできません。
カスタムクラスターエンドポイントがリリースされると、回復できません。クライアントのエンドポイントを直ちに更新する必要があります。
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、クラスター をクリックします。クラスターのリージョンを選択し、クラスター ID をクリックしてクラスターの詳細ページを開きます。
基本情報 ページで、データベースへの接続 セクションに移動します。リリースしたいカスタムクラスターエンドポイントを見つけ、削除 をクリックします。
表示されるダイアログボックスで、OK をクリックします。
関連 API
API | 説明 |
カスタムクラスターエンドポイントを作成します。 | |
クラスターエンドポイントを照会します。 | |
カスタムクラスターエンドポイントをリリースします。 |