あるマシンから別のマシンにコンポーネントを移動する場合、コンポーネント構成ファイル内の IP アドレスを同期させないと、構成の不一致につながる可能性があります。
このセクションでは、構成の不一致を診断して修正する方法について説明します。
IP アドレス対ホスト名
コンポーネント構成ファイルでは、ホスト名ではなく IP アドレスを使用してください。
一部のコンポーネント構成ファイルでは IP アドレスの代わりにホスト名を使用できますが、ホスト名を使用するとトラブルシューティングが複雑になる可能性があります。たとえば、ホスト名が原因で DNS サーバーの接続の問題、検索(ルックアップ)の失敗、同期に関連する問題が発生することがあります。
そのため、すべてのコンポーネント構成に対して IP アドレスを使用することを強くおすすめします。また Cassandra などではホスト名を使用できず、必ず IP アドレスを使用しなければなりません。このドキュメントのほとんどの例では、コンポーネント構成に IP アドレスを使用しています。
Apigee サーバーを移動する際は、ホスト名と IP アドレスに関して次のシナリオの影響を考慮してください。
シナリオ | サーバーの移動に対する影響 |
---|---|
IP アドレスを変更する | 変更前の IP アドレスを参照しているすべての関連ファイルを更新する |
ホスト名を変更し、IP アドレスは変更しない | 影響なし |
ホスト名と IP アドレスの両方を変更する | IP アドレスを変更する場合と同じ |
Cassandra ノードの IP アドレスの変更
Cassandra ノードの IP アドレスを変更するには、次の手順を行います。
単一の Cassandra ノードを使用する構成の場合
- 変更されるシステム上の
/opt/apigee/customer/application/cassandra.properties
を編集します。ファイルが存在しない場合は作成します。 - 次のパラメータを変更します。
conf_cassandra_seeds
およびconf_cassandra_listen_address
パラメータを設定して、システムの新しい IP アドレスを指定します。- 新しい IP アドレスまたは 0.0.0.0 を使用するように
conf_cassandra_rpc_address
を変更します。後者の場合、Cassandra Thrift はすべてのインターフェースでリッスンできます。
/opt/apigee/apigee-cassandra/conf/cassandra-topology.properties
をエディタで開きます。古い IP アドレスとデフォルト設定が次のように表示されます。192.168.56.101=dc-1:ra-1 default=dc-1:ra-1
その情報を保存します。
/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 と同じデフォルト設定を指定します。
- Cassandra を再起動します。
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- 必要に応じて ZooKeeper(下記参照)も修正し、Management Server から順にすべての Apigee プラットフォーム コンポーネントを再起動します。
複数の Cassandra ノード(リング)を使用する構成の場合
- 変更されるノードがシードノードである場合、リングの各システム上の
/opt/apigee/customer/application/cassandra.properties
ファイルを編集して、変更されるシステムの新しい IP が含まれるようにconf_cassandra_seeds
パラメータを変更します。cassandra.properties ファイルが存在しない場合は作成します。 - 変更されるシステム上で
/opt/apigee/customer/application/cassandra.properties
を編集し、次のパラメータを変更します。- 新しい IP アドレスを使用するように
conf_cassandra_listen_address
を設定します。 - 新しい IP アドレスまたは「0.0.0.0」を使用するように
conf_cassandra_rpc_address
を設定します。後者の場合、Cassandra Thrift はすべてのインターフェースでリッスンできます。
- 新しい IP アドレスを使用するように
/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
その情報を保存します。
/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 で記録したのと同じデフォルト設定を使用します。
- 変更されるシステムの Cassandra を再起動します。変更されるシステムがシードノードである場合は、変更対象のシードノードを使用していた各システムも再起動します。
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- 変更対象のノードで
nodetool ring
コマンドを実行して、リングが完全であることを確認します。このユーティリティは/opt/apigee/apigee-cassandra/bin
にあります。nodetool [-u username -pw password] -h localhost ring
ユーザー名とパスワードを渡す必要があるのは、Cassandra で JMX 認証を有効にした場合のみです。
- 変更対象のノードで
nodetool repair
を実行します。このプロセスには時間がかかる可能性があるので、API トラフィックのピーク時には行わないよう強くおすすめします。nodetool [-u username -pw password] -h localhost repair -pr
- 必要に応じて ZooKeeper を修正し(下記を参照)、Management Server から順にすべての Apigee プラットフォーム コンポーネントを再起動します。
データストア登録の更新
- 次のコマンドを使用して、古い IP アドレスを指定するデータストア登録の UUID を見つけます。「type」および「UUID」パラメータをメモしておきます。
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics®ion=DC" | egrep -i '[type|internalip|uuid|region]'
ここで、DC はデータセンター名です。単一のデータセンター インストールでは通常、値は「dc-1」です。
-
- 次のいずれかのコマンドを使用して新しい IP アドレスを登録します。必要なコマンドは、変更するノードのタイプによって異なります。
- タイプが「application-datastore」の場合
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP®ion=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®ion=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®ion=REGION&pod=analytics" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- タイプが「application-datastore」の場合
- IP アドレスの変更対象となったシステムの UUID に関する古い登録を削除します。該当する各 UUID に対して、次のコマンドを発行します。
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
ZooKeeper ノードの IP アドレスの変更
ZooKeeper ノードの IP アドレスを変更するには、次の手順を行います。
IP アドレスを変更し、ZooKeeper アンサンブルを再起動する(複数ノードのアンサンブル構成の場合のみ)
/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
その情報を保存します。
- 各 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」を挿入し、そのエントリの順序がすべてのノードで同じであることを確認してください。
- 次のコマンドを使用して、ZooKeeper アンサンブルのリーダーを特定します(node を Zookeeper マシンの IP アドレスに置き換えます)。
echo srvr | nc node 2181
出力の Mode 行に「leader」と表示されます。
- まずリーダーの ZooKeeper を再起動します。その後、IP アドレスが変更されたノードの ZooKeeper を再起動します。複数の ZooKeeper ノードで IP アドレスが変更された場合は、すべてのノードを再起動する必要が生じることがあります。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- 上記の
echo
コマンドを使用して各 ZooKeeper ノードを確認します。
Apigee ノードに構成の変更を通知する
- 各 Router ノードで、次のように
/opt/apigee/customer/application/router.properties
ファイルを編集します。ファイルが存在しない場合は作成します。- 新しい IP アドレスを含めるように
conf_zookeeper_connection.string
パラメータを変更します。 - 新しい IP アドレスを含めるように
conf_zookeeper_zk1.host
パラメータを変更します。
- 新しい IP アドレスを含めるように
- すべての Message Processor ノードで、次のように
/opt/apigee/customer/application/message-processor.properties
ファイルを編集します。ファイルが存在しない場合は作成します。- 新しい IP アドレスを含めるように
conf_zookeeper_connection.string
パラメータを変更します。 - 新しい IP アドレスを含めるように
conf_zookeeper_zk1.host
パラメータを変更します。
- 新しい IP アドレスを含めるように
- Management Server ノードで、次のように
/opt/apigee/customer/application/management-server.properties
ファイルを編集します。ファイルが存在しない場合は作成します。- 新しい IP アドレスを含めるように
conf_zookeeper_connection.string
パラメータを変更します。 - 新しい IP アドレスを含めるように
conf_zookeeper_zk1.host
パラメータを変更します。
- 新しい IP アドレスを含めるように
- 各ノードで次のコマンドを実行して、すべての Apigee プラットフォーム コンポーネントを再起動します。
/opt/apigee/apigee-service/bin/apigee-all restart
LDAP サーバー(OpenLDAP)の IP アドレスの変更
OpenLDAP ノードの IP アドレスを変更するには、次の手順を行います。
- Management Server ノードで、
/opt/apigee/customer/application/management-server.properties
ファイルを編集します。ファイルが存在しない場合は作成します。 management-server.properties
ファイルで、conf_security_ldap.server.host
パラメータを新しい IP アドレスに設定します。- 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 アドレスを変更するには、次のようにします。
- 次の
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 の取得をご覧ください。