Apigee サーバーの移動

コンポーネントをあるマシンから別のマシンに移動すると、コンポーネント構成ファイル内の IP アドレスが同期されていない場合に、構成の不一致が発生する可能性があります。

このセクションでは、構成の不一致を診断して修正する方法について説明します。

IP アドレスとホスト名

コンポーネント構成ファイルでは、ホスト名ではなく IP アドレスを使用する必要があります。

一部のコンポーネント構成ファイルでは、IP アドレスではなくホスト名を使用できますが、ホスト名を使用するとトラブルシューティングが複雑になる可能性があります。たとえば、ホスト名は、DNS サーバーの接続、ルックアップの失敗、同期に関連する問題の原因となる可能性があります。

このため、Apigee では、すべてのコンポーネント構成に IP アドレスを使用することを強くおすすめします。Cassandra などの一部のケースでは、IP アドレスを使用する必要があり、ホスト名は使用できません。このドキュメントのほとんどの例では、コンポーネントの構成に IP アドレスを使用しています。

ホスト名と IP アドレスについては、Apigee サーバーを移動する際に、次のシナリオの影響を考慮してください。

シナリオ サーバーの移動への影響
IP アドレスの変更 元の IP アドレスを参照する関連ファイルをすべて更新する
IP アドレスを変更せずにホスト名を変更する 影響なし
IP アドレスの変更に伴うホスト名の変更 IP アドレスの変更と同じ

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

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

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

  1. 変更するシステムで /opt/apigee/customer/application/cassandra.properties を編集します。ファイルが存在しない場合は作成します。
  2. 次のパラメータを変更します。
    • conf_cassandra_seeds パラメータと conf_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. 変更するノードがシードノードの場合は、リング内の各システムの /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 [-u username -pw password] -h localhost ring

    Cassandra の JMX 認証を有効にしている場合にのみ、ユーザー名とパスワードを渡す必要があります。

  7. 変更したノードで nodetool repair を実行します。このプロセスには時間がかかることがあるため、API トラフィックのピーク時間帯には行わないことを強くおすすめします。
    nodetool [-u username -pw password] -h localhost repair -pr
  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 アドレスを登録します。必要なコマンドは、変更されたノードのタイプによって異なります。
    • 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 ファイルを編集します。ファイルが存在しない場合は作成します。
    • 新しい 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 を取得する方法については、UUID を取得するをご覧ください。