単一の PostgreSQL データベースと Redis ノードを共有する複数の RaaS ノードを構成できます。この方法は、クラスタリングと呼ばれることもあります。

以下の手順では、単一ノードのインストール シナリオを使用して、プライマリ RaaS ノードに PostgreSQL サービスと Redis サービスをインストールする方法を示します。

注: 高可用性の要件によっては、コンサルティング サービスが必要な場合があります。

準備手順

複数の RaaS ノードを設定するには、すべての RaaS ノードが次の条件を満たす必要があります。

  • 同じ PostgreSQL データベースにアクセスする
  • 同じキー スペースを共有する
  • 同じ /etc/raas/pki/.raas.key ファイルおよび /etc/raas/raas.secconf ファイルを使用する

複数の RaaS ノードを構成する前に、単一ノードのインストール シナリオを使用して、2 つのスタンドアローン RaaS ノードをインストールする手順を実行します。このシナリオの最後で、両方のノードがスタンドアローン モードで SaltStack Config を実行する必要があります。つまり、各ノードで独自のローカル バージョンの PostgreSQL と Redis が使用されます。

プライマリ RaaS ノードの構成

このセクションでは、2 台目の RaaS ノードと共に動作するように最初の RaaS ノードを構成する方法について説明します。

最初の RaaS ノードを構成するには、次の手順に従います。

  1. 単一ノードのインストール シナリオを使用して、2 台のスタンドアローン RaaS ノードをインストールする手順を実行します。このシナリオの最後で、両方のノードがスタンドアローン モードで SaltStack Config を実行する必要があります。つまり、各ノードで独自のローカル バージョンの PostgreSQL と Redis が使用されます。
  2. 1 台目の RaaS ノードで、次のコマンドを使用して、RaaS、Redis、および PostgreSQL サービスを停止します。
    systemctl stop raas
    systemctl stop redis
    systemctl stop postgresql-12
    注:

    PostgreSQL を停止するコマンドは、別のバージョンを実行している場合は異なることがあります。

  3. 1 台目の RaaS ノードで、他の RaaS ノードからのリモート接続を許可するように postgresqlpg_hba.conf ファイルを更新します。リモート接続を許可するには、そのファイルの末尾に次のエントリを追加し、例の IP アドレスを 2 台目の RaaS ノードの IP アドレスに置き換えます。
    # Allow connection from RaaS 2
    host all all 127.31.4.137/32 trust
  4. すべてのインターフェイスへのバインドを許可するように /etc/redis.conf ファイルを更新します。デフォルトでは、バインドは localhost に設定されています。以下をファイルに追加します。
    #bind 127.0.0.1
  5. 次のコマンドを使用して、サービスを開始し、ステータスを確認します。
    systemctl start postgresql-12
    systemctl status postgresql-12
    systemctl start redis
    systemctl status redis
    systemctl start raas
    systemctl status raas
  6. 1 台目の RaaS ノードの URL を使用して SaltStack Config ユーザー インターフェイスにアクセスし、1 台目のノードで SaltStack Config が正常に機能していることを確認します。

ユーザー インターフェイスにアクセスできることを確認したら、次のセクションに進みます。

セカンダリ RaaS ノードの構成

このセクションでは、プライマリ RaaS ノードと共に動作するように 2 台目の RaaS ノードを構成する方法について説明します。

2 台目の RaaS ノードを構成するには、次の手順に従います。

  1. 2 台目の RaaS ノードで、次のコマンドを使用して、RaaS、Redis、および PostgreSQL サービスを停止します。
    systemctl stop raas
    systemctl stop redis
    systemctl stop postgresql-12
  2. 2 台目の RaaS ノードで、1 台目の RaaS ノードのリモート Redis サービスおよび PostgreSQL サービスに接続するように、/etc/raas/raas ファイルを更新します。両方のノードで、customer_id 構成が同一である必要があります。以下に、構成の例を示します。
    customer_id: 43cab1f4-de60-4ab1-85b5-1d883c5c5d09
    sql:
      dialect: postgresql
      host: 172.31.8.237
      port: 5432
      driver: psycopg2
      ssl: True
    
    redis:
      url: redis://172.31.8.237:6379
  3. 1 台目のノードから 2 台目のノードに /etc/raas/pki/.raas.key および /etc/raas/secconf をコピーします。次の例のように、アクセスと権限を維持します。
    # ls -l /etc/raas/raas.secconf
    -rw-------. 1 raas raas 313 Jan 2117:21 /etc/raas/raas.secconf
    # ls -l /etc/raas/pki/.raas.key
    -rwx------. 1 raas raas 77 Jan 2117:17 /etc/raas/pki/.raas.key
  4. 次のコマンドを使用して、RaaS サービスを開始し、ステータスを確認します。
    systemctl start raas
    systemctl status raas
  5. 2 台目の RaaS ノードの URL を使用して SaltStack Config ユーザー インターフェイスにアクセスし、2 台目のノードで SaltStack Config が正常に動作していることを確認します。

セカンダリ ノードのユーザー インターフェイスにアクセスできることを確認したら、次のセクションに進みます。

構成のテスト

新しいシステム アーキテクチャが正常に機能するかどうかをテストするには、次の手順に従います。

  1. 構成をテストするために、新しいターゲットなどの新しいオブジェクトを作成します。ユーザー インターフェイスを更新したときに、両方のノードに変更が加わることを確認します。
  2. 2 台目の RaaS ノードで、次のコマンドを使用して、Redis サービスおよび PostgreSQL サービスを無効にします。
    systemctl disable redis
    systemctl disable postgresql-12

これで、RaaS ノードの 2 つのインスタンスが実行されていることになります。トラブルシューティングについては、サポートに連絡してください。