ロードバランサを構成する

ドキュメントのバージョンを選択してください。

RPM オーケストレーターを使用して、AlloyDB Omni のロードバランサを構成できます。

制限事項

次の制限が適用されます。

  • エンドポイントは ReadWrite エンドポイントに限定されます。読み取り専用エンドポイントは今後サポートされる予定です。

始める前に

ロードバランサを構成する前に、次の要件を満たしていることを確認してください。

  • ロードバランサ ノードを定義するには、Deployment の仕様ファイルに、専用ロードバランサ VM のホスト名または IP アドレスを含む load_balancer_nodes グループを含めます。

    alloydbomni:
      vars:
        ...
      children:
        load_balancer_nodes:
          hosts:
            lb-node-1:
            lb-node-2:
    
  • ファイアウォールを構成するには、次の受信トラフィックを許可します。

    • 専用ロードバランサ VM の場合:

      • ポート 5432(TCP): HAProxy データベース トラフィック用。

      • ポート 6432(TCP): PgBouncer 接続プーリング トラフィック用(該当する場合)。

      • VRRP プロトコル: keepalived リーダー選出とヘルスチェック用。

    • データベース ノードの場合:

      • ポート 8086(HTTP): ロードバランサのヘルスチェック用。
  • 環境を使用している場合は、 Google Cloud を ENVIRONMENT_TYPE に設定します。gcp次に、root ユーザーとして gcloud auth login を実行して、gcloud CLI アカウントを認証する必要があります。また、認証されたアカウントには次の権限が必要です。

    • compute.instances.get
    • compute.instances.list
    • compute.instances.updateNetworkInterface

ロードバランサを構成する

RPM オーケストレーターは、HAProxy を使用してトラフィックを分散し、Keepalived を使用して仮想 IP(VIP)で高可用性を提供します。

リソース仕様を更新する

DBCluster 仕様ファイルに dbLoadBalancerOptions を追加します。これにより、クラスタ マネージャーとオーケストレーターがロードバランサ エンドポイントの管理方法を認識します。

DBCluster:
  metadata:
    name: DBCLUSTER_NAME
  spec:
    primarySpec:
      # ... other primary settings ...
      dbLoadBalancerOptions:
        ENVIRONMENT_TYPE::
          loadBalancerIP: "VIRTUAL_IP"
          loadBalancerType: "internal"
          loadBalancerInterface: "VIRTUAL_IP_INTERFACE"

次のように置き換えます。

  • ENVIRONMENT_TYPE: クラスタが設定される環境(onprem または gcp)を決定します。

  • DBCLUSTER_NAME: AlloyDB Omni データベース クラスタの名前(my-db-cluster など)。

  • VIRTUAL_IP: フローティング仮想 IP に使用される静的 IP アドレス。データベース クライアント アプリケーションは、ここで定義された IP アドレスを使用します。Keepalived が Gratuitous Address Resolution Protocol(GARP)を正常にブロードキャストできるようにするには、この IP アドレスが次の条件を満たしている必要があります。使用可能であること、ループバックできないこと、オンプレミスの場合はプライマリ ノード インターフェースと同じサブネットに属していること。

  • VIRTUAL_IP_INTERFACE: が構成されているネットワーク インターフェース。 VIRTUAL_IPデフォルト値は eth0 です。

構成を適用する

任意のオーケストレーター インターフェースを使用して構成変更を適用します。

Ansible

インベントリ ファイルとリソース仕様ファイルを使用して、ブートストラップ プレイブックを実行します。

ansible-playbook DBCLUSTER_PLAYBOOK -i "DEPLOYMENT_SPECIFICATION" \
      -e resource_spec="DBCLUSTER_SPECIFICATION"

次の変数を置き換えます。

  • DBCLUSTER_PLAYBOOK: クラスタを作成するでデータベース クラスタ用に作成したプレイブックのパス。

  • DEPLOYMENT_SPECIFICATION: AlloyDB Omni コンポーネントをインストールする で作成したデプロイ仕様のパス。

  • DBCLUSTER_SPECIFICATION: クラスタ仕様のパス。

alloydbctl

リソース仕様と Deployment の仕様を適用します。

alloydbctl apply -d "DEPLOYMENT_SPECIFICATION" -r "DBCLUSTER_SPECIFICATION"

次の変数を置き換えます。

ロードバランサを確認する

RPM オーケストレーターが設定を完了したら、VIP を使用してデータベース クラスタに接続できることを確認します。

psql -h VIRTUAL_IP -U postgres

VIRTUAL_IP を、loadBalancerIP フィールドで構成した IP アドレスに置き換えます。

ロードバランサは、接続を現在のプライマリ ノードに自動的にルーティングします。

特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。

最終更新日 2026-10-27 UTC。