M1¶
プライマリとストリーミングレプリカ、1つのBarmanサーバー、および最初のレプリカからカスケードされた任意の数の追加レプリカを備えたPostgresクラスター。このアーキテクチャは、生産に適しており、そのシンプルさと独自のコンポーネントなしで構成できる機能により、テスト、デモ、学習にも適しています。
このアーキテクチャでサブスクリプション専用のEDBソフトウェアを選択した場合、それはEDB Repos 2.0から供給され、トークンを提供する必要があります。
このトピックの詳細については。
デフォルトのレイアウト¶
デフォルトでは、プライマリには1つの読み取り専用レプリカが同じ場所に接続されています。レプリカには、別の場所に接続された1つのカスケードレプリカがあり、 Barmanサーバーもプライマリからバックアップを取得するように構成されています。
Cluster with cascading replication¶
Postgresノードの数が偶数の場合、 Barmanノードはwitnessとして追加で構成されます。これにより、ノードの数が常に奇数になることが保証され、自動フェールオーバーを有効にする場合に便利です。
アプリケーションとバックアップのフェイルオーバー¶
M1アーキテクチャは、プライマリが使用できなくなった場合にレプリカがプライマリの代わりに昇格することを保証するという点で、フェールオーバー管理を実装します。ただし、 アプリケーショントラフィックをプライマリに再ルーティングする自動機能は提供しません 。アプリケーショントラフィックの自動フェイルオーバーが必要な場合は、アプリケーション自分自身で(マルチホスト接続を使用するなど)、または適切なプロキシまたはロードバランサーと、選択したフェイルオーバーマネージャーが提供する機能を使用して、これを構成する必要があります。
上記は、バックアップノードとTPAによって作成されたプライマリ間の接続にも当てはまります。バックアップは、フェールオーバーが発生した場合に新しいプライマリをターゲットにするように自動的に調整されません。代わりに、元のプライマリに接続されたままになります。手動フェイルオーバーを実行していて、バックアップを新しいプライマリに接続したい場合は、
tpaexec deploy
を再実行するだけです。バックアップソースを自動的に変更する場合は、上記のように選択したフェールオーバーマネージャーを使用してこれを実装する必要があります。
クラスター構成¶
構成オプションの概要¶
このアーキテクチャのtpaexec configure
の呼び出し例を以下に示します。
tpaexec configure ~/clusters/m1 \
--architecture M1 \
--platform aws --region eu-west-1 --instance-type t3.micro \
--distribution Debian \
--postgresql 14 \
--failover-manager repmgr
helpコマンドを使用して、使用可能なすべてのオプションをリストできます。
tpaexec configure --architecture M1 --help
以下の表は、M1の必須オプションと追加の重要なオプションについて説明しています。オプションの詳細については、次のセクションで説明します。
必須オプション¶
Parameter |
Description |
|---|---|
--architecture (-a) |
`M1`に設定する必要があります。 |
Postgres flavour and version (e.g. --postgresql 15) |
有効な tpaexec-configure 。 |
One of: * --failover-manager {efm, repmgr, patroni} * --enable-efm * --enable-repmgr * --enable-patroni |
tpaexec-configure 、 tpaexec-configure 、および tpaexec-configure からフェールオーバーマネージャーを選択します。 |
追加オプション¶
Parameter |
Description |
Behaviour if omitted |
|---|---|---|
--platform |
aws、docker、`bare`のいずれか。 |
Defaults to aws. |
--num-cascaded-replicas |
最初のレプリカからのカスケードレプリカの数。 |
Defaults to 1. |
--enable-haproxy |
2つの追加ノードがロードバランサーレイヤーとして追加されます。<br/>フェイルオーバーマネージャーとしてのPatroniでのみサポートされます。 |
HAproxy nodes will not be added to the cluster. |
--patroni-dcs |
PataniのDistributed Configuration Storeバックエンドを選択します。<br/>現時点では、オプションのみが`etcd`です。 <br/>フェールオーバーマネージャーとしてのPatroniでのみサポートされています。 |
Defaults to etcd. |
M1構成の詳細¶
オプションで--num-cascaded-replicas N
を指定して、N個のカスケードレプリカを要求できます(ない場合は0を含みます。デフォルト:1)。
tpaexec help configure-options で説明されているオプションのいずれかを指定することもできます。