Apigee は、Edge for Private Cloud のバージョン 4.50.00 またはバージョン 4.51.00 からバージョン 4.52.00 への直接アップグレードをサポートしています。このページでは、どちらのアップグレードも実行する方法について説明します。
更新を行えるユーザー
アップデートを実行するユーザーは、Edge を最初にインストールしたユーザー、または root として実行するユーザーと同じである必要があります。
Edge RPM をインストールした後は、すべてのユーザーがそれを構成できます。
更新する必要のあるコンポーネント
すべての Edge コンポーネントを更新する必要があります。Edge では、複数のバージョンのコンポーネントを含む設定はサポートされていません。
更新の前提条件
Apigee Edge をアップグレードする前に、次の前提条件を満たしていることを確認してください。
- すべてのノードをバックアップする
更新する前に、安全上の理由から、すべてのノードの完全バックアップを実行することをおすすめします。現在の Edge バージョンのバックアップ手順に沿ってください。これにより、新しいバージョンへの更新が正常に機能しない場合に備えて、バックアップ プランを用意できます。バックアップの詳細については、バックアップと復元をご覧ください。
- Edge が実行されていることを確認する
更新プロセス中に Edge が稼働していることを確認するには、次のコマンドを使用します。/opt/apigee/apigee-service/bin/apigee-all status
- Cassandra の圧縮戦略が
LeveledCompactionStrategyであることを確認する
Cassandra の圧縮戦略を変更するの説明に沿って、Cassandra の圧縮戦略がLeveledCompactionStrategyに設定されていることを確認します。
プロパティ設定の自動伝播
/opt/apigee/customer/application の .properties ファイルを編集してプロパティを設定している場合、これらの値は更新によって保持されます。
Zookeeper 3.8.0 への必須アップグレード
このリリースの Edge for Private Cloud には、Zookeeper 3.8.0 へのアップグレードが含まれています。このアップグレードの一環として、すべての Zookeeper データが Zookeeper 3.8.0 に移行されます。
Zookeeper をアップグレードする前に、Zookeeper メンテナンス ガイドをお読みください。ほとんどの Edge 本番環境システムでは、複数のデータセンターに分散された ZooKeeper ノードのクラスタを使用します。これらのノードの一部は、Zookeeper リーダー選出に参加するボーターとして構成され、残りはオブザーバーとして構成されます。詳細については、 リーダー、フォロワー、ボーター、オブザーバーについてをご覧ください。ボーターノードがリーダーを選出し、その後、ボーターノード自体がフォロワーになります。
更新プロセス中に、リーダーノードがシャットダウンされると、Zookeeper への書き込みが一時的に遅延したり、失敗したりすることがあります。これは、プロキシのデプロイ オペレーションなど、Zookeeper に書き込む管理オペレーションや、メッセージ プロセッサの追加や削除など、Apigee インフラストラクチャの変更に影響する可能性があります。以下の手順に沿って Zookeeper をアップグレードする間、Apigee のランタイム API に影響はありません(これらのランタイム API が管理 API を呼び出す場合を除く)。
大まかに、アップグレード プロセスでは各ノードのバックアップが作成されます。次に、すべてのオブザーバーとフォロワーをアップグレードし、最後にリーダーノードをアップグレードします。
バックアップを作成する
ロールバックが必要な場合に備えて、ZooKeeper のすべてのノードのバックアップを作成します。ロールバックすると、ZooKeeper はバックアップ取得時の状態に復元されます。注: バックアップ取得以降に Apigee で行われたデプロイメントやインフラストラクチャの変更 (その情報は Zookeeper に保存されます) は、復元時に失われます。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper backup
仮想マシンを使用していて、その機能がある場合は、復元またはロールバック(必要な場合)のために VM のスナップショットまたはバックアップを取得することもできます。
リーダー、フォロワー、オブザーバーを特定する
注: 以下のサンプル コマンドでは、nc ユーティリティを使用して Zookeeper にデータを送信します。別のユーティリティを使用して Zookeeper にデータを送信することもできます。
- ZooKeeper ノードにインストールされていない場合は、nc をインストールします。
sudo yum install nc
- ノードで次の nc コマンドを実行します。ここで、2181 は ZooKeeper ポートです。
echo stat | nc localhost 2181
次のような出力が表示されます。
Zookeeper version: 3.8.0-5a02a05eddb59aee6ac762f7ea82e92a68eb9c0f, built on 2022-02-25 08:49 UTC Clients: /0:0:0:0:0:0:0:1:41246[0](queued=0,recved=1,sent=0) Latency min/avg/max: 0/0.2518/41 Received: 647228 Sent: 647339 Connections: 4 Outstanding: 0 Zxid: 0x400018b15 Mode: follower Node count: 100597
ノードの出力の
Mode行には、ノード構成に応じて、オブザーバー、リーダー、フォロワー(リーダーではない投票者)が表示されます。注: 単一の ZooKeeper ノードを使用する Edge のスタンドアロン インストールでは、Modeは standalone に設定されます。 - 各 ZooKeeper ノードで手順 1 と 2 を繰り返します。
オブザーバー ノードとフォロワー ノードで Zookeeper をアップグレードする
各オブザーバー ノードとフォロワー ノードで、次のように Zookeeper をアップグレードします。
- 外部インターネット接続があるノードで 4.52.00 に更新するの説明に沿って、Edge for Private Cloud 4.52 のブートストラップをダウンロードして実行します。このプロセスは、ノードに外部インターネット接続があるかどうか、またはオフライン インストールを実行しているかどうかによって異なる場合があります。
- Zookeeper コンポーネントをアップグレードします。
注: これらのノードに他のコンポーネント(Cassandra など)がインストールされている場合は、それらのコンポーネントも今すぐアップグレードするか(cs,zk プロファイルなど)、後でアップグレードできます。Apigee では、最初に Zookeeper のみをアップグレードし、クラスタが正常に動作していることを確認してから、他のコンポーネントをアップグレードすることをおすすめします。/opt/apigee/apigee-setup/bin/update.sh -c zk -f <silent-config-file>
- ZooKeeper のオブザーバー ノードとフォロワー ノードごとに上記の手順を繰り返します。
リーダーをシャットダウンする
すべてのオブザーバー ノードとフォロワー ノードがアップグレードされたら、リーダーをシャットダウンします。リーダーとして識別されたノードで、次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
このイベント中、新しいリーダーが選出される前に、Zookeeper で一時的な遅延や書き込みエラーが発生する可能性があります。これは、プロキシのデプロイ アクションや、Apigee インフラストラクチャの変更(Message Processor の追加や削除など)など、ZooKeeper に書き込むオペレーションに影響する可能性があります。
新しいリーダーが選出されたことを確認する
上記のリーダー、フォロワー、オブザーバーを特定するセクションの手順に沿って、既存のリーダーが停止したときに、フォロワーから新しいリーダーが選出されていることを確認します。リーダーは、現在のリーダーとは異なるデータセンターで選出されている可能性があります。
アップグレード リーダー
上記の オブザーバー ノードとフォロワー ノードでの Zookeeper のアップグレードと同じ手順を行います。
古いリーダーノードもアップグレードされたら、クラスタの健全性を確認し、リーダーノードが存在することを確認します。
ロールバック
ロールバックが必要な場合:
- 最初にオブザーバーとフォロワーでロールバック手順を実行します。
- ロールバックするバージョン(4.50 または 4.51)のブートストラップをダウンロードして実行します。このプロセスは、ノードに外部インターネット接続があるかどうか、またはオフライン インストールを行っているかどうかによって異なる場合があります。
- ノードで ZooKeeper が実行されている場合は、停止します。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
- 既存の zookeeper をアンインストールします。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper uninstall
/opt/apigee/apigee-setup/bin/setup.sh -p zk -f <silent-config-file>
バックアップを復元
バックアップから復元するをご覧ください。4.50 や 4.51 などの以前のバージョンの Edge for Private Cloud から取得した Zookeeper のバックアップは、Edge for Private Cloud 4.52 の Zookeeper のバージョンと互換性がある必要があります。
Postgres 14 への必須アップグレード
このリリースの Edge には、Postgres 14 へのアップグレードが含まれています。このアップグレードの一環として、すべての Postgres データが Postgres 14 に移行されます。
ほとんどの Edge 本番環境システムでは、マスター / スタンバイ レプリケーション用に構成された 2 つの Postgres ノードを使用します。更新プロセス中に、更新のために Postgres ノードが停止している間も、分析データは Qpid ノードに書き込まれます。Postgres ノードが更新されてオンラインに戻ると、分析データが Postgres ノードに push されます。
Postgres の更新方法は、Postgres ノードのデータ ストレージの構成方法によって異なります。
- Postgres ノードにローカル データ ストレージを使用している場合は、アップグレード中に新しい Postgres スタンバイ ノードをインストールする必要があります。アップグレードが完了したら、新しい Postgres スタンバイ ノードをデコミッションできます。
なんらかの理由でアップデートをロールバックする必要がある場合は、追加の Postgres スタンバイ ノードが必要です。アップデートをロールバックする必要がある場合、ロールバック後に新しい Postgres スタンバイ ノードがマスター Postgres ノードになります。したがって、新しい Postgres スタンバイ ノードをインストールする場合は、Edge のインストール要件で定義されている Postgres サーバーのすべてのハードウェア要件を満たすノードにインストールする必要があります。
プロトタイピングとテストに使用されるトポロジである Edge の 1 ノード構成と 2 ノード構成では、Postgres ノードは 1 つだけです。これらの Postgres ノードは、新しい Postgres ノードを作成することなく直接更新できます。
- Apigee が推奨するように、Postgres ノードにネットワーク ストレージを使用している場合は、新しい Postgres ノードをインストールする必要はありません。以下の手順では、新しい Postgres スタンバイ ノードをインストールして、後で廃止する手順をスキップできます。
更新プロセスを開始する前に、Postgres で使用されるデータストアのネットワーク スナップショットを取得します。更新中にエラーが発生し、ロールバックを強制的に実行する必要がある場合は、そのスナップショットから Postgres ノードを復元できます。
新しい Postgres スタンバイ ノードをインストールする
この手順では、新しいノードに Postgres スタンバイ サーバーを作成します。バージョン 4.52.00 ではなく、既存の Edge バージョン(4.50.00 または 4.51.00)に新しい Postgres スタンバイ サーバーをインストールしてください。
インストールを実行するには、現在のバージョンの Edge のインストールに使用した構成ファイルを使用します。
新しい Postgres スタンバイ ノードを作成するには:
- 現在の Postgres マスターで、
/opt/apigee/customer/application/postgresql.propertiesファイルを編集して次のトークンを設定します。ファイルが存在しない場合は作成します。conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust\ \nhost replication apigee new_standby_ip/32 trust
ここで、existing_standby_ip は現在の Postgres スタンバイ サーバーの IP アドレス、new_standby_ip は新しいスタンバイ ノードの IP アドレスです。
- Postgres マスターで
apigee-postgresqlを再起動します。/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
- マスターの
/opt/apigee/apigee-postgresql/conf/pg_hba.confファイルを表示して、新しいスタンバイ ノードが追加されたことを確認します。このファイルには、次の行が含まれているはずです。host replication apigee existing_standby_ip/32 trust host replication apigee new_standby_ip/32 trust
- 新しい Postgres スタンバイ サーバーをインストールします。
- 現在のバージョンの Edge のインストールに使用した構成ファイルを編集して、次の項目を指定します。
# IP address of the current master: PG_MASTER=192.168.56.103 # IP address of the new standby node PG_STANDBY=192.168.56.102
- Edge apigee-setup ユーティリティのインストールの説明に従って、SELinux を無効にします。
現在 Edge 4.51.00 を使用している場合:
- Edge bootstrap_4.51.00.sh ファイルを
/tmp/bootstrap_4.51.00.shにダウンロードします。curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
- Edge
apigee-serviceユーティリティと依存関係をインストールします。sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord
現在 Edge 4.50.00 を使用している場合:
- Edge bootstrap_4.50.00.sh ファイルを
/tmp/bootstrap_4.50.00.shにダウンロードします。curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
- Edge
apigee-serviceユーティリティと依存関係をインストールします。sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord
- Edge bootstrap_4.51.00.sh ファイルを
apigee-serviceを使用してapigee-setupユーティリティをインストールします。/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Postgres をインストールします。
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
- 新しいスタンバイ ノードで、次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
スタンバイであることを確認します。
- 現在のバージョンの Edge のインストールに使用した構成ファイルを編集して、次の項目を指定します。
Postgres のインプレース アップグレードの実行
予備の手順
Postgres へのインプレース アップグレードを実行する前に、マスターホストとスタンバイの両方で次の手順を行い、apigee-postgresql の max_locks_per_transaction プロパティを更新します。
- 存在しない場合は、
/opt/apigee/customer/application/postgresql.propertiesファイルを作成します。 - このファイルのオーナー権限を
apigeeに変更します。sudo chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
- ファイルに次のプロパティを追加します。
conf/postgresql.conf+max_locks_per_transaction=30000
apigee-postgresqlを構成します。apigee-service apigee-postgresql configure
apigee-postgresqlを再起動します。apigee-service apigee-postgresql restart
インプレース アップグレードを行う
Postgres 14 へのインプレース アップグレードを行うには、次の操作を行います。
- マスターホストで postgres をアップグレードする
/opt/apigee/apigee-setup/bin/update.sh -c ps -f /opt/silent.conf
- マスターホストでセットアップ コマンドを実行します。
apigee-service apigee-postgresql setup -f /opt/silent.conf
- マスターホストで configure コマンドを実行します。
apigee-service apigee-postgresql configure
- マスターホストを再起動します。
apigee-service apigee-postgresql restart
- マスターとして構成します。
apigee-service apigee-postgresql setup-replication-on-master -f /opt/silent.conf
- マスターホストが起動していることを確認します。
apigee-service apigee-postgresql wait_for_ready
- スタンバイを停止します。
apigee-service apigee-postgresql stop
- スタンバイをアップグレードします。
注: このステップでエラーが発生したり、失敗したりした場合は、無視してかまいません。
update.shは、誤った構成でスタンバイ サーバーを起動しようとします。Postgres のインストールが 14 にアップグレードされている場合、このエラーは無視できます。/opt/apigee/apigee-setup/bin/update.sh -c ps -f /opt/silent.conf
- スタンバイが停止していることを確認します。
apigee-service apigee-postgresql stop
- 古いスタンバイ構成を削除します。
rm -rf /opt/apigee/data/apigee-postgresql/
- スタンバイ サーバーでレプリケーションを設定します。
apigee-service apigee-postgresql setup-replication-on-standby -f /opt/silent.conf
- マスターホストとスタンバイの両方で、ファイル
/opt/apigee/customer/application/postgresql.propertiesから行conf/postgresql.conf+max_locks_per_transaction=30000を削除します。この行は準備ステップで追加したものです。
この手順を完了すると、スタンバイが正常に開始されます。
Postgres ノードを廃止する
更新が完了したら、新しいスタンバイ ノードをデコミッションします。
- Postgres が実行されていることを確認します。
/opt/apigee/apigee-service/bin/apigee-all status
Postgres が実行されていない場合は、起動します。
/opt/apigee/apigee-service/bin/apigee-all start
- 新しいスタンバイ ノードで次の
curlコマンドを実行して、新しいスタンバイ ノードの UUID を取得します。curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
出力の最後に、ノードの UUID が次の形式で表示されます。
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- 新しいスタンバイ ノードで次のコマンドを実行して、新しいスタンバイ ノードを停止します。
/opt/apigee/apigee-service/bin/apigee-all stop
- Postgres マスターノードで、
/opt/apigee/customer/application/postgresql.propertiesを編集して、conf_pg_hba_replication.connectionから新しいスタンバイ ノードを削除します。conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust
- Postgres マスターで apigee-postgresql を再起動します。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
- マスターの
/opt/apigee/apigee-postgresql/conf/pg_hba.confファイルを表示して、新しいスタンバイ ノードが削除されたことを確認します。このファイルには、次の行のみが表示されます。host replication apigee existing_standby_ip/32 trust
- Management Server ノードで次の Edge Management API 呼び出しを行い、ZooKeeper からスタンバイ ノードの UUID を削除します。
curl -u sysAdminEmail:password -X DELETE http://ms_IP:8080/v1/servers/new_standby_uuid
Postgres のアップグレード後の手順
Postgres のメジャー アップグレード後、Postgres の内部統計情報は消去されます。これらの統計情報は、Postgres クエリ プランナーがクエリを実行するために最適なインデックスとパスを利用するのに役立ちます。
Postgres は、クエリの実行時や自動バキューム デーモンの実行時に、統計情報を徐々に再構築できます。ただし、統計情報が再構築されるまで、クエリの速度が低下する可能性があります。
この問題に対処するには、マスター Postgres ノードのデータベース内のすべてのテーブルで ANALYZE を実行します。または、一度にいくつかのテーブルに対して ANALYZE を実行することもできます。
新しい Edge UI
このセクションでは、Edge UI に関する考慮事項について説明します。詳細については、Private Cloud 用の新しい Edge UI をご覧ください。
Edge UI のインストール
初期インストールが完了したら、Edge UI をインストールすることをおすすめします。これは、Apigee Edge for Private Cloud のデベロッパーと管理者向けの拡張ユーザー インターフェースです。
Edge UI では、基本認証を無効にして、SAML や LDAP などの IDP を使用する必要があります。
詳細については、新しい Edge UI をインストールするをご覧ください。
Edge UI の更新
Edge UI コンポーネントを更新するには、アップグレード元の Edge for プライベート クラウド のバージョンを考慮してください。
- 4.51.00 から 4.52.00(新しい Edge UI がすでにインストールされている場合):
edge-management-uiコンポーネントについては、このセクションのアップグレード手順を使用します。
Apigee mTLS での更新
Apigee mTLS を更新する手順は次のとおりです。
更新のロールバック
更新に失敗した場合は、問題を修正してから update.sh を再度実行してみてください。更新は複数回実行できます。更新は、最後に中断したところから再開されます。
障害により、以前のバージョンに更新をロールバックする必要がある場合は、4.52.00 をロールバックするで詳細な手順をご覧ください。
更新情報のロギング
デフォルトでは、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 を更新するタイミングになったら、サーバー(Message Processor / Router)のネットワーク到達性の有効化と無効化の説明に従って、いずれか 1 つの Router を選択して到達不能にします。
- 選択した Router と、その Router と同じマシンにある他のすべての Edge コンポーネントを更新します。すべての Edge 構成で、Router と Message Processor が同じノードに表示されます。
- ルーターを再び到達可能にします。
- 残りのルーターについて、手順 2 ~ 4 を繰り返します。
- インストール環境内の残りのマシンで更新を続行します。
更新の前後に次の点に注意してください。
- Router と Message Processor の組み合わせノードの場合:
- 更新前 - 次の操作を行います。
- ルーターを到達不能にします。
- Message Processor に到達できないようにします。
- 更新後 - 次の操作を行います。
- Message Processor を到達可能にします。
- ルーターにアクセスできるようにします。
- 更新前 - 次の操作を行います。
- 単一のルーターノードの場合:
- 更新する前に、Router にアクセスできないようにします。
- 更新後、Router をアクセス可能にします。
- 単一の Message Processor ノードの場合:
- 更新する前に、Message Processor を到達不能にします。
- 更新後、Message Processor を到達可能にします。
サイレント構成ファイルの使用
update コマンドにサイレント構成ファイルを渡す必要があります。サイレント構成ファイルは、Edge 4.50.00 または 4.51.00 のインストールに使用したものと同じである必要があります。
外部インターネット接続があるノードで 4.52.00 に更新する
ノード上の Edge コンポーネントを更新する手順は次のとおりです。
- Cassandra で修復オペレーションを実行するように構成された
cronジョブがある場合は、更新が完了するまで無効にします。 - root としてノードにログインし、Edge RPM をインストールします。
yum-utilsとyum-plugin-prioritiesをインストールします。sudo yum install yum-utils
sudo yum install yum-plugin-priorities- Edge apigee-setup ユーティリティのインストールの説明に従って、SELinux を無効にします。
- Oracle 7.x にインストールする場合は、次のコマンドを実行します。
sudo yum-config-manager --enable ol7_optional_latest
- AWS にインストールする場合は、次の
yum-configure-managerコマンドを実行します。yum update rh-amazon-rhui-client.noarch
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional 現在 Edge 4.51.00 を使用している場合:
- Edge
bootstrap_4.52.00.shファイルを/tmp/bootstrap_4.52.00.shにダウンロードします。curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
- 次のコマンドを実行して、Edge 4.52.00
apigee-serviceユーティリティと依存関係をインストールします。sudo bash /tmp/bootstrap_4.52.00.sh apigeeuser=uName apigeepassword=pWord
ここで、uName:pWord は Apigee から受け取ったユーザー名とパスワードです。pWord を省略すると、入力を求めるメッセージが表示されます。
デフォルトでは、インストーラは Java 1.8 がインストールされていることを確認します。インストールされていない場合は、インストーラによってインストールされます。
JAVA_FIXオプションを使用して、Java のインストールを処理する方法を指定します。JAVA_FIXは次の値を取ります。I: OpenJDK 1.8 をインストールします(デフォルト)。C: Java をインストールせずに続行します。Q: 終了します。このオプションでは、Java を自分でインストールする必要があります。
- 次の例のように、
apigee-serviceを使用してapigee-setupユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- 次の例のように、Management Server の
apigee-validateユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-validate update
- 次の例のように、Management Server の
apigee-provisionユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-provision update
- 次のコマンドを実行して、ノードで
updateユーティリティを実行します。/opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
これは、マシンの更新順序で説明されている順序で行います。
ここで
- component は、更新する Edge コンポーネントです。有効な値は次のとおりです。
cs: Cassandraedge: Edge UI を除くすべての Edge コンポーネント(Management Server、Message Processor、Router、QPID Server、Postgres Server)ldap: OpenLDAPps: postgresqlqpid: qpiddsso: Apigee SSO(SSO をインストールした場合)ue: 新しい Edge UIui: 従来の Edge UIzk: Zookeeper
- configFile は、4.50.00 または 4.51.00 のインストール時に Edge コンポーネントを定義するために使用した構成ファイルと同じです。
component を「all」に設定すると、すべてのコンポーネントに対して
update.shを実行できます。ただし、Edge オールインワン(AIO)インストール プロファイルがある場合に限ります。次に例を示します。/opt/apigee/apigee-setup/bin/update.sh -c all -f ./sa_silent_config
- component は、更新する Edge コンポーネントです。有効な値は次のとおりです。
- Edge UI コンポーネントを実行するすべてのノードで Edge UI コンポーネントを再起動します(まだ再起動していない場合)。
/opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
- インストールのテストの説明に沿って、Management Server で
apigee-validateユーティリティを実行して更新をテストします。
後で更新をロールバックすることにした場合は、4.52.00 のロールバックの手順に沿ってください。
ローカル リポジトリから 4.52.00 に更新する
Edge ノードがファイアウォールの背後にあるか、インターネット経由での Apigee リポジトリ アクセスが禁止されている場合は、Apigee リポジトリのローカル リポジトリ(つまりミラー)から更新を行うことができます。
ローカル Edge リポジトリを作成したら、ローカル リポジトリから Edge を更新する方法が 2 つあります。
- リポジトリの .tar ファイルを作成し、その .tar ファイルをノードにコピーして、.tar ファイルから Edge を更新します。
- ローカル リポジトリを持つノードにウェブサーバーをインストールし、他のノードからアクセスできるようにします。Apigee から提供されているウェブサーバーは Nginx ですが、他のウェブサーバーを使用してもかまいません。
ローカルの 4.52.00 リポジトリから更新するには:
- Edge apigee-setup ユーティリティのインストールの「ローカルに Apigee リポジトリを作成する」の手順で 4.52.00 リポジトリをローカルに作成します。
- .tar ファイルから apigee-service をインストールするには:
- ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを
/opt/apigee/data/apigee-mirror/apigee-4.52.00.tar.gzという名前の単一の .tar ファイルにパッケージ化します。/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- Edge を更新する対象のノードに .tar ファイルをコピーします。たとえば、新しいノードの
/tmpディレクトリにコピーします。 - 新しいノードで、ファイルを
/tmpディレクトリに解凍します。tar -xzf apigee-4.52.00.tar.gz
このコマンドにより、.tar ファイルを含むディレクトリに
reposという名前の新しいディレクトリが作成されます。例:/tmp/repos /tmp/reposから Edgeapigee-serviceユーティリティと依存関係をインストールします。sudo bash /tmp/repos/bootstrap_4.52.00.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
コマンドに repos ディレクトリへのパスが含まれている点に注意してください。
- ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを
- Nginx ウェブサーバーを使用して apigee-service をインストールするには:
- Edge apigee-setup ユーティリティのインストールの「Nginx ウェブサーバーを使用してリポジトリからインストールする」の手順に沿って、Nginx ウェブサーバーを構成します。
- リモートノードで、Edge
bootstrap_4.52.00.shファイルを/tmp/bootstrap_4.52.00.shにダウンロードします。/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.52.00.sh -o /tmp/bootstrap_4.52.00.sh
ここで、uName:pWord は以前にリポジトリに設定したユーザー名とパスワード、remoteRepo はリポジトリ ノードの IP アドレスまたは DNS 名です。
- リモートノードで、Edge
apigee-setupユーティリティと依存関係をインストールします。sudo bash /tmp/bootstrap_4.52.00.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
ここで、uName:pWord はリポジトリのユーザー名とパスワードです。
- 次の例のように、
apigee-serviceを使用してapigee-setupユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- 次の例のように、Management Server の
apigee-validateユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-validate update
- 次の例のように、Management Server の
apigee-provisionユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-provision update
- マシンの更新順序で説明されている順序で、ノードで
updateユーティリティを実行します。/opt/apigee/apigee-setup/bin/update.sh -c component -f configFile
ここで
- component は、更新する Edge コンポーネントです。通常、次のコンポーネントを更新します。
cs: Cassandraedge: Edge UI を除くすべての Edge コンポーネント(Management Server、Message Processor、Router、QPID Server、Postgres Server)ldap: OpenLDAPps: postgresqlqpid: qpiddsso: Apigee SSO(SSO をインストールした場合)ue新しい Edge UIui: 従来の Edge UIzk: Zookeeper
- configFile は、4.50.00 または 4.51.00 のインストール時に Edge コンポーネントを定義するために使用した構成ファイルと同じです。
component を「all」に設定すると、すべてのコンポーネントに対して
update.shを実行できます。ただし、Edge オールインワン(AIO)インストール プロファイルがある場合に限ります。次に例を示します。/opt/apigee/apigee-setup/bin/update.sh -c all -f /tmp/sa_silent_config
- component は、更新する Edge コンポーネントです。通常、次のコンポーネントを更新します。
- UI コンポーネントを実行するすべてのノードで UI コンポーネントを再起動します(まだ再起動していない場合)。
/opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
- インストールのテストの説明に沿って、Management Server で
apigee-validateユーティリティを実行して更新をテストします。
後で更新をロールバックすることにした場合は、4.52.00 のロールバックの手順に沿ってください。
マシンの更新順序
Edge インストールでマシンを更新する順序は重要です。
- 他のノードを更新する前に、すべての Cassandra ノードと ZooKeeper ノードを更新する必要があります。
- 複数の Edge コンポーネント(Management Server、Message Processor、Router、QPID Server。Postgres Server は除く)がインストールされているマシンでは、
-c edgeオプションを使用して、すべてのコンポーネントを同時に更新します。 - 複数のマシンで実行する必要があるステップの場合は、指定されたマシンの順序で実行します。
- Monetization を更新するための個別のステップはありません。
-c edgeオプションを指定すると更新されます。
1 ノード スタンドアロン構成のアップグレード
1 ノード スタンドアロン構成を 4.52.00 にアップグレードするには:
- すべてのコンポーネントを更新します。
/opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
- (
apigee-adminapiをインストールした場合)apigee-adminapiユーティリティを更新しました。/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
2 ノード スタンドアロン構成のアップグレード
2 ノードのスタンドアロン インストール用に次のコンポーネントを更新します。
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 1 で Cassandra と ZooKeeper を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- マシン 2 で Qpid と Postgres を更新します。
/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 の UI を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- (
apigee-adminapiがインストールされている場合)マシン 1 のapigee-adminapiユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- Apigee SSO がインストールされている場合は、マシン 1 の Apigee SSO を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
ここで、sso_config_file は SSO をインストールしたときに作成した構成ファイルです。
- マシン 1 の Edge UI コンポーネントを再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
5 ノード構成のアップグレード
5 ノード インストール用に次のコンポーネントを更新します。
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 1、2、3 で Cassandra と ZooKeeper を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- マシン 4 の Qpid と Postgres を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c qpid, ps -f configFile
- マシン 5 で Qpid と Postgres を更新します。
/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
- Edge UI を更新します。
- クラシック UI: クラシック UI を使用している場合は、次の例に示すように、マシン 1 の
uiコンポーネントを更新します。/opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
- 新しい Edge UI: 新しい Edge UI をインストールした場合は、適切なマシン(マシン 1 ではない場合があります)で
ueコンポーネントを更新します。/opt/apigee/apigee-setup/bin/update.sh -c ue -f /opt/silent.conf
- クラシック UI: クラシック UI を使用している場合は、次の例に示すように、マシン 1 の
- (
apigee-adminapiがインストールされている場合)マシン 1 のapigee-adminapiユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- Apigee SSO がインストールされている場合は、マシン 1 の Apigee SSO を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
ここで、sso_config_file は SSO をインストールしたときに作成した構成ファイルです。
- UI コンポーネントを再起動します。
- Classic UI: Classic UI を使用している場合は、次の例に示すように、マシン 1 の
edge-uiコンポーネントを再起動します。/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 新しい Edge UI: 新しい Edge UI をインストールした場合は、適切なマシン(マシン 1 ではない場合があります)で
edge-management-uiコンポーネントを再起動します。/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
- Classic UI: Classic UI を使用している場合は、次の例に示すように、マシン 1 の
9 ノードクラスタ構成のアップグレード
9 ノードのクラスタ インストール用に次のコンポーネントを更新します。
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 1、2、3 で Cassandra と ZooKeeper を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- マシン 6 と 7 で Qpid を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- マシン 8 で Postgres を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- マシン 9 で Postgres を更新します。
/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
- マシン 1 で新しい UI(
ue)または従来の UI(ui)を更新します。/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- (
apigee-adminapiがインストールされている場合)マシン 1 のapigee-adminapiユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- Apigee SSO がインストールされている場合は、マシン 1 の Apigee SSO を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
ここで、sso_config_file は SSO をインストールしたときに作成した構成ファイルです。
- UI コンポーネントを再起動します。
- クラシック UI: クラシック UI を使用している場合は、次の例に示すように、マシン 1 で
edge-uiコンポーネントを再起動します。/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 新しい Edge UI: 新しい Edge UI をインストールした場合は、適切なマシン(マシン 1 ではない場合があります)で
edge-management-uiコンポーネントを再起動します。/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
- クラシック UI: クラシック UI を使用している場合は、次の例に示すように、マシン 1 で
13 ノードクラスタ構成のアップグレード
13 ノードのクラスタ インストール用に次のコンポーネントを更新します。
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
- マシン 1、2、3 で Cassandra と ZooKeeper を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
- マシン 12 と 13 で Qpid を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- マシン 8 で Postgres を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
- マシン 9 で Postgres を更新します。
/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
- マシン 6 と 7 で、新しい UI(
ue)または従来の UI(ui)を更新します。/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- (
apigee-adminapiがインストールされている場合)マシン 6 と 7 のapigee-adminapiユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- Apigee SSO がインストールされている場合は、マシン 6、7 の Apigee SSO を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
ここで、sso_config_file は SSO をインストールしたときに作成した構成ファイルです。
- UI コンポーネントを再起動します。
- Classic UI: Classic UI を使用している場合は、次の例に示すように、マシン 6 と 7 で
edge-uiコンポーネントを再起動します。/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
- 新しい Edge UI: 新しい Edge UI をインストールした場合は、マシン 6 と 7 で
edge-management-uiコンポーネントを再起動します。/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
- Classic UI: Classic UI を使用している場合は、次の例に示すように、マシン 6 と 7 で
12 ノードクラスタ構成のアップグレード
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 で、次のコマンドを実行します。
- マシン 4 の
qpiddを更新します。/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- マシン 5 の
qpiddを更新します。/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- マシン 4 の
- データセンター 2 のマシン 10、11
- マシン 10 の
qpiddを更新します。/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- マシン 11 の
qpiddを更新します。/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
- マシン 10 の
- データセンター 1 のマシン 4、5 で、次のコマンドを実行します。
- Postgres を更新します。
- データセンター 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
- データセンター 1 のマシン 4、5、6、1、2、3 で、次のコマンドを実行します。
- 新しい UI(
ue)または従来の UI(ui)を更新します。- データセンター 1 のマシン 1 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- データセンター 2 のマシン 7 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
- データセンター 1 のマシン 1 で、次のコマンドを実行します。
- (
apigee-adminapiをインストールした場合)apigee-adminapiユーティリティを更新しました。- データセンター 1 のマシン 1 で、次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- データセンター 2 のマシン 7 で、次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
- データセンター 1 のマシン 1 で、次のコマンドを実行します。
- Apigee SSO がインストールされている場合は、Apigee SSO を更新します。
- データセンター 1 のマシン 1 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
- データセンター 2 のマシン 7 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
ここで、sso_config_file は SSO をインストールしたときに作成した構成ファイルです。
- データセンター 1 のマシン 1 で、次のコマンドを実行します。
- マシン 1 と 7 で、新しい Edge UI(
edge-management-ui)または従来の Edge UI(edge-ui)コンポーネントを再起動します。/opt/apigee/apigee-service/bin/apigee-service [edge-ui|edge-management-ui] restart
非標準構成のアップグレード
標準以外の構成を使用している場合は、次の順序で Edge コンポーネントを更新します。
- ZooKeeper
- Cassandra
- qpidd、ps
- LDAP
- Edge。つまり、すべてのノードの「-c edge」プロファイル。Qpid サーバー、Edge Postgres Server、Management Server、Message Processor、Router の順にノードを停止します。
- Edge UI(Classic または New)
apigee-adminapi- Apigee SSO
更新が完了したら、Edge UI コンポーネントを実行しているすべてのマシンで Edge UI コンポーネントを再起動してください。
- Edge