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

PolarDB:データベースプロキシの設定

最終更新日:Jan 31, 2026

このトピックでは、PolarDB クラスターエンドポイントを使用してデータベースプロキシを設定する方法について説明します。

前提条件

クラスターは PolarDB for MySQLCluster Edition である必要があります。プロダクトエディションの詳細については、「Enterprise Edition」をご参照ください。

注意事項

データベースプロキシを設定する際にパラレルクエリを有効にし、並列度を設定できるのは、PolarDB for MySQL 8.0 クラスターのみです。

手順

  1. PolarDB コンソールにログインします。左側のナビゲーションウィンドウで [クラスター] をクリックします。クラスターが配置されているリージョンを選択し、対象クラスターの ID をクリックしてクラスターの詳細ページに移動します。

  2. クラスターの 概要 ページで、[データベース接続] セクションにある対象のクラスターエンドポイントを見つけます。エンドポイント名の横にある [設定] をクリックします。

    7.png

  3. 表示されたダイアログボックスで、必要に応じてクラスターエンドポイントの構成を変更します。次の表に設定項目を示します。

    表 1. 構成

    設定項目

    説明

    ネットワーク情報

    PolarDB は、デフォルトで各クラスターエンドポイントにプライベートエンドポイントを提供します。エンドポイントを変更したり、パブリックエンドポイントを申請したりする方法については、「エンドポイントの管理」をご参照ください。

    クラスター設定

    読み書きモード

    クラスターエンドポイントの読み書きモード。有効値は 読み取り専用読み書き (自動読み書き分離) です。

    説明

    カスタムエンドポイントを作成した後、読み書きモードを変更できます。この変更は新しい接続に対してのみ有効です。既存の接続は元のモードを維持します。

    エンドポイント名

    クラスターエンドポイントの名前を入力します。

    ノード設定

    選択されていないノード選択ノード

    左側の 選択されていないノード ボックス (プライマリノードとすべての読み取り専用ノードを含む) から、読み取りリクエストを処理するためにクラスターエンドポイントに追加するノードを選択します。1 アイコンをクリックして、右側の 選択ノード ボックスに移動します。

    説明

    ノードの選択は読み書きモードに影響しません:

    • 読み書きモードが 読み書き (自動読み書き分離) に設定されている場合、プライマリノードが 選択ノード ボックスにあるかどうかに関わらず、書き込みリクエストはプライマリノードにのみ送信されます。

    • 読み書きモードが 読み取り専用 に設定されている場合、プライマリノードが 選択ノード ボックスにある場合でも、すべての読み取りリクエストは負荷分散ポリシーに基づいて読み取り専用ノードに転送され、プライマリノードには転送されません。

    • 読み書きモードが 読み書き (自動読み書き分離) に設定されている場合、`Multi-master Cluster (Limitless) Edition` はデータベースとテーブルのルーティングメカニズムを使用するため、ターゲットデータベースとテーブルのプライマリノードを読み書きエンドポイントに追加するか、すべてのプライマリノードを選択する必要があります。ノードを選択する前に、ルーティングへの影響を評価してください。

    新しいノードを自動的に関連付ける

    新しいノードをこのエンドポイントに自動的に追加するかどうかを指定します。

    SLB 設定

    負荷バランスポリシー

    読み書き分離が有効な場合に、複数のノード間で読み取りリクエストを処理するために使用されるスケジューリングポリシー。有効値は 接続数に基づく負荷分散アクティブなリクエストベースのロードバランシング です。負荷分散ポリシーの詳細については、「負荷分散ポリシー」をご参照ください。

    プライマリノードによる読み取りリクエストの許可

    • [いいえ] を選択します。クエリ SQL 文は読み取り専用ノードにのみ送信されます。これにより、プライマリノードの負荷が軽減され、その安定性が確保されます。

    • [はい] を選択します。クエリ SQL 文はプライマリノードと読み取り専用ノードに送信できます。

    プライマリノードが読み取りリクエストを受け付けるかどうかの詳細については、「プライマリノードでの読み取りリクエストの受付」をご参照ください。

    説明

    この設定は、読み書き (自動読み書き分離) モードでのみサポートされます。

    トランザクション分離

    トランザクション分割を有効または無効にします。トランザクション分割の詳細については、「トランザクション分割」をご参照ください。

    説明

    この設定は、読み書き (自動読み書き分離) モードでのみサポートされます。

    オンデマンド接続確立

    オンデマンド接続確立機能を有効または無効にします。オンデマンド接続確立の詳細については、「オンデマンド接続確立」をご参照ください。

    説明

    この設定は、[負荷分散ポリシー]アクティブなリクエストベースのロードバランシング に設定されている場合にのみサポートされます。

    整合性設定

    一貫性レベル

    • 読み書きモードが 読み書き (自動読み書き分離) の場合、整合性レベルを 最終的な整合性 (弱)セッション整合性 (中)、または グローバル整合性 (強) に設定できます。詳細については、「整合性レベル」をご参照ください。

    • 読み書きモードが 読み取り専用 の場合、整合性レベルは 最終的な整合性 (弱) であり、変更できません。

    重要
    • 整合性レベルの変更は、すべての接続に対して即座に有効になります。

    • グローバル整合性 (パフォーマンス専有型) は、クラスター内のすべてのエンドポイントで同時に有効にする必要があります。グローバル整合性 (パフォーマンス専有型) 以外の整合性レベルを選択した場合、クラスター内の他のすべてのエンドポイントは、グローバル整合性 (パフォーマンス専有型) が有効になる前の整合性状態に戻ります。

    グローバル一貫性タイムアウト

    読み取り専用ノードが最新データの同期を待機するタイムアウト期間。値の範囲は 0~60000 です。デフォルト値は 20 です。単位は ms です。

    説明

    この設定は、一貫性レベル[グローバル整合性 (強)] に設定され、[グローバル整合性モード][従来モード] に設定されている場合にのみサポートされます。

    グローバル一貫性タイムアウトポリシー

    読み取り専用ノードがタイムアウトを待機した後に PolarDB が使用するデフォルトのポリシー。有効値は次のとおりです:

    • プライマリノードにリクエストを送信 (デフォルト)

    • SQL 例外:レプリケーション完了タイムアウトを待ち、再試行してください。

    説明

    この設定は、一貫性レベル[グローバル整合性 (強)] に設定され、[グローバル整合性モード][従来モード] に設定されている場合にのみサポートされます。

    [グローバル整合性読み取りタイムアウト (パフォーマンス専有型)]

    読み取り専用ノードが最新データの同期を待機するタイムアウト期間。値の範囲は 1~1000000 です。デフォルト値は 100 です。単位は ms です。

    重要
    • グローバル整合性 (パフォーマンス専有型) は、クラスター内のすべてのエンドポイントで同時に有効にする必要があります。あるエンドポイントでグローバル整合性 (パフォーマンス専有型) を有効にすると、クラスター内の他のすべてのエンドポイントでも有効になります。

    • この設定は、一貫性レベル[グローバル整合性 (強)] に設定され、[グローバル整合性モード][パフォーマンス専有型] に設定されている場合にのみサポートされます。

    [グローバル整合性読み取りタイムアウトポリシー (パフォーマンス専有型)]

    読み取り専用ノードがタイムアウトを待機した後に PolarDB が使用するデフォルトのポリシー。有効値は次のとおりです:

    • 0, リクエストをプライマリノードに送信 (デフォルト)

    • [1、タイムアウトエラーを報告し、クライアントにエラーメッセージを返す]

    • [2、タイムアウト時にダウングレード。グローバル整合性の読み取りがタイムアウトした場合、クエリは自動的に通常のリクエストにダウングレードされ、クライアントにエラーメッセージは返されません]

    説明

    この設定は、一貫性レベル[グローバル整合性 (強)] に設定され、[グローバル整合性モード][パフォーマンス専有型] に設定されている場合にのみサポートされます。

    セッション一貫性読み取りタイムアウト

    読み取り専用ノードが最新データの同期を待機するタイムアウト期間。値の範囲は 0~60000 です。デフォルト値は 0 です。単位は ms です。

    重要
    • この設定は、[整合性レベル][セッション整合性 (中)] に設定されている場合にのみサポートされます。

    • グローバル整合性 (パフォーマンス専有型) は、クラスター内のすべてのエンドポイントで同時に有効にする必要があります。グローバル整合性 (パフォーマンス専有型) 以外の整合性レベルを選択した場合、クラスター内の他のすべてのエンドポイントは、グローバル整合性 (パフォーマンス専有型) が有効になる前の整合性状態に戻ります。

    [セッション整合性読み取りタイムアウトポリシー]

    読み取り専用ノードがタイムアウトを待機した後に PolarDB が使用するデフォルトのポリシー。有効値は次のとおりです:

    • [0、リクエストをプライマリノードに送信 (デフォルト)]

    • 1、SQL エラーをレポート (レプリケーション完了待機タイムアウト、リトライしてください)

    説明

    この設定は、[整合性レベル][セッション整合性 (中)] に設定されている場合にのみサポートされます。

    接続プールの設定

    接続プール

    オフ (デフォルト)、[セッションレベル]、または [トランザクションレベル] を選択できます。接続プールの詳細については、「接続プール」をご参照ください。

    説明
    • この設定は、読み書き (自動読み書き分離) モードでのみサポートされます。

    • 接続プールの設定変更は、新しい接続に対してのみ有効です。通常、変更を有効にするには、アプリケーションを再起動するか、データベース接続を再構築する必要があります。

    HTAP 最適化

    並行クエリ

    パラレルクエリ機能を有効または無効にし、並列度を設定します。

    弾性パラレルクエリ (ePQ) を有効にすると、マルチコア CPU の並列処理能力 (クラスター内のアイドルな計算リソース) を利用して、複雑なクエリを高速化できます。詳細については、「弾性パラレルクエリ」をご参照ください。

    説明

    2023年4月1日以降、クラスターが次の条件を満たす場合、弾性パラレルクエリはデフォルトで有効になり、並列度は 2 に設定されます:

    • 新しいクラスターの場合:クラスターに 8 つ以上の CPU コアがある。

    • 既存のクラスターの場合:8 つ以上の CPU コアを持つ既存のクラスターにカスタムクラスターエンドポイントを作成する。

    トランザクションと分析処理の分離

    行ストアと列ストア間の自動リクエスト配信を有効または無効にします。詳細については、「行ストアノードと列ストアノード間の自動リクエスト配信の設定」をご参照ください。

    説明

    この設定は、マイナーエンジンバージョンが 8.0.1.1.22 以降の PolarDB for MySQL 8.0.1 クラスターのエンドポイントでのみサポートされます。エンドポイントは 読み書き モードである必要があり、ノード設定 セクションの 選択ノード には、少なくとも 1 つの読み取り専用列ストアノードが含まれている必要があります。

    [列ストアノードでの OLTP リクエストの受付]

    列ストアノードが OLTP リクエストを受け入れる機能を有効または無効にします。

    この機能を有効にすると、列ストアノードは OLAP と OLTP の両方のリクエストを受け入れます。データベースプロキシは、アクティブなリクエスト数に基づいて OLTP 読み取りリクエストを列ストアノードにルーティングします。これにより、列ストアノードの負荷が増加する可能性があります。

    説明

    この設定は、トランザクションと分析処理の分離 が有効になっている場合にのみサポートされます。

    セキュリティ保護

    過負荷保護

    過負荷保護機能を有効または無効にします。詳細については、「過負荷保護」をご参照ください。

  4. OK をクリックします。

よくある質問

クラスターエンドポイントで読み取り専用ノードの重みを 0 に設定してからノードを削除すると、接続エラーが発生するのはなぜですか?

  • シナリオ:クラスターエンドポイントから読み取り専用ノードを削除する必要があります。ノードへの接続に影響を与えないように、まず読み取り専用ノードの読み書き分離の重みを 0 に設定します。これにより、後続の読み取りリクエストはこのノードに送信されないと想定します。しかし、クラスターエンドポイントからノードを削除すると、クライアントで接続エラーが発生します。

  • 原因:クラスターエンドポイントには、アクティブなリクエストベースのロードバランシング接続数に基づく負荷分散 の 2 つの 負荷バランスポリシー があります

    • アクティブなリクエストベースのロードバランシング:読み取り専用ノードの重みを 0 に減らすと、後続のリクエストはそのノードにルーティングされなくなります。

    • 接続数に基づく負荷分散:負荷分散は接続が確立されたときにのみ実行されます。既存の接続が読み取り専用ノードで確立されている場合、その接続上の後続のリクエストは常にその読み取り専用ノードに送信されます。

  • ソリューション

    1. クラスターエンドポイントの 負荷バランスポリシーアクティブなリクエストベースのロードバランシング に切り替えます。

    2. 対象の読み取り専用ノードの読み書き分離の重みを 0 に設定します。

    3. 読み取り専用ノードを削除します。

関連 API

API

説明

PolarDB クラスターのエンドポイント情報のクエリ

クラスターエンドポイントをクエリします。

PolarDB クラスターエンドポイントの属性の変更

クラスターエンドポイントを変更します。

カスタム PolarDB クラスターエンドポイントのリリース

カスタムクラスターエンドポイントをリリースします。