pgd-proxy#

pgd-proxyパッケージバージョン#

デフォルトでは、TPAはpgd-proxy の利用可能な最新バージョンをインストールします。

config.yml ファイルのcluster_vars セクションの下にpgd_proxy_package_version: xxx を含めることにより、インストールされるpgd-proxy パッケージのバージョンを指定できます。

cluster_vars:
    …
    pgd_proxy_package_version: 5.0.0-1
    …

aptまたはyumが受け入れるバージョン指定子を使用できます。

バージョンが一致しない場合は、 * ワイルドカードを追加してみてください。これは、パッケージバージョンに2:... のようなエポック修飾子がある場合に必要になることがよくあります。

pgd-プロキシの構成#

TPAは、 role にpgd-proxy を含むインスタンスに、PGD 5を使用したPGD-Always-ONアーキテクチャのpgd-proxyをインストールおよび構成します。

デフォルトでは、 PGD-Always-ON

は、すべての場所のすべてのデータノードでpgd-proxy を実行しますが、代わりに--add-proxy-nodes-per-location 3 を使用して任意の数の追加プロキシインスタンスを作成できます。

構成#

pgd-proxy は、 SQLファンクションを介してPGDレベルで構成されます。

Hash

Function

Description

pgd_proxy_options

bdr.alter_proxy_option()

pgd-proxy構成、例ポート

bdr_node_groups

bdr.alter_node_group_option()

プロキシのノードグループの構成、例`enable_proxy_routing`

bdr_node_options

bdr.alter_node_option()

個々のPGDノードのルーティング構成

詳細については、 PGDドキュメントを参照してください。

pgd-proxy-config hook を使用できます

PGD PROXY構成ファイルがインストールされた後にタスクを実行するには追加の構成ファイルをインストールします。

bdr_node_groups#

pgd-proxyに関連するグループレベルのオプションは、他のノードグループオプションとともにbdr_node_groups の下で設定できます。

cluster_vars:
  bdr_node_groups:
  - name: group1
    options:
      enable_proxy_routing: true

グループでpgd-プロキシを有効にするには、enable_proxy_routing を明示的にtrue に設定する必要があることに注意してください。

bdr_node_options#

pgd-proxyに関連するノードレベルのオプションは、PGDインスタンスのbdr_node_options の下で設定できます。

instances:

- Name: first
  vars:
    bdr_node_options:
      route_priority: 42

pgd_proxy_options#

pgd-proxyインスタンスが接続されているグループまたはノードではなく、pgd-proxyインスタンス自分自身のオプションは、default_pgd_proxy_options の下、cluster_vars すべてのプロキシに適用されます、またはpgd-proxyインスタンスのpgd_proxy_options の下で設定できます。

cluster_vars:
  default_pgd_proxy_options:
    listen_port: 6432
    read_listen_port: 6433

instances:

- Name: someproxy
  vars:
    pgd_proxy_options:
      listen_port: 9000
      read_listen_port: 9001

この場合、他のインスタンスはcluster_vars からlisten_port 設定を取得しますが、 someproxy はそのデフォルト設定をオーバーライドし、インスタンスのvars セクションで独自のlisten_port を構成します。

PGDプロキシhttp(s)ヘルスプローブ#

プロキシの状態をモニタするためのAPIエンドポイントを提供するPGDプロキシのhttp(s)サービスを有効にして構成できます。

cluster_vars またはインスタンスvars の下のpgd_http_options は、 pgd-proxy-config.yml のproxy トップセクションのhttp サブセクションの下にあるhttp APIを定義するすべての設定を保存します。

変数には、次のキーを含めることができます。

enable: false
secure: false
cert_file: "/etc/tpa/harp_proxy/harp_proxy.crt"
key_file: "/etc/tpa/harp_proxy/harp_proxy.key"
host: <inventory_hostname>
port: 8080
probes:
  timeout: 10s
endpoint: "<valid dsn>"

cert_file およびkey_file キーは、 secure: true を使用し、独自の証明書とキーを使用する場合に必要です。

deploy を実行する前に、証明書とキーの両方がターゲットノードの指定された場所で利用できることを確認する必要があります。

クラスター固有のCA証明書を使用してTPAに証明書とキーを生成する場合、 cert_file およびkey_file の両方を空のままにします。 TPA CA証明書は「ウェルノウン」になりません。この証明書を、エンドポイントをプローブする各マシンの信頼ストアに追加する必要があります。 CA証明書は、TPAノードのクラスターディレクトリで deploy の後の<cluster_dir>/ssl/CA.crt にあります。

使用可能なAPIエンドポイントの詳細については、pgd-proxyドキュメントを参照してください。

tpaexec upgrade を使用したpgd-proxyの更新#

特定のパッケージバージョンにアップグレードしようとする場合は、 config.yml のpgd_proxy_package_version が更新されて、目的のバージョンを反映していることを確認します。このバージョンは、クラスターに指定されたbdr_package_version およびpgdcli_package_version バージョンと一致する必要があります。 bdr_package_version を定義し、config.yml からpgd_proxy_package_version およびpgdcli_package_version を省略すると、3つのコンポーネントすべてで同じ値が使用されます。

目的のバージョンを追加の引数としてtpaexec upgrade コマンドに渡すこともできます。

tpaexec upgrade <cluster_dir> \
  -e pgd_proxy_package_version="<desired version>" \
  --components=pgd-proxy

詳細については、 package version selection and upgrade のセクションを参照してください。

アップグレードのためにpgd-プロキシを選択するには、 tpaexec upgrade コマンドに渡される--components フラグにpgd-proxy またはall が含まれていることを確認します

component selection for upgrade のセクションを参照してください

詳細については、