Apigee サーバーの移動

Edge for Private Cloud v. 4.17.01

Apigee コンポーネントは、IP アドレスを使用して相互に通信します。コンポーネントをあるマシンから別のマシンに移動すると、構成の不一致が発生する可能性があります。構成の不一致を修正するには、以下の該当する手順に沿って操作します。

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

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

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

  1. 変更するシステムで /opt/apigee/customer/application/cassandra.properties を編集します。ファイルが存在しない場合は作成します。
  2. 次のパラメータを変更します。
    • conf_cassandra_seeds パラメータと conf_cassandra_listen_address パラメータを設定して、システムの新しい IP アドレスを指定します。
    • conf_cassandra_rpc_address を変更して、新しい IP アドレスまたは 0.0.0.0(Cassandra Thrift がすべてのインターフェースでリッスンできるようにする)を使用します。
  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. 変更するノードがシードノードの場合は、リング内の各システムの /opt/apigee/customer/application/cassandra.properties ファイルを編集し、変更したシステムの新しい IP が含まれるように 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 アドレスを登録します。必要なコマンドは、変更されたノードのタイプによって異なります。

    注: 以下の REGION パラメータは、クラスタが存在するデータセンターを指します。たとえば、高可用性を実現するには、通常、dc-1(データセンター 1)にクラスタを、dc-2(データセンター 2)にクラスタを配置します。このパラメータはインストール時に定義されます。デフォルト値は dc-1 です。
    • type="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
    • type="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
    • type="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. リーダーから始めて、IP アドレスが変更されたノードで終わるように、ZooKeeper を 1 つずつ再起動します。複数の Zookeeper ノードの IP アドレスが変更された場合は、すべてのノードの再起動が必要になることがあります。
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. 上記の echo コマンドを使用して、各 ZooKeeper ノードを確認します。

変更された構成を Apigee ノードに通知する

  1. 各 Router ノードで、次のように /opt/apigee/customer/application/router.properties ファイルを編集します。ファイルが存在しない場合は作成します。
    • conf_zookeeper_connection.string パラメータを変更して、新しい IP アドレスを追加します。
    • conf_zookeeper_zk1.host パラメータを変更して、新しい IP アドレスを含めます。
  2. すべての Message Processor ノードで、次のように /opt/apigee/customer/application/message-processor.properties ファイルを編集します。ファイルが存在しない場合は作成します。
    • conf_zookeeper_connection.string パラメータを変更して、新しい IP アドレスを含めます。
    • 新しい IP アドレスが含まれるように conf_zookeeper_zk1.host パラメータを変更します。
  3. Management Server ノードで、/opt/apigee/customer/application/management-server.properties ファイルを次のように編集します。ファイルが存在しない場合は作成します。
    • conf_zookeeper_connection.string パラメータを変更して、新しい IP アドレスを含めます。
    • 新しい 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