Postgres のプライマリ / スタンバイ レプリケーションを設定する

デフォルトでは、すべての Postgres ノードがプライマリ モードでインストールされます。しかし本番環境システムでは 複数の Postgres ノードがある場合は、プライマリ / スタンバイ レプリケーションを使用するように構成し、 プライマリ ノードで障害が発生しても、スタンバイ ノードはトラフィックの処理を継続できます。

プライマリ ノードに障害が発生した場合は、スタンバイ サーバーをプライマリに昇格させることができます。詳しくは、PostgreSQL データベース フェイルオーバーの処理をご覧ください。 ご確認ください。

プライマリ / スタンバイ レプリケーションを インストール時間

以下を含めることで、インストール時にプライマリ / スタンバイ レプリケーションを構成できます 2 つの Postgres ノードの構成ファイルで次のプロパティを指定します。

PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
PG_STANDBY=IP_OR_DNS_OF_NEW_STANDBY

インストーラによって、プライマリ / スタンバイとして機能する 2 つの Postgres ノードが自動的に構成されます レプリケーションによって

プライマリ / スタンバイ レプリケーションを構成する インストール後

インストール後にプライマリ / スタンバイ レプリケーションを構成するには、次のコマンドを使用します。 手順は次のとおりです。

  1. どの Postgres ノードをプライマリ サーバーにし、どの Postgres ノードをスタンバイ サーバーにするかを指定します。
  2. プライマリ ノードで、構成ファイルを編集して次のように設定します。
    PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
    PG_STANDBY=IPorDNSofNewStandby
  3. 新しいプライマリでレプリケーションを有効にします。
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  4. スタンバイ ノードで、構成ファイルを編集して次のように設定します。
    PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
    PG_STANDBY=IPorDNSofNewStandby
  5. スタンバイ ノードを停止します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. スタンバイ ノードで、既存の Postgres データをすべて削除します。
    rm -rf /opt/apigee/data/apigee-postgresql/
  7. スタンバイ ノードを構成します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile

プライマリ / スタンバイ レプリケーションをテストする

レプリケーションが完了したら、次のスクリプトを発行してレプリケーションのステータスを確認します。 両方のサーバーで 構成されます両方のサーバーで同じ結果が表示されるはずです。 正常なレプリケーション:

  1. プライマリ ノードで次のコマンドを実行します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    プライマリと表示されることを確認します。

  2. スタンバイ ノード:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    スタンバイと表示されることを確認します。