Apigee サーバーの移動

Edge for Private Cloud v4.18.05

Apigee コンポーネントは IP アドレスを使用して相互に通信します。マシン間でコンポーネントを移動すると、構成の不一致が発生することがあります。構成の不一致を修正するには、以下の該当する手順を行います。

Cassandra ノードの IP アドレスの変更

Cassandra ノードの IP アドレスを変更するには、次の手順を行います。

単一の Cassandra ノードを使用する構成の場合

  1. 変更するシステムの /opt/apigee/customer/application/cassandra.properties を編集します。ファイルが存在しない場合は、作成します。
  2. 次のパラメータを変更します。
    • conf_cassandra_seedsconf_cassandra_listen_address パラメータを設定して、システムの新しい IP アドレスを指定します。
    • 新しい IP アドレスまたは 0.0.0.0(Cassandra Thrift がすべてのインターフェースでリッスンできる)を使用するには、conf_cassandra_rpc_address を変更します。
  3. エディタで /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties を開きます。古い IP アドレスとデフォルト設定が次のように表示されます。
    192.168.56.101=dc-1:ra-1
        default=dc-1:ra-1

    その情報を保存します。

  4. /opt/apigee/customer/application/cassandra.properties を編集して、指定した古い IP アドレスを新しい IP アドレスに変更します。
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    IP アドレスの後ろに「\n」を挿入し、上記の手順 3 と同じデフォルト設定を指定します。

  5. Cassandra を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. 必要に応じて ZooKeeper(下記参照)も修復し、Management Server から順にすべての Apigee プラットフォーム コンポーネントを再起動します。

複数の Cassandra ノード(リング)を使用する構成の場合

  1. 変更するノードがシードノードの場合、変更するシステムの新しい IP を追加するには、リング内の各システムの /opt/apigee/customer/application/cassandra.properties ファイルを編集して conf_cassandra_seeds パラメータを変更します。cassandra.properties ファイルが存在しない場合は、作成します。
  2. 変更するシステムの /opt/apigee/customer/application/cassandra.properties を編集し、次のパラメータを変更します。
    • 新しい IP アドレスを使用するには、conf_cassandra_listen_address を設定します。
    • 新しい IP アドレスまたは 0.0.0.0(Cassandra Thrift がすべてのインターフェースでリッスンできる)を使用するには、conf_cassandra_rpc_address を設定します。
  3. エディタで /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties を開きます。すべての Cassandra IP アドレスとデフォルト設定が次のように表示されます。
    192.168.56.101=dc-1:ra-1
        192.168.56.102=dc-1:ra-1
        192.168.56.103=dc-1:ra-1
        default=dc-1:ra-1

    その情報を保存します。

  4. /opt/apigee/customer/application/cassandra.properties を編集して、指定した古い IP アドレスを新しい IP アドレスに変更します。
    conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n

    各 IP アドレスの後に「\n」を挿入し、上記の手順 3 で記録したのと同じデフォルト設定を使用します。

  5. 変更したシステムの Cassandra を再起動します。変更したシステムがシードノードである場合は、変更したシードノードを使用している各システムも再起動します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. 変更したノードで nodetool ring コマンドを実行して、リングが完全であることを確認します。ユーティリティは /opt/apigee/apigee-cassandra/bin にあります。
    nodetool -h localhost ring
  7. 変更したノードで nodetool repair を実行します。このプロセスには時間がかかることがあるので、API のピーク時にはこれを行わないことを強くおすすめします。
    nodetool -h localhost repair
  8. 必要に応じて ZooKeeper(下記参照)を修復し、Management Server から順にすべての Apigee プラットフォーム コンポーネントを再起動します。

データストア登録の更新

  1. 次のコマンドを使用して、古い IP アドレスを指定するデータストア登録の UUID を取得します。「type」と「UUID」パラメータをメモしておきます。
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      ここで DC はデータセンター名です。単一のデータセンター インストールでは通常、値は「dc-1」に設定します。

  2. 次のいずれかのコマンドを使用して新しい IP アドレスを登録します。必要なコマンドは、変更するノードのタイプによって異なります。
    • タイプが「application-datastore」の場合
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
            "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=REGION&pod=central" \
            -H 'content-type: application/x-www-form-urlencoded' -X POST
    • タイプが「kms-datastore」の場合
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
            "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \
            &InternalIP=NEWIP&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
            application/x-www-form-urlencoded' -X POST
    • タイプが「reportcrud-datastore」の場合
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \
            "Type=reportcrud-datastore&InternalIP=NEW_IP&region=REGION&pod=analytics" \
            -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. IP アドレスを変更したシステムの UUID の古い登録を削除します。UUID はそれぞれ、次のコマンドを使用して生成します。
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

ZooKeeper ノードの IP アドレスの変更

ZooKeeper ノードの IP アドレスを変更するには、次の手順を行います。

IP アドレスを変更し、ZooKeeper アンサンブルを再起動します(複数のノードのアンサンブル構成の場合のみ)。

  1. エディタで /opt/apigee/apigee-zookeeper/conf/zoo.cfg を開きます。すべての ZooKeeper IP アドレスとデフォルト設定が次のように表示されます。
    server.1=192.168.56.101:2888:3888
        server.2=192.168.56.102:2888:3888
        server.3=192.168.56.103:2888:3888

    その情報を保存します。

  2. 各 ZooKeeper ノードで、/opt/apigee/customer/application/zookeeper.properties ファイルを編集して、conf_zoo_quorum プロパティを正しい IP アドレスに設定します。このファイルが存在しない場合は、次のコマンドを使用してファイルを作成します。
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    各 IP アドレスの後に「\n」を挿入し、そのエントリがすべてのノードで同じ順序であることを確認してください。

  3. 次のコマンドを使用して、ZooKeeper アンサンブルのリーダーを取得します(node を Zookeeper マシンの IP アドレスで置き換えます)。
    echo srvr | nc node 2181

    出力の Mode 行は「leader」と表示されます。

  4. 1 つの ZooKeeper をリーダーで起動してから再起動し、IP アドレスを変更したノードで終了させます。複数の ZooKeeper のノードが IP アドレスを変更した場合は、すべてのノードを再起動する必要があります。
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. ZooKeeper ノードを上記の echo コマンドで確認します。

Apigee ノードに構成の変更を通知します。

  1. 各 Router ノードで、次のように /opt/apigee/customer/application/router.properties ファイルを編集します。ファイルが存在しない場合は、作成します。
    • 新しい IP アドレスを追加するには、conf_zookeeper_connection.string パラメータを変更します。
    • 新しい IP アドレスを追加するには、conf_zookeeper_zk1.host パラメータを変更します。
  2. すべての Message Processor ノードで、次のように /opt/apigee/customer/application/message-processor.properties ファイルを編集します。ファイルが存在しない場合は、作成します。
    • 新しい IP アドレスを追加するには、conf_zookeeper_connection.string パラメータを変更します。
    • 新しい IP アドレスを追加するには、conf_zookeeper_zk1.host パラメータを変更します。
  3. Management Server ノードで、次のように /opt/apigee/customer/application/management-server.properties ファイルを編集します。ファイルが存在しない場合は、作成します。
    • 新しい IP アドレスを追加するには、conf_zookeeper_connection.string パラメータを変更します。
    • 新しい IP アドレスを追加するには、conf_zookeeper_zk1.host パラメータを変更します。
  4. 各ノードで次のコマンドを実行して、すべての Apigee プラットフォーム コンポーネントを再起動します。
    /opt/apigee/apigee-service/bin/apigee-all restart

LDAP サーバー(OpenLDAP)の IP アドレスの変更

OpenLDAP ノードの IP アドレスを変更するには、次の手順を行います。

  1. Management Server ノードで、/opt/apigee/customer/application/management-server.properties ファイルを編集します。ファイルが存在しない場合は、作成します。
  2. management-server.properties ファイルで conf_security_ldap.server.host パラメータを新しい IP アドレスに設定します。
  3. Management Server を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

他の Apigee ノードタイプの IP アドレスの変更

ノードタイプ Router、Message Processor、Postgres Server(postgresql ではない)、Qpid Server(qpidd ではない)のいずれかの IP アドレスを変更するには、次のようにします。

  1. 次の curl コマンドを使用して、新しい内部 IP アドレスと外部 IP アドレスを登録します。
    curl -u ADMINEMAIL:PW -X PUT \
          http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
        curl -u ADMINEMAIL:PW -X PUT \
          http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip

    ここで uuid はノードの UUID です。

ノードの UUID がわからない場合は、次のコマンドを使用してノードを表示できます。

  • Router:
    curl http://router_IP:8081/v1/servers/self
  • Message Processor:
    curl http://mp_IP:8082/v1/servers/self
  • Qpid:
    curl http://qp_IP:8083/v1/servers/self
  • Postgres:
    curl http://pg_IP:8084/v1/servers/self