あるマシンから別のマシンにコンポーネントを移動すると、次の場合に構成の不一致が生じることがあります。 コンポーネント構成ファイル内の IP アドレスは常に同期されません。
このセクションでは、構成の不一致を診断して修正する方法について説明します。
IP アドレスとホスト名
コンポーネント構成ファイルでは、ホスト名ではなく IP アドレスを使用する必要があります。
一部のコンポーネント構成ファイルでは、構成ファイルの代わりに ホスト名を使用すると、トラブルシューティングが複雑になる場合があります。たとえば、ホスト名、 DNS サーバーの接続性、ルックアップ エラー、 同期できます。
そのため、すべてのコンポーネントに IP アドレスを使用することを強くおすすめします。 できます。Cassandra など一部のケースでは、IP アドレスの使用が必須で、 できます。ドキュメントに記載されているほとんどの例で、コンポーネントの構成に IP アドレスが使用されています。
ホスト名と IP アドレスについては、次のシナリオの影響を考慮してください。 Apigee サーバーを移動する場合:
シナリオ | 移動するサーバーへの影響 |
---|---|
IP アドレスの変更 | 元の IP アドレスを参照するすべての関連ファイルを更新する |
IP アドレスを変更せずにホスト名を変更する | 影響なし |
IP アドレスの変更に伴うホスト名の変更 | IP アドレスの変更と同じ |
Cassandra ノードの IP アドレスの変更
Cassandra ノードの IP アドレスを変更するには、次の操作を行います。
対象 単一の Cassandra ノードを持つ構成
/opt/apigee/customer/application/cassandra.properties
を編集 記録します。ファイルが存在しない場合は作成します。- 次のパラメータを変更します。
<ph type="x-smartling-placeholder">
- </ph>
conf_cassandra_seeds
とconf_cassandra_listen_address
を設定する パラメータを使用して、システムの新しい IP アドレスを指定します。- 次のように
conf_cassandra_rpc_address
を変更する 新しい IP アドレスまたは 0.0.0.0(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
必ず「\n」を挿入してくださいの後に IP アドレスを追加し、先ほどと同じデフォルト設定を指定します。 確認します
- Cassandra を再起動します。
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- 必要に応じて、ZooKeeper の修復も行います(ZooKeeper ノードの IP アドレスの変更をご覧ください)。それ以外の場合は、Management Server から順に、すべての Apigee プラットフォーム コンポーネントを再起動します。
対象 複数の Cassandra ノード(リング)を持つ構成
- 変更するノードがシードノードの場合は、
/opt/apigee/customer/application/cassandra.properties
を編集します。 リングの各システムでファイルを作成し、conf_cassandra_seeds
パラメータを 変更したシステムの新しい IP アドレスが 送信されますcassandra.properties ファイルが存在しない場合は、 できます。 /opt/apigee/customer/application/cassandra.properties
を編集 次のパラメータを変更します: <ph type="x-smartling-placeholder">- </ph>
- 新しい 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
必ず「\n」を挿入してくださいデフォルトの設定を使用します。 ステップ 3 で記録した URL を入力します。
- 変更したシステムで Cassandra を再起動します。
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- 他のすべてのノードに対して、ステップ 3 と 4 で行った変更を繰り返して、Cassandra リング内のこのノードの位置を通知します。さらに、ステップ 1 の説明に従ってシードノードの IP を変更します。
- 残りの Cassandra ノードを 1 つずつ再起動します。
/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
- 変更したノードで
nodetool repair
を実行します。この処理には時間がかかることがあるため、API トラフィックのピーク時には行わないことを強くおすすめします。nodetool [-u username -pw password] -h localhost repair -pr
- 必要に応じて ZooKeeper を修復し(ZooKeeper ノードの IP アドレスの変更を参照)、Management Server から始まるすべての Apigee プラットフォーム コンポーネントを再起動します。
データストアの更新 登録
- 次を使用して、古い IP アドレスを指定するデータストア登録の UUID を検索します。
下で説明します。[Type]に注目してください「UUID」parameters:
<ph type="x-smartling-placeholder">
- </ph>
-
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 アドレスを登録します。必要なコマンドは、
変更されたノードのタイプに依存します。
- type="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
- 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®ion=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®ion=REGION&pod=analytics" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- type="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
必ず「\n」を挿入してください各 IP アドレスの後に 1 つのエントリが 必要があります。
- 次のコマンドを使用して、ZooKeeper アンサンブルのリーダーを見つけます(
node は Zookeeper マシンの IP アドレスに置き換えます)。
echo srvr | nc node 2181
出力の Mode 行に「leader」と表示されます。
- 1 つの ZooKeeper を次々に再起動します。リーダーから順に再起動します。
IP アドレスが変更されたことを示します。複数の Zookeeper ノードが IP アドレスを変更した場合は、
すべてのノードを再起動する必要があります。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- 上記の
echo
コマンドを使用して、各 ZooKeeper ノードを確認します。
構成の変更を Apigee ノードに通知する
- 各 Router ノードで、
/opt/apigee/customer/application/router.properties
ファイルを編集します。 使用します。ファイルが存在しない場合は作成します。conf_zookeeper_connection.string
パラメータを変更して新しい IP を含める 住所conf_zookeeper_zk1.host
パラメータを変更して新しい IP を含める 住所
- すべての Message Processor ノードで、
/opt/apigee/customer/application/message-processor.properties
ファイルを編集します。 使用します。ファイルが存在しない場合は作成します。conf_zookeeper_connection.string
パラメータを変更して、 IP アドレスconf_zookeeper_zk1.host
パラメータを変更して新しい IP を含める 住所
- Management Server ノードで、
/opt/apigee/customer/application/management-server.properties
ファイルを編集します。 使用します。ファイルが存在しない場合は作成します。conf_zookeeper_connection.string
パラメータを変更して、 IP アドレスconf_zookeeper_zk1.host
パラメータを変更して新しい IP を含める 住所
- 各ノードで次のコマンドを実行して、すべての Apigee プラットフォーム コンポーネントを再起動します。
/opt/apigee/apigee-service/bin/apigee-all restart
LDAP サーバーの IP アドレスの変更 (OpenLDAP)
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)の IP アドレスを変更する サーバー(postgresql 以外)と Qpid Server(qpidd ではない):
- 次の
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 の取得をご覧ください。