Edge for Private Cloud v. 4.16.05
このドキュメントでは、既存の 4.16.05 インストールを更新して、Apigee の最新の RPM とサポート ファイルを使用する手順について説明します。この手順では、update.sh ユーティリティを使用して更新を行います。
最新の 4.16.05 リリースに更新できる Edge のバージョン
既存の Apigee Edge バージョン 4.16.05.x のインストールを最新の 4.16.05 リリースに更新することのみが可能です。
現在 Edge バージョン 4.16.01.0x 以前を実行している場合は、まず 4.16.05 に移行する必要があります。バージョン 4.16.05 への移行方法については、Apigee Edge 4.16.01 を 4.16.05 に更新するをご覧ください。
更新を行えるユーザー
更新を実行するユーザーは、最初に Edge をインストールしたユーザー、または root として実行するユーザーと同じである必要があります。
Edge RPM をインストールした後は、すべてのユーザーがそれを構成できます。
アップデートに必要なディスク容量
更新を行う前に、ディスク容量に 1 GB 以上の空きがあることを確認してください。
4.16.05.x からのプロパティ設定の自動伝播
/opt/apigee/customer/application の .properties ファイルを編集してプロパティを設定している場合、これらの値は更新によって保持されます。
更新の前提条件
Apigee Edge をアップグレードする前に、次の前提条件を満たしていることを確認してください。
- すべてのノードをバックアップする
更新する前に、安全上の理由から、すべてのノードの完全バックアップを実行することをおすすめします。現在の Edge バージョンのバックアップ手順に沿ってください。
これにより、新しいバージョンへの更新が正常に機能しない場合に備えて、バックアップ プランを用意できます。バックアップの詳細については、バックアップと復元をご覧ください。 - Edge が実行されていることを確認する
更新プロセス中に Edge が稼働していることを確認するには、次のコマンドを使用します。
> /<inst_root>/apigee/apigee-service/bin/apigee-all status
更新が失敗した場合の処理
更新に失敗した場合は、問題を修正してから、update.sh を再度実行してみてください。更新は複数回実行できます。更新は、最後に中断したところから再開されます。
障害が発生したためにアップデートを以前のバージョンにロールバックする必要がある場合は、4.16.05 のロールバック プロセスをご覧ください。
更新情報のロギング
デフォルトでは、update.sh ユーティリティはログ情報を次の場所に書き込みます。
/opt/apigee/var/log/apigee-setup/update.log
update.sh ユーティリティを実行しているユーザーがそのディレクトリにアクセスできない場合は、/tmp ディレクトリに update_username.log という名前のファイルとしてログが書き込まれます。
ユーザーが /tmp にアクセスできない場合、update.sh ユーティリティは失敗します。
ゼロダウンタイムでの更新
ゼロダウンタイム アップデート(ローリング アップデート)を使用すると、Edge を停止することなく Edge のインストールを更新できます。
ダウンタイムなしの更新は、5 ノード以上の構成でのみ可能です。
ゼロ ダウンタイム アップグレードの鍵は、各 Router をロードバランサから 1 つずつ削除することです。削除した Router と、その同じマシンにあるすべてのコンポーネントを更新してから、Router をロードバランサに再び追加します。
- 「マシンの更新順序」で説明されているように、インストールに適した順序でマシンを更新します。
- Router を更新する時期になったら、いずれか 1 つの Router を選択し、次のセクション「Router と Message Processor を到達不能にする」の説明に従って、到達不能にします。
- 選択した Router と、その Router と同じマシンにある他のすべての Edge コンポーネントを更新します。すべての Edge 構成で、Router と Message Processor が同じノードに表示されます。
- ルーターを再び到達可能にします。
- 残りのルーターについて、手順 2 ~ 4 を繰り返します。
- インストール環境内の残りのマシンで更新を続行します。
Router と Message Processor を到達不能にする
本番環境では、最適なパフォーマンスを実現するために複数の Router と Message Processor を使用します。更新の前後で、これらの Router と Message Processor のネットワーク到達性を有効または無効にする必要があります。
次の API 呼び出しは、ノードを到達可能または到達不能として構成します。
> curl -u adminEmail:pWord -X POST "http://<ms_IP>:8080/v1/servers/UUID" -d "reachable=true|false"
ここで、UUID は Message Processor または Router の UUID で、reachable は true または false に設定されます。
Router の UUID を確認する必要がある場合は、次の cURL コマンドを使用します。
> curl http://<routerIP>:8081/v1/servers/self
Message Processor の UUID を確認する必要がある場合は、次の cURL コマンドを使用します。
> curl http://<mpIP>:8082/v1/servers/self
更新の前後に次の点に注意してください。
- Router と Message Processor の組み合わせノードの場合:
- 更新前 - 次の操作を行います。
- 上記の API 呼び出しを使用して、ルーターにアクセスできないようにします。
- Message Processor に到達できないようにします。
- 更新後 - 次の操作を行います。
- Message Processor を到達可能にします。
- ルーターにアクセスできるようにします。
- 更新前 - 次の操作を行います。
- 単一のルーターノードの場合:
- 更新する前に、ルーターにアクセスできるようにします。
- 更新後、Router にアクセスできるようにします。
- 単一の Message Processor ノードの場合:
- 更新する前に、Message Processor にアクセスできないようにします。
- 更新後、Message Processor にアクセスできるようにします。
サイレント構成ファイルの使用
update コマンドにサイレント構成ファイルを渡す必要があります。サイレント構成ファイルは、Edge 4.16.05 のインストールに使用したものと同じである必要があります。
外部インターネット接続があるノードで 4.16.05 を更新する手順
ノード上の Edge コンポーネントを更新する手順は次のとおりです。
- Cassandra で修復オペレーションを実行するように構成された CRON ジョブがある場合は、更新が完了するまで無効にします。
- root としてノードにログインし、Edge RPM をインストールします。
注: RPM のインストールには root アクセスが必要ですが、Edge の構成は root アクセスなしで実行できます。 - Edge apigee-setup ユーティリティのインストールの説明に従って、SELinux を無効にします。
- すべての Yum キャッシュを消去します。
> sudo yum clean all - 最新の Edge bootstrap_4.16.05.sh ファイルを /tmp/bootstrap_4.16.05.sh にダウンロードします。
> curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh - Edge apigee-service ユーティリティと依存関係を更新します。
> sudo bash /tmp/bootstrap_4.16.05.sh apigeeuser=uName apigeepassword=pWord
ここで、uName:pWord は Apigee から受け取ったユーザー名とパスワードです。pWord を省略すると、入力を求められます。 - apigee-service を使用して apigee-setup ユーティリティを更新します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
apigee-service のこの更新により、update.sh ユーティリティが /<inst_dir>/apigee/apigee-setup/bin にインストールされます。 - 以下の「マシンの更新順序」で説明されている順序で、ノードで更新ユーティリティを実行します。
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
構成ファイルに関する唯一の要件は、構成ファイルが「apigee」ユーザーによってアクセス可能または読み取り可能であることです。たとえば、ノードの /tmp ディレクトリにファイルを配置します。
更新するコンポーネントを指定するには、-c オプションを使用します。可能なコンポーネントのリストには、次のものが含まれます。- ldap = OpenLDAP
- cs = Cassandra
- zk = Zookeeper
- qpid = qpidd
- ps = postgresql
- edge =Edge UI を除くすべての Edge コンポーネント: Management Server、Message Processor、Router、QPID Server、Postgres Server
- ui = Edge UI
- all = マシン上のすべてのコンポーネントを更新します(Edge aio インストール プロファイルまたは API BaaS asa インストール プロファイルでのみ使用します)。
- e = ElasticSearch
- b = API BaaS スタック
- p = API BaaS ポータル
- ebp = ElasticSearch、API BaaS Stack、API BaaS Portal を同じノードにインストール
- apigee-validate ユーティリティを実行して、アップデートをテストします。インストールをテストするをご覧ください。
ローカル リポジトリから 4.16.05 を更新する手順
Edge ノードがファイアウォールの背後にあるか、インターネット経由での Apigee リポジトリ アクセスが禁止されている場合は、Apigee リポジトリのローカル リポジトリ(つまりミラー)から更新を行うことができます。
ローカル Edge リポジトリを作成したら、ローカル リポジトリから Edge を更新する方法が 2 つあります。
- リポジトリの .tar ファイルを作成し、その .tar ファイルをノードにコピーして、.tar ファイルから Edge を更新します。
- ローカル リポジトリを持つノードにウェブサーバーをインストールし、他のノードからアクセスできるようにします。Apigee から提供されているウェブサーバーは Nginx ですが、他のウェブサーバーを使用してもかまいません。
ローカルの 4.16.05 リポジトリから更新するには:
- ノードに Edge コンポーネントをインストールするの説明に沿って、ローカルに 4.16.05 リポジトリがあることを確認します。
- ローカル リポジトリを更新します。
- 最新の Edge bootstrap_4.16.05.sh ファイルを /tmp/bootstrap_4.16.05.sh にダウンロードします。
> curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh - 同期を実行します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms
- 最新の Edge bootstrap_4.16.05.sh ファイルを /tmp/bootstrap_4.16.05.sh にダウンロードします。
-
.tar ファイルから apigee-service をインストールするには:
- ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを /opt/apigee/data/apigee-mirror/apigee-4.16.05.tar.gz という名前の単一の.tar ファイルにパッケージ化します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package - Edge を更新する対象のノードに .tar ファイルをコピーします。たとえば、新しいノードの /tmp ディレクトリにコピーします。
- 新しいノードで、ファイルを /tmp ディレクトリに解凍します。
> tar -xzf apigee-4.16.05.tar.gz
このコマンドは、.tar ファイルを含むディレクトリに repos という名前の新しいディレクトリを作成します。(例: /tmp/repos)。 - root としてノードにログインし、Edge RPM をインストールします。
注: RPM のインストールには root アクセスが必要ですが、Edge の構成は root アクセスなしで実行できます。 - Edge apigee-setup ユーティリティのインストールの説明に従って、SELinux を無効にします。
- /tmp/repos から Edge apigee-service ユーティリティと依存関係をインストールします。
> sudo bash /tmp/repos/bootstrap_4.16.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
コマンドに repos ディレクトリへのパスが含まれている点に注意してください。
- ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを /opt/apigee/data/apigee-mirror/apigee-4.16.05.tar.gz という名前の単一の.tar ファイルにパッケージ化します。
-
Nginx ウェブサーバーを使用して apigee-service をインストールするには:
- ノードに Edge コンポーネントをインストールするの「Nginx ウェブサーバーを使用してリポジトリからインストールする」の手順に沿って、Nginx ウェブサーバーを構成します。
- リモートノードで、Edge bootstrap_4.16.05.sh ファイルを /tmp/bootstrap_4.16.05.sh にダウンロードします。
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.16.05.sh -o /tmp/bootstrap_4.16.05.sh
ここで、uName:pWord は、上記でリポジトリに設定したユーザー名とパスワードです。remoteRepo は、リポジトリノードの IP アドレスまたは DNS 名です。 - root としてノードにログインし、Edge RPM をインストールします。
注: RPM のインストールには root アクセスが必要ですが、Edge の構成は root アクセスなしで実行できます。 - Edge apigee-setup ユーティリティのインストールの説明に従って、SELinux を無効にします。
- リモートノードで、Edge apigee-service ユーティリティと依存関係をインストールします。
> sudo bash /tmp/bootstrap_4.16.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uNamea pigeepassword=pWord apigeeprotocol=http://
ここで、uName:pWord はリポジトリのユーザー名とパスワードです。
- Cassandra で修復オペレーションを実行するように構成された CRON ジョブがある場合は、更新が完了するまで無効にします。
- apigee-service を使用して apigee-setup ユーティリティを更新します。
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
apigee-service のこの更新により、update.sh ユーティリティが <inst_dir>/apigee/apigee-setup/bin にインストールされます。 - 以下の「マシンの更新順序」で説明されている順序で、ノードで更新ユーティリティを実行します。
> /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
構成ファイルに関する唯一の要件は、構成ファイルが「apigee」ユーザーによってアクセス可能または読み取り可能であることです。たとえば、ノードの /tmp ディレクトリにファイルを配置します。
更新するコンポーネントを指定するには、-c オプションを使用します。可能なコンポーネントのリストには、次のものが含まれます。- ldap = OpenLDAP
- cs = Cassandra
- zk = Zookeeper
- qpid = qpidd
- ps = postgresql
- edge =Edge UI を除くすべての Edge コンポーネント: Management Server、Message Processor、Router、QPID Server、Postgres Server
- ui = Edge UI
- all = マシン上のすべてのコンポーネントを更新します(Edge aio インストール プロファイルまたは API BaaS asa インストール プロファイルでのみ使用します)。
- e = ElasticSearch
- b = API BaaS スタック
- p = API BaaS ポータル
- ebp = ElasticSearch、API BaaS Stack、API BaaS Portal を同じノードにインストール
- apigee-validate ユーティリティを実行して、アップデートをテストします。インストールをテストするをご覧ください。
マシンの更新順序
Edge インストールでマシンを更新する順序は重要です。更新に関する最も重要な考慮事項は次のとおりです。
- 他のノードを更新する前に、すべての Cassandra ノードと ZooKeeper ノードを更新する必要があります。
- Router ノードと Message Processor ノードを更新する前に、すべての qpidd ノードと postgresql ノードを更新する必要があります。
- 複数の Edge コンポーネント(Management Server、Message Processor、Router、QPID Server、Postgres Server)がインストールされているマシンでは、-c edge オプションを使用して、すべてのコンポーネントを同時に更新します。
- 複数のマシンで実行する必要があるステップの場合は、指定されたマシンの順序で実行します。
- Monetization を更新するための個別のステップはありません。「-c edge」オプションを指定すると更新されます。
- Router ノードを更新したら、/opt/nginx/conf.d ディレクトリからすべてのファイルを削除し、Router を再起動する必要があります。
1 ホストのスタンドアロン インストールの場合
- マシン 1 を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c all -f configFile - /opt/nginx/conf.d 内のファイルを削除します。
> rm -f /opt/nginx/conf.d/* - Edge Router を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
2 ホストのスタンドアロン インストールの場合
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 1 で Cassandra と ZooKeeper を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - マシン 2 で qpidd と postgresql を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile - マシン 1 で LDAP を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - マシン 2 とマシン 1 の Edge コンポーネントを更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - ノード 1 の場合:
- /opt/nginx/conf.d 内のファイルを削除します。
> rm -f /opt/nginx/conf.d/* - Edge Router を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- /opt/nginx/conf.d 内のファイルを削除します。
- マシン 1 の UI を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
5 ホストのクラスタ化されたインストールの場合
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 1、2、3 で Cassandra と ZooKeeper を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - マシン 4 と 5 の qpidd と postgresql を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c qpid,ps -f configFile - マシン 1 で LDAP を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - マシン 4、5、1、2、3 の Edge コンポーネントを更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - ノード 2 と 3 の場合:
- /opt/nginx/conf.d 内のファイルを削除します。
> rm -f /opt/nginx/conf.d/* - Edge Router を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- /opt/nginx/conf.d 内のファイルを削除します。
- マシン 1 の UI を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
9 ホストのクラスタ化されたインストールの場合
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 1、2、3 で Cassandra と ZooKeeper を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - マシン 6、7 の qpidd を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - マシン 8 と 9 の postgresql を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - マシン 1 で LDAP を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - マシン 6、7、8、9、1、4、5 の順に Edge コンポーネントを更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - ノード 4 と 5:
- /opt/nginx/conf.d 内のファイルを削除します。
> rm -f /opt/nginx/conf.d/* - Edge Router を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- /opt/nginx/conf.d 内のファイルを削除します。
- マシン 1 の UI を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
13 ホストのクラスタ化されたインストールの場合
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 1、2、3 で Cassandra と ZooKeeper を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - マシン 12 と 13 の qpidd を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - マシン 8 と 9 の postgresql を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - マシン 4 と 5 で LDAP を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - マシン 12、13、8、9、6、7、10、11 の順に Edge コンポーネントを更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - ノード 10 と 11 の場合:
- /opt/nginx/conf.d 内のファイルを削除します。
> rm -f /opt/nginx/conf.d/* - Edge Router を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- /opt/nginx/conf.d 内のファイルを削除します。
- マシン 6 と 7 の UI を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
12 ホストのクラスタ化されたインストールの場合
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- Cassandra と ZooKeeper を更新します。
- データセンター 1 のマシン 1、2、3 の場合:
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile - データセンター 2 のマシン 7、8、9
> /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- データセンター 1 のマシン 1、2、3 の場合:
- qpidd を更新します。
- データセンター 1 のマシン 4、5
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile - データセンター 2 のマシン 10、11
> /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- データセンター 1 のマシン 4、5
- postgresql を更新します。
- データセンター 1 のマシン 6
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile - データセンター 2 のマシン 12
> /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- データセンター 1 のマシン 6
- LDAP を更新します。
- データセンター 1 のマシン 1
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile - データセンター 2 のマシン 7
> /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
- データセンター 1 のマシン 1
- Edge コンポーネントを更新します。
- データセンター 1 のマシン 4、5、6、1、2、3
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - データセンター 2 のマシン 10、11、12、7、8、9
> /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile - ノード 2、3、8、9:
- /opt/nginx/conf.d 内のファイルを削除します。
> rm -f /opt/nginx/conf.d/* - Edge Router を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- /opt/nginx/conf.d 内のファイルを削除します。
- データセンター 1 のマシン 4、5、6、1、2、3
- UI の更新:
- データセンター 1 のマシン 1
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile - データセンター 2 のマシン 7
> /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- データセンター 1 のマシン 1
7 ホストの API BaaS インストールの場合
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 5、6、7 の Cassandra を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile - マシン 1、2、3 で ElasticSearch と API BaaS スタックを更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c e,b -f configFile - マシン 4 の API BaaS Portal を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
10 ホストの API BaaS インストールの場合
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 8、9、10 で Cassandra を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile - マシン 1、2、3 で ElasticSearch を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c e -f configFile - マシン 4、5、6 の API BaaS Stack を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c b -f configFile - マシン 7 の API BaaS Portal を更新します。
> /opt/apigee/apigee-setup/bin/update.sh -c p -f configFile
非標準インストールのアップグレード
標準以外のインストールを行っている場合は、次の順序で Edge コンポーネントを更新します。
- ZooKeeper
- Cassandra
- qpidd
- postgresql
- LDAP
- Edge。つまり、すべてのノードの「-c edge」プロファイル。Qpid、Postgres、Management Server、Message Processor、Router の順。
- すべてのルーターノードで、次の操作を行います。
- /opt/nginx/conf.d 内のファイルを削除します。
> rm -f /opt/nginx/conf.d/* - Edge Router を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
- /opt/nginx/conf.d 内のファイルを削除します。
- UI