M1#
プライマリとストリーミングレプリカを備えたPostgresクラスター、1つのBarmanサーバー、および最初のレプリカからカスケードされた任意の数の追加レプリカ。このアーキテクチャは、運用に適していますが、そのシンプルさと独自のコンポーネントなしで構成できる機能により、テスト、デモンストレーション、学習にも適しています。
このアーキテクチャでサブスクリプションのみのEDBソフトウェアを選択した場合、EDB Repos 2.0からソースされ、トークンを提供する必要があります。
このトピックの詳細については、
デフォルトレイアウト#
デフォルトでは、プライマリには1つの読み取り専用レプリカが同じ場所に接続されています。一方、レプリカには、別の場所に接続された1つのカスケードレプリカがあり、そこでBarmanサーバーはプライマリからバックアップを取得するように構成されています。
Cluster with cascading replication#
偶数のPostgresノードがある場合、 Barmanノードは監視として追加構成されます。これにより、ノードの数が常に奇数になるため、自動フェイルオーバーを有効にする場合に便利です。
アプリケーションとバックアップのフェイルオーバー#
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) |
有効な Ansible Tower 。 |
One of: * --failover-manager {efm, repmgr, patroni} * --enable-efm * --enable-repmgr * --enable-patroni |
Ansible Tower 、 Ansible Tower 、および Ansible Tower からフェイルオーバーマネージャーを選択します。 |
追加オプション#
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 |
patroniの分散構成ストアバックエンドを選択します。<br/>現時点では、唯一のオプションは`etcd`です。 <br/>フェールオーバーマネージャーとしてPatroniでのみサポートされています。 |
Defaults to etcd. |
M1構成の詳細#
オプションで--num-cascaded-replicas N
を指定して、NのカスケードレプリカNoneの0を含む、デフォルト1を要求できます。
tpaexec help configure-options で説明されるオプションを指定することもできます。