Apigee では、Edge for Private Cloud をバージョン 4.53.00 または 4.53.01 からバージョン 4.54.00 に直接アップグレードできます。このページでは、このようなアップグレードを行う方法について説明します。
互換性のあるアップグレード パスの概要については、Edge for Private Cloud リリースのアップグレード互換性マトリックスをご覧ください。
更新を行えるユーザー
アップデートを実行するユーザーは、Edge を最初にインストールしたユーザーと同じか、root として実行するユーザーである必要があります。
Edge RPM をインストールした後は、すべてのユーザーがそれを構成できます。
更新する必要のあるコンポーネント
すべての Edge コンポーネントを更新する必要があります。Edge は、複数のバージョンのコンポーネントを含む設定をサポートしていません。
事前資料
Edge for Private Cloud 4.54.00 で導入された変更に関する重要な情報については、次のトピックをご覧ください。
-
4.54.00 の変更点: アップグレード前に準備が必要な TLS と Java Callout の変更点を確認します。詳細については、4.54.00 の変更点をご覧ください。
-
デュアル Java ランタイム アーキテクチャ(Java 17 と Java 21): 4.54.00 以降、Edge for Private Cloud は Java 8 のサポートを終了し、Java 17 または Java 21 でコンポーネントを実行します。詳細については、4.54.00 の変更点をご覧ください。
-
ブートストラップ中の Java の自動インストールなし: Edge for Private Cloud 4.54.00 には、Java インストールを検出する機能があり、Java 17 と 21 の両方がインストールされていることを検証します。
-
4.54.00 の新しい Edge UI: デフォルトの管理インターフェースとしての新しい Edge UI への移行と、Classic UI(edge-ui)の削除について説明します。詳細については、新しい Edge UI をご覧ください。
-
4.54.00 の Apigee SSO: 更新された SSO アーキテクチャと認証の構成変更について理解します。詳細については、Apigee SSO をご覧ください。
-
4.54.00 の Nginx 1.30: Edge Router での Nginx 1.30.x の自動アップグレード、ランタイムへの潜在的な影響、緩和手順を確認します。詳細については、Nginx 1.30 の変更点をご覧ください。
アップグレードの前提条件
Apigee Edge をアップグレードする前に、次の前提条件を満たしていることを確認してください。
-
リリースノートと新機能を確認する
アップグレード プロセスを開始する前に、Edge for Private Cloud バージョン 4.54.00 のリリースノートに記載されているすべての新機能、動作の変更、廃止を十分に確認し、理解してください。
-
アップグレード中の Java バイナリの自動検出と共存: 標準のパッケージ マネージャー(yum など)または標準の場所(/usr/lib/jvm や update-alternatives など)を使用して Java をインストールします。システム PATH で両方のバージョンを同時に構成する必要はありません。アップグレード前に Java 8 をアンインストールしないでください。Java 17 と Java 21 とともに Java 8 をインストールしたままにして、既存の Edge for Private Cloud 4.53.xx サービスが更新されるまで中断なく実行されるようにします。
-
すべてのノードをバックアップする
更新する前に、安全のため、すべてのノードの完全バックアップを実行することをおすすめします。現在の Edge バージョンのバックアップ手順に沿ってください。これにより、新しいバージョンへの更新が正常に機能しない場合に備えて、バックアップ プランを用意できます。バックアップの詳細については、バックアップと復元をご覧ください。
-
サイレント構成ファイルのバックアップ
必要に応じてロールバックを容易にするため、Edge for Private Cloud 4.53.00 または 4.53.01 のサイレント構成ファイルのバックアップ コピーが保持されていることを確認します。
-
Edge が実行されていることを確認する
更新プロセス中に Edge が稼働していることを確認するには、次のコマンドを使用します。
/opt/apigee/apigee-service/bin/apigee-all status
-
Cassandra の前提条件を確認する
以前に Edge for Private Cloud の古いバージョンからバージョン 4.53.00(または 4.53.01)にアップグレードし、バージョン 4.54.00 にアップグレードする予定の場合は、Cassandra のアップグレード後の必要な手順を完了していることを確認してください。これらの手順は、バージョン 4.53.00(または 4.53.01)のアップグレード ドキュメントに記載されています。また、Cassandra のアップグレードの前提条件にも記載されています。前回のアップグレード時にこれらの手順が完了したかどうかわからない場合は、バージョン 4.54.00 へのアップグレードに進む前に、もう一度これらの手順を完了してください。
-
apigee-monit を停止する: apigee-monit がノードで実行されている場合は、アップグレードする前に /opt/apigee/apigee-service/bin/apigee-service apigee-monit stop で停止します。これにより、アップグレード中に apigee-monit がコンポーネントを自動的に再起動するのを防ぐことができます。アップグレードが完了したら、apigee-service apigee-monit start で再度有効にします。
プロパティ設定の自動伝播
/opt/apigee/customer/application の .properties ファイルを編集してプロパティを設定している場合、これらの値は更新によって保持されます。
Router と Message Processor をアップグレードする
データセンター全体のすべての Router ノードと Message Processor ノードを 1 つずつアップグレードします。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
Management Server をアップグレードする
データセンター全体のすべての Management Server ノードを 1 つずつアップグレードします。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
OpenLDAP 2.6.10 にアップグレード
Edge for Private Cloud 4.54.00 では、OpenLDAP 2.6.10 が導入されています。このアップグレードは、シングル サーバー、アクティブ / パッシブ、アクティブ / アクティブ(マルチマスター)など、すべての Apigee OpenLDAP デプロイ トポロジに適用されます。
準備とインストール(すべての LDAP サーバー)
New Edge UI と Apigee SSO(インストールされている場合)にアップグレードする
Apigee Edge for Private Cloud 4.54.00 では、従来の UI(edge-ui)が削除され、新しい Edge UI(edge-management-ui)に置き換えられます。設定で Apigee シングル サインオン(SSO)がインストールされて使用されているかどうかに応じて、次の 2 つのオプションのいずれかの手順を行います。
Qpid 10.0.1 にアップグレードする
この方法では、Edge ランタイム環境のダウンタイムが発生せず、分析用に取得されたランタイム データの損失を最小限に抑えることができます。
Qpid へのインプレース アップグレードをダウンタイムなしで実行するには:
-
まず、1 つの Qpid ノードを選択します。
-
ノードで Qpid ブローカーを停止します。
apigee-service apigee-qpidd stop
-
ファイアウォールを適用して、すべての Message Processor からのブローカー ポート 5672 への受信トラフィックをブロックします。このファイアウォールは、Qpid ノード インスタンス レベルまたは他の外部ファイアウォール/ネットワーク コンポーネント レベルで適用できます。
すべての Message Processor の IP アドレスに対して同じ手順を行うことをおすすめします。たとえば、IPTables を使用して、Message Processor の IP アドレスからポート 5672 の Qpid ノードに送信されるリクエストをドロップするには、次のようなコマンドを使用します。
iptables -A INPUT -p tcp --dport 5672 -s MESSAGE_PROCESSOR_IP -j DROP
-
Qpid ブローカーを再度起動して、既存のメッセージをドレインします。
apigee-service apigee-qpidd start
-
既存のキューが空であることを確認します。
/opt/apigee/apigee-qpidd/bin/qpid-stat -q
メッセージがデッドレター キュー(DLQ)(
ax-q-axgroup-001-consumer-group-001-dl)でスタックしている場合は、デッドレター キューでスタックしている分析データを解決する手順に沿ってキューをドレインします。 -
古いノードでキューがドレインされたことを確認したら、
apigee-qpiddを停止します。apigee-service apigee-qpidd stop
-
ノード上の Qpid をアップグレードします。
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
-
edge-qpid-serverを再起動します。apigee-service edge-qpid-server restart
-
ステップ 3 で適用したファイアウォール ルールを削除します。
ファイアウォールが適用されたすべての Message Processor の IP アドレスに対して、同じ削除手順を行います。ファイアウォールが削除されると、Message Processor の IP アドレスからポート 5672 の Qpid ノードへのリクエストが受け入れられます。
iptablesを使用してファイアウォールを追加した場合は、次のコマンドを使用してファイアウォールを削除し、既存の設定を一覧表示できます。iptables -F iptables -L
-
ウェブ モニタリングを使用して、Qpid キューがメッセージを受信していることを確認します。
http://QPID_NODE_IP:8090
-
各 Qpid ノードに対して手順 1 ~ 9 を繰り返します。
Postgres 18.6 にアップグレードする
このリリースの Edge には、Postgres 18.6 へのアップグレードが含まれています。このアップグレードの一環として、すべての Postgres データが Postgres 18.6 に移行されます。
ほとんどの Edge 本番環境システムでは、プライマリ スタンバイ レプリケーション用に構成された 2 つの Postgres ノードを使用します。更新プロセス中に、Postgres ノードが更新のために停止している間も、分析データは Qpid ノードに書き込まれます。Postgres ノードが更新されてオンラインに戻ると、分析データが Postgres ノードにプッシュされます。
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 スタンバイ サーバーを作成します。Edge の既存のバージョン(4.53.00 または 4.53.01)用に新しい Postgres スタンバイ サーバーをインストールしてください。バージョン 4.54.00 用ではありません。
インストールを実行するには、現在のバージョンの 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 primary(master): PG_MASTER=PG_MASTER_NODE_IP # IP address of the new standby node PG_STANDBY=PG_STANDBY_NODE_IP
-
Edge apigee-setup ユーティリティのインストールの説明に従って、SELinux を無効にします。
-
現在の Edge バージョンに基づいてブートストラップ スクリプトをダウンロードして実行します。
-
現在 Edge 4.53.00 を使用している場合:
Edge
bootstrap_4.53.00.shファイルを/tmp/bootstrap_4.53.00.shにダウンロードします。curl https://software.apigee.com/bootstrap_4.53.00.sh -o /tmp/bootstrap_4.53.00.sh
Edge
apigee-serviceユーティリティと依存関係をインストールします。bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWord
-
現在 Edge 4.53.01 を使用している場合:
Edge
bootstrap_4.53.01.shファイルを/tmp/bootstrap_4.53.01.shにダウンロードします。curl https://software.apigee.com/bootstrap_4.53.01.sh -o /tmp/bootstrap_4.53.01.sh
Edge
apigee-serviceユーティリティと依存関係をインストールします。bash /tmp/bootstrap_4.53.01.sh apigeeuser=uName apigeepassword=pWord
-
-
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
-
Postgres のインプレース アップグレードの実行
予備の手順
Postgres へのインプレース アップグレードを実行する前に、プライマリ ホストとスタンバイの両方で次の手順を行い、apigee-postgresql の max_locks_per_transaction プロパティを更新します。
-
存在しない場合は、/opt/apigee/customer/application/postgresql.properties ファイルを作成します。
-
このファイルのオーナー権限を apigee に変更します。
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 18 へのインプレース アップグレードを行うには、次の操作を行います。
-
プライマリ ホストで postgres をアップグレードする
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
-
プライマリ ホストでセットアップ コマンドを実行します。
apigee-service apigee-postgresql setup -f configFile
-
プライマリ ホストで構成コマンドを実行します。
apigee-service apigee-postgresql configure
-
プライマリ ホストを再起動します。
apigee-service apigee-postgresql restart
-
プライマリとして構成します。
apigee-service apigee-postgresql setup-replication-on-master -f configFile
-
プライマリ ホストが起動していることを確認します。
apigee-service apigee-postgresql wait_for_ready
-
スタンバイを停止します。
apigee-service apigee-postgresql stop
-
スタンバイをアップグレードします。
注: この手順でエラーが発生した場合は、無視してかまいません。
update.shは、誤った構成でスタンバイ サーバーを起動しようとします。Postgres のインストールが 18 にアップグレードされていれば、このエラーは無視できます。/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
-
スタンバイが停止していることを確認します。
apigee-service apigee-postgresql stop
-
古いスタンバイ構成を削除します。
rm -rf /opt/apigee/data/apigee-postgresql/
-
スタンバイ サーバーでレプリケーションを設定します。
apigee-service apigee-postgresql setup-replication-on-standby -f configFile
-
プライマリ ホストとスタンバイの両方で、ファイル
/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 を実行することもできます。
ZooKeeper 3.8.5 にアップグレードする
このリリースの Edge for Private Cloud には、ZooKeeper 3.8.5 へのアップグレードが含まれています。このアップグレードの一環として、すべての ZooKeeper データが ZooKeeper 3.8.5 に移行されます。
ZooKeeper をアップグレードする前に、ZooKeeper メンテナンス ガイドをお読みください。ほとんどの Edge 本番環境システムでは、複数のデータセンターに分散された ZooKeeper ノードのクラスタを使用します。これらのノードの一部は、ZooKeeper リーダー選出に参加するボーターとして構成され、残りはオブザーバーとして構成されます。詳細については、リーダー、フォロワー、ボーター、オブザーバーについてをご覧ください。ボーターノードがリーダーを選出し、その後、ボーターノード自体がフォロワーになります。
更新プロセス中に、リーダーノードがシャットダウンされると、ZooKeeper で一時的な遅延や書き込みエラーが発生することがあります。これは、プロキシのデプロイ オペレーションや、メッセージ プロセッサの追加や削除などの Apigee インフラストラクチャの変更など、ZooKeeper に書き込む管理オペレーションに影響する可能性があります。以下の手順に沿って ZooKeeper をアップグレードする間、Apigee のランタイム API に影響はありません(これらのランタイム API が管理 API を呼び出す場合を除く)。
大まかに、アップグレード プロセスでは各ノードのバックアップが作成されます。次に、すべてのオブザーバーとフォロワーをアップグレードし、最後にリーダーノードをアップグレードします。
バックアップを作成する
ロールバックが必要な場合に備えて、ZooKeeper のすべてのノードのバックアップを作成します。ロールバックすると、ZooKeeper がバックアップ取得時の状態に復元されます。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper backup
仮想マシンを使用していて、その機能がある場合は、復元またはロールバック(必要な場合)のために VM のスナップショットまたはバックアップを取得することもできます。
リーダー、フォロワー、オブザーバを特定する
-
ZooKeeper ノードにインストールされていない場合は、nc をインストールします。
yum install nc
-
ノードで次の nc コマンドを実行します。ここで、2181 は ZooKeeper ポートです。
echo stat | nc localhost 2181
次のような出力が表示されます。
Zookeeper version: 3.8.5-19f1842d4b6ee1f82cc8b05284959b26c6ae507d, built on 2025-09-03 21:35 UTC Clients: /[0:0:0:0:0:0:0:1]:40696[0](queued=0,recved=1,sent=0) Latency min/avg/max: 3/4.3333/6 Received: 4 Sent: 3 Connections: 1 Outstanding: 0 Zxid: 0x500000005 Mode: follower
ノードの出力の
Mode行には、ノード構成に応じて、オブザーバー、リーダー、フォロワー(リーダーではない投票者)が表示されます。
-
各 ZooKeeper ノードで手順 1 と 2 を繰り返します。
オブザーバー ノードとフォロワー ノードで ZooKeeper をアップグレードする
各オブザーバー ノードとフォロワー ノードで、次のように ZooKeeper をアップグレードします。
-
外部インターネット接続があるノードで 4.54.00 に更新する の説明に沿って、Edge for Private Cloud 4.54.00 のブートストラップをダウンロードして実行します。このプロセスは、ノードに外部インターネット接続があるかどうか、またはオフライン インストールを実行しているかどうかによって異なる場合があります。
-
ZooKeeper コンポーネントをアップグレードします。
/opt/apigee/apigee-setup/bin/update.sh -c zk -f silent-config-file
注: これらのノードに他のコンポーネント(Cassandra など)がインストールされている場合は、それらのコンポーネントも今すぐアップグレードするか(zk,cs プロファイルなど)、後でアップグレードできます。Apigee では、まず ZooKeeper のみをアップグレードし、クラスタが正しく動作していることを確認してから、他のコンポーネントをアップグレードすることをおすすめします。
-
各 ZooKeeper オブザーバー ノードとフォロワー ノードで上記の手順を繰り返します。
リーダーをシャットダウンする
すべてのオブザーバー ノードとフォロワー ノードがアップグレードされたら、リーダーをシャットダウンします。リーダーとして識別されたノードで、次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
このイベント中、新しいリーダーが選出される前に、ZooKeeper で一時的な遅延や書き込みエラーが発生する可能性があります。これは、プロキシのデプロイ アクションや、メッセージ プロセッサの追加や削除などの Apigee インフラストラクチャの変更など、ZooKeeper に書き込むオペレーションに影響する可能性があります。
新しいリーダーが選出されたことを確認する
上記のリーダー、フォロワー、オブザーバーを特定する セクションの手順に沿って、既存のリーダーが停止したときに、フォロワーから新しいリーダーが選出されていることを確認します。リーダーは、現在のリーダーとは異なるデータセンターで選出されている可能性があります。
アップグレード リーダー
上記のオブザーバー ノードとフォロワー ノードで ZooKeeper をアップグレードすると同じ手順を行います。
古いリーダーノードもアップグレードされたら、クラスタの健全性を確認し、リーダーノードがあることを確認します。
Cassandra 5.0.8 にアップグレードする
Apigee Edge for Private Cloud 4.54.00 には、Cassandra のバージョン 5.0.8 へのアップグレードが含まれています。
アップグレードとロールバック
-
Cassandra 4.0.X から Cassandra 5.0.X へのアップグレードは、ローリング プロセスです。
-
Cassandra 5.0.X から 4.0.X への直接のインプレース ロールバックはできません。レプリカまたはバックアップを使用したロールバックは複雑な手順であり、ダウンタイムやデータ損失を伴う可能性があります。ロールバックするよりも、問題のトラブルシューティングを行い、Cassandra 5.0.X にアップグレードすることをおすすめします。
-
アップグレードを試みる前に、ロールバック手順をよく理解しておくことが重要です。アップグレード中のロールバックのニュアンスを考慮することは、適切なロールバック パスを確実に利用できるようにするために重要です。
単一のデータセンター
単一のデータセンター内で Cassandra を 4.0.X から 5.0.X にアップグレードするのはシームレスですが、ロールバックは複雑で、ダウンタイムやデータ損失が発生する可能性があります。本番環境のワークロードでは、アップグレードを開始する前に、新しいデータセンターで少なくとも Cassandra ノードを使用可能な新しいデータセンターを追加することを強くおすすめします。これにより、API トラフィックのデータ損失や中断を発生させることなく、Cassandra のロールバックが可能になります。この追加のデータセンターは、アップグレードが完了すると廃止できます。
新しいデータセンターを追加することが不可能で、ロールバック機能が必要な場合は、Cassandra 4.0.X を復元するためにバックアップが必要になります。ただし、この方法ではダウンタイムとデータ損失の両方が発生する可能性があります。
複数のデータセンター
Edge for Private Cloud 4.53.00(または 4.53.01)で複数のデータセンターを運用すると、Edge for Private Cloud 4.54.00 へのアップグレード中にロールバックをより柔軟に行うことができます。
-
ロールバックには、以前の Cassandra バージョン(4.0.X)を実行しているデータセンターが少なくとも 1 つ必要です。
推奨されるアップグレード方法
-
Cassandra データセンターを一度に 1 つずつアップグレードする: まず、単一のデータセンター内の Cassandra ノードを個別にアップグレードします。1 つのデータセンター内のすべての Cassandra ノードのアップグレードを完了してから、次のデータセンターに進みます。
-
一時停止して検証する: 1 つのデータセンターをアップグレードしたら、一時停止して、プライベート クラウド クラスタ(特にアップグレードされたデータセンター)が正しく機能していることを確認します。
-
注意: 以前の Cassandra バージョンにロールバックできるのは、古いバージョンを実行しているデータセンターが 1 つ以上ある場合のみです。
-
時間制限あり: 機能の検証のために短期間(数時間推奨)一時停止することはできますが、混合バージョン状態を無期限に維持することはできません。これは、不均一な Cassandra クラスタ(異なるバージョンのノードを含む)には運用上の制限があるためです。
-
徹底的なテスト: Apigee では、次のデータセンターをアップグレードする前に、パフォーマンスと機能の包括的なテストを行うことを強くおすすめします。すべてのデータセンターがアップグレードされると、以前のバージョンにロールバックすることはできません。
ロールバック チェックポイント プロセス
単一のロールバック チェックポイント: すべてのコンポーネントが 4.54.00 にアップグレードされた場合、Cassandra のロールバックは、少なくとも 1 つの Cassandra データセンターが古いバージョンを実行し続けている場合にのみ可能です。最後の Cassandra データセンターがアップグレードされると、Edge for Private Cloud 4.54.00 へのアップグレードが完了し、ロールバックはできなくなります。
例
2 つのデータセンター(DC)クラスタについて考えてみましょう。
-
開始状態: 両方の DC の Cassandra ノードがバージョン 4.0.X である。他のすべてのノードは Edge for Private Cloud バージョン 4.54.00 にあります。DC ごとに 3 つの Cassandra ノードがあるとします。
-
DC-1 をアップグレードする: DC-1 の 3 つの Cassandra ノードを 1 つずつアップグレードします。
-
一時停止して検証する: クラスタ(特に DC-1)が正しく動作していることを確認するために一時停止します(パフォーマンスと機能を確認します)。DC-2 の Cassandra ノードを使用して、初期状態にロールバックできます。この一時停止は、Cassandra クラスタのバージョンが混在していることによる制限のため、一時的なものである必要があります。
-
DC-2 をアップグレードする: DC-2 の残りの 3 つの Cassandra ノードをアップグレードします。DC-2 のすべての Cassandra ノードが正常にアップグレードされると、Edge for Private Cloud 4.54.00 のアップグレードは完了です。
Cassandra のアップグレードの前提条件
Edge for Private Cloud 4.53.00(または 4.53.01)で Cassandra 4.0.X を実行し、次のことを確認する必要があります。
-
サーバーのデフォルトの Java バージョンとして Java 17 を設定する: Cassandra 5.0.X では Java 8 のサポートが削除されています。Cassandra 5.0.X またはその nodetool ユーティリティを Java 8 で実行することはできません。各 Cassandra ノードに Java 17 がインストールされていることを確認し、Cassandra のアップグレード手順を実行する前に Java 17 をデフォルトの Java バージョンとして設定します。これにより、nodetool コマンドが Java 17 で実行されます。
alternatives --set java JAVA_17_PATH/bin/java
アクティブなデフォルトの Java バージョンが Java 17 であることを確認します。
java -version
-
クラスタ全体が稼働しており、Cassandra 4.0.X で完全に機能しています。
-
圧縮戦略が
LeveledCompactionStrategyに設定されている(バージョン 4.53.00 または 4.53.01 へのアップグレードの前提条件)。 -
Edge for Private Cloud 4.53.00 または 4.53.01 で Cassandra 4.0.X の初期アップグレードの一部として、以下の各ステップが完了していることを確認します。
-
前回のアップグレード時に各 Cassandra ノードで
post_upgradeコマンドが実行された -
前のアップグレード中に、
drop_old_tablesコマンドが Cassandra クラスタ全体で実行されました。
-
Edge for Private Cloud 4.53.00(または 4.53.01)の使用中に、post_upgrade コマンドと drop_old_tables コマンドが Cassandra 4.0.X で実行されたかどうかが不明な場合は、4.54.00 へのアップグレードを試みる前に、これらのコマンドを安全に再実行できます。
ステップ 1: アップグレードを準備する
以下の手順は、コンポーネントのアップグレードを有効にするための Apigee の標準構成ファイルなど、通常作成する標準ファイルに加えて行うものです。
-
Apigee を使用して Cassandra をバックアップします。
-
Cassandra ノードの VM スナップショットを取得します(可能な場合)。
-
まだ構成されていない場合は、Management Server、Message Processor、Router、Qpid、Postgres などのすべての Edge for Private Cloud コンポーネントから Cassandra ノードへのポート 9042 にアクセスできるようにします。詳細については、ポートの要件をご覧ください。
ステップ 2: すべての Cassandra ノードをアップグレードする
すべての Cassandra ノードは、各データセンターで 1 つずつ、1 つのデータセンターで 1 つずつ更新する必要があります。データセンター内のノードのアップグレードの間は、数分待って、更新されたノードが完全に起動してクラスタに参加したことを確認してから、同じデータセンター内の別のノードのアップグレードに進みます。
データセンター内のすべての Cassandra ノードをアップグレードしたら、しばらく待ってから(30 分~数時間)、次のデータセンターのノードに進みます。この間に、更新されたデータセンターを徹底的に確認し、Apigee クラスタの機能指標とパフォーマンス指標に問題がないことを確認します。このステップは、Cassandra がバージョン 5.0.X にアップグレードされ、残りの Apigee コンポーネントが 4.54.00 にアップグレードされたデータセンターの安定性を確保するために重要です。
-
Cassandra ノードをアップグレードするには、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
-
ノードが更新されたら、ノードで次のコマンドを実行して、いくつかの検証を行ってから先に進みます。
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra validate_upgrade -f configFile
-
上記を実行すると、次のような出力が得られます。
Cassandra version is verified - [cqlsh 6.2.0 | Cassandra 5.0.8 | CQL spec 3.4.7 | Native protocol v5] Metadata is verified
-
Cassandra ノードで次の post_upgrade コマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra post_upgrade
-
Cassandra ノードで次の cleanup_old_index コマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra cleanup_old_index
-
次の nodetool コマンドを実行して、Cassandra ノードでインデックスを再構築します。
/opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms api_products api_products_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms app_credentials app_credentials_api_products_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms app_credentials app_credentials_organization_app_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms app_credentials app_credentials_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms app_end_user app_end_user_app_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms apps apps_app_family_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms apps apps_app_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms apps apps_app_type_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms apps apps_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms apps apps_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms apps apps_parent_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms apps apps_parent_status_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms apps apps_status_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms maps maps_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index devconnect companies companies_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index devconnect companies companies_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index devconnect companies companies_status_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index devconnect company_developers company_developers_company_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index devconnect company_developers company_developers_developer_email_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index devconnect company_developers company_developers_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index devconnect developers developers_email_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index devconnect developers developers_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index devconnect developers developers_status_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis a_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis a_org_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_a_active_rev /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_a_def_index_template /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_a_def_method_template /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_a_latest_rev /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_a_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_a_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_base_url /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_is_active /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_is_latest /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_org_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_rel_ver /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 apis_revision ar_rev_num /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_a_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_api_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_ar_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_base_url /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_org_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_r_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_r_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_res_path /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 method m_rev_num /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 resource r_a_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 resource r_api_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 resource r_ar_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 resource r_base_url /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 resource r_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 resource r_org_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 resource r_res_path /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 resource r_rev_num /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 schemas s_api_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 schemas s_ar_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 security sa_api_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 security sa_ar_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 template t_a_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 template t_a_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 template t_entity /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 template t_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 template t_org_name /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index apimodel_v2 template_auth au_api_uuid /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index dek keys usecase_index /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index audit audits audits_operation_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index audit audits audits_requesturi_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index audit audits audits_responsecode_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index audit audits audits_timestamp_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index audit audits audits_user_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index cache cache_entries cache_entries_cache_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_10_access_tokens oauth_10_access_tokens_app_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_10_access_tokens oauth_10_access_tokens_consumer_key_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_10_access_tokens oauth_10_access_tokens_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_10_access_tokens oauth_10_access_tokens_status_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_10_request_tokens oauth_10_request_tokens_consumer_key_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_10_request_tokens oauth_10_request_tokens_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_10_verifiers oauth_10_verifiers_organization_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_10_verifiers oauth_10_verifiers_request_token_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_20_access_tokens oauth_20_access_tokens_app_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_20_access_tokens oauth_20_access_tokens_client_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_20_access_tokens oauth_20_access_tokens_refresh_token_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_20_authorization_codes oauth_20_authorization_codes_client_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index kms oauth_20_authorization_codes oauth_20_authorization_codes_organization_name_idx
収益化を使用している場合は、収益化キースペースに関連する次のインデックス再構築コマンドも実行します。
/opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint limits limits_created_date_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint limits limits_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint limits limits_org_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint limits limits_updated_date_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint suspended_developer_products suspended_developer_products_created_date_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint suspended_developer_products suspended_developer_products_currency_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint suspended_developer_products suspended_developer_products_dev_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint suspended_developer_products suspended_developer_products_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint suspended_developer_products suspended_developer_products_limit_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint suspended_developer_products suspended_developer_products_org_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint suspended_developer_products suspended_developer_products_prod_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint suspended_developer_products suspended_developer_products_reason_code_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint suspended_developer_products suspended_developer_products_sub_org_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint invitations invitations_company_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint invitations invitations_created_at_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint invitations invitations_developer_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint invitations invitations_lastmodified_at_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index mint invitations invitations_org_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus triggers triggers_env_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus triggers triggers_job_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus triggers triggers_org_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus job_details job_details_job_class_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus job_details job_details_job_group_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus job_details job_details_job_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus org_triggers org_triggers_org_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus triggers_suite triggers_suite_group_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus triggers_suite triggers_suite_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index taurus triggers_suite triggers_suite_suite_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index notification notification_service_item notification_service_item_org_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index notification notification_service_item notification_service_item_status_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index notification notification_service_black_list_item notification_service_black_list_item_org_id_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index notification notification_service_black_list_item notification_service_black_list_item_to_email_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index notification notification_email_template_item notification_email_template_item_name_idx /opt/apigee/apigee-cassandra/bin/nodetool rebuild_index notification notification_email_template_item notification_email_template_item_org_id_idx
Apigee mTLS での更新
Apigee mTLS を更新する手順は次のとおりです。
更新のロールバック
更新に失敗した場合は、問題を修正してから update.sh を再度実行できます。アップデートは複数回実行でき、前回中断したところから再開されます。
障害により、以前のバージョンに更新をロールバックする必要がある場合は、4.54.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 の組み合わせノードの場合:
-
更新前 - 次の操作を行います。
-
更新後 - 次の操作を行います。
-
-
単一のルーターノードの場合:
-
更新する前に、Router にアクセスできないようにします。
-
更新後、Router をアクセス可能にします。
-
-
単一の Message Processor ノードの場合:
サイレント構成ファイルを使用する
update コマンドにサイレント構成ファイルを渡す必要があります。サイレント構成ファイルは、Edge for Private Cloud 4.53.00 または 4.53.01 のインストールに使用したファイルとほぼ同じですが、新しい Edge UI と Apigee SSO へのアップグレード(インストールされている場合)で説明されているように、UI や SSO などのコンポーネントの変更が必要になる場合があります。
外部インターネット接続があるノードで 4.54.00 に更新する
ノード上の Edge コンポーネントを更新する手順は次のとおりです。
-
存在する場合は、更新が完了するまで、Cassandra で修復オペレーションを実行するように構成された
cronジョブを無効にします。 -
root としてノードにログインし、Edge RPM をインストールします。
注: RPM のインストールには root アクセス権が必要ですが、Edge の構成は root アクセス権がなくても実行できます。
-
Edge apigee-setup ユーティリティのインストールの説明に従って、SELinux を無効にします。
-
AWS にインストールする場合 は、次の yum-configure-manager コマンドを実行します。
yum update rh-amazon-rhui-client.noarch yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
-
現在 Edge for Private Cloud 4.53.00 または 4.53.01 を使用している場合:
-
Edge
bootstrap_4.54.00.shファイルを/tmp/bootstrap_4.54.00.shにダウンロードします。curl https://software.apigee.com/bootstrap_4.54.00.sh -o /tmp/bootstrap_4.54.00.sh
-
次のコマンドを実行して、Edge 4.54.00
apigee-serviceユーティリティと依存関係をインストールします。bash /tmp/bootstrap_4.54.00.sh apigeeuser=uName apigeepassword=pWord
ここで、uName:pWord は Apigee から受け取ったユーザー名とパスワードです。pWord を省略すると、入力を求めるプロンプトが表示されます。
デフォルトでは、インストーラは Java 17 と 21 がインストールされていることを確認します。
-
次の例に示すように、
apigee-serviceを使用してapigee-setupユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
-
次の例に示すように、管理サーバーで
apigee-validateユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-validate update
-
次の例に示すように、管理サーバーで
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 コンポーネントです。有効な値は次のとおりです。-
edge: 新しい Edge UI を除くすべての Edge コンポーネント(Management Server、Message Processor、Router、QPID Server、Postgres Server) -
ldap: OpenLDAP -
ue: 新しい Edge UI -
qpid: Apigee Qpid -
ps: Apigee Postgresql -
zk: ZooKeeper -
cs: Cassandra
-
-
configFileは、4.53.00(または 4.53.01)のインストール時に Edge コンポーネントを定義するために使用した構成ファイルと同じです。
componentを「all」に設定すると、すべてのコンポーネントに対してupdate.shを実行できますが、Edge オールインワン(AIO)インストール プロファイルがある場合に限ります。次に例を示します。/opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
-
-
New Edge UI コンポーネントを実行するすべてのノードで New Edge UI コンポーネントを再起動します(まだ再起動していない場合)。
/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
-
インストールのテストの説明に沿って、Management Server で
apigee-validateユーティリティを実行して更新をテストします。
-
後で更新をロールバックすることにした場合は、4.54.00 のロールバックの手順に沿ってください。
ローカル リポジトリから 4.54.00 に更新する
Edge ノードがファイアウォールの背後にあるか、インターネット経由での Apigee リポジトリ アクセスが禁止されている場合は、Apigee リポジトリのローカル リポジトリ(つまりミラー)から更新を行うことができます。
ローカル Edge リポジトリを作成したら、ローカル リポジトリから Edge を更新する方法が 2 つあります。
-
リポジトリの .tar ファイルを作成し、.tar ファイルをノードにコピーして、.tar ファイルから Edge を更新します。
-
ローカル リポジトリを持つノードにウェブサーバーをインストールし、他のノードからアクセスできるようにします。Apigee から提供されているウェブサーバーは Nginx ですが、他のウェブサーバーを使用してもかまいません。
ローカルの 4.54.00 リポジトリから更新するには:
-
Edge apigee-setup ユーティリティのインストールの「ローカルに Apigee リポジトリを作成する」の手順で 4.54.00 リポジトリをローカルに作成します。
-
次のいずれかの方法で、ターゲット ノードに
apigee-serviceをインストールします。-
オプション 1: .tar ファイルから apigee-service をインストールする
-
ローカル リポジトリがあるノードで、次のコマンドを使用して、ローカル リポジトリを
/opt/apigee/data/apigee-mirror/apigee-4.54.00.tar.gzという名前の単一の .tar ファイルにパッケージ化します。/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
-
Edge を更新する対象のノードに .tar ファイルをコピーします。たとえば、新しいノードの
/tmpディレクトリにコピーします。 -
新しいノードで、ファイルを
/tmpディレクトリに解凍します。tar -xzf apigee-4.54.00.tar.gz
このコマンドにより、.tar ファイルを含むディレクトリに repos という名前の新しいディレクトリが作成されます。例:
/tmp/repos -
/tmp/reposから Edgeapigee-serviceユーティリティと依存関係をインストールします。bash /tmp/repos/bootstrap_4.54.00.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
コマンドに repos ディレクトリへのパスが含まれている点に注意してください。
-
-
オプション 2: Nginx ウェブサーバーを使用して apigee-service をインストールする
-
Edge apigee-setup ユーティリティのインストールの「Nginx ウェブサーバーを使用してリポジトリからインストールする」の手順に沿って、Nginx ウェブサーバーを構成します。
-
リモートノードで、Edge
bootstrap_4.54.00.shファイルを/tmp/bootstrap_4.54.00.shにダウンロードします。/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.54.00.sh -o /tmp/bootstrap_4.54.00.sh
ここで、uName:pWord は、以前にリポジトリに設定したユーザー名とパスワードです。remoteRepo は、リポジトリ ノードの IP アドレスまたは DNS 名です。
-
リモートノードで、Edge
apigee-serviceユーティリティと依存関係をインストールします。bash /tmp/bootstrap_4.54.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
-
次の例に示すように、管理サーバーで
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 コンポーネントです。有効な値は次のとおりです。-
edge: 新しい Edge UI を除くすべての Edge コンポーネント(Management Server、Message Processor、Router、QPID Server、Postgres Server) -
ldap: OpenLDAP -
ue: 新しい Edge UI -
qpid: Apigee Qpid -
ps: Apigee Postgresql -
zk: ZooKeeper -
cs: Cassandra
-
-
configFileは、4.53.00(または 4.53.01)のインストール時に Edge コンポーネントを定義するために使用した構成ファイルと同じです。注: 構成ファイルは「apigee」ユーザーが読み取れる必要があります。所有者を変更するには、次のコマンドを使用します。
chown apigee:apigee configFile
componentを「all」に設定すると、すべてのコンポーネントに対してupdate.shを実行できますが、Edge オールインワン(AIO)インストール プロファイルがある場合に限ります。次に例を示します。/opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
-
-
UI コンポーネントを実行するすべてのノードで UI コンポーネントを再起動します(まだ再起動していない場合)。
/opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart
-
インストールのテストの説明に沿って、Management Server で
apigee-validateユーティリティを実行して更新をテストします。
後で更新をロールバックすることにした場合は、4.54.00 のロールバックの手順に沿ってください。
マシンの更新順序
Edge インストールでマシンを更新する順序は重要です。以下の順序でコンポーネントをアップグレードします。
-
-c edgeオプションを使用して、すべてのデータセンターのすべての Router ノードと Message Processor ノードをアップグレードします。 -
-c edgeオプションを使用して、すべてのデータセンターのすべての Management Server ノードをアップグレードします。 -
すべてのデータセンターのすべての LDAP ノードをアップグレードします。Edge for Private Cloud 4.53.00 からアップグレードする場合は、LDAP アップグレードの特別な手順に沿って追加の手順を行う必要があります。
-
すべてのデータセンターで UI と Apigee SSO(インストールされている場合)をアップグレードします。
-
apigee-sso がインストールされていない場合: オプション 1: UI のアップグレード(Apigee SSO なし)に沿って、新しい Edge UI にアップグレードします。
-
apigee-sso がインストールされている場合: オプション 2: UI のアップグレード(Apigee SSO を使用)の手順に沿って、新しい Edge UI と Apigee SSO にアップグレードします。
-
-
Qpid の特別な手順に沿って、すべてのデータセンターのすべての Qpid コンポーネントと edge-qpid-server コンポーネントをアップグレードします。
-
Postgres の特別な手順に沿って、すべてのデータセンターのすべての Postgresql コンポーネントと edge-postgres-server コンポーネントをアップグレードします。
-
Zookeeper アップグレードの特別な手順に沿って、すべてのデータセンターのすべての Zookeeper コンポーネントをアップグレードします。
-
Cassandra のアップグレードの特別な手順に沿って、すべてのデータセンターのすべての Cassandra コンポーネントをアップグレードします。
-
Monetization を更新するための個別のステップはありません。
-c edgeオプションを指定すると更新されます。
1 ノード スタンドアロン構成のアップグレード
1 ノード スタンドアロン構成を 4.54.00 にアップグレードするには:
Edge for Private Cloud 4.53.00 からアップグレードする場合は、すべてのコンポーネントのアップグレードを開始する前に、4.53.00 から 4.54.00 へのアップグレード手順に沿って LDAP を最初にアップグレードする必要があります。
-
すべてのコンポーネントを更新します。
/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 の Edge コンポーネントを更新します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
マシン 1 で LDAP を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
-
マシン 1 で新しい Edge UI を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ue -f configFile
-
マシン 2 の Edge コンポーネントを更新します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
マシン 2 で Qpid を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
-
マシン 2 の Postgres を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
-
マシン 1 で Cassandra と ZooKeeper を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c zk,cs -f configFile
-
(
apigee-adminapiをインストールした場合)マシン 1 の apigee-adminapi ユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
5 ノード構成のアップグレード
5 ノードのインストールで次のコンポーネントを更新します。
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
-
マシン 2、3、1 の Edge コンポーネントを更新します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
マシン 1 で LDAP を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
-
マシン 1 の新しい Edge UI を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ue -f configFile
-
マシン 4、5 で Edge コンポーネントを更新します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
マシン 4、5 で Qpid を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
-
マシン 4、5 で Postgres を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
-
マシン 1、2、3 で Cassandra と ZooKeeper を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c zk,cs -f configFile
-
(
apigee-adminapiをインストールした場合)マシン 1 の apigee-adminapi ユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
9 ノードクラスタ構成のアップグレード
9 ノード クラスタ インストールで次のコンポーネントを更新します。
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
-
マシン 4、5、1 の Edge コンポーネント(router、message-processor、management-server)をこの順序で更新します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
マシン 1 で LDAP を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
-
マシン 1 の新しい Edge UI を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ue -f configFile
-
マシン 6、7、8、9 の順に Edge コンポーネントを更新します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -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、2、3 で Cassandra と ZooKeeper を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c zk,cs -f configFile
-
(
apigee-adminapiをインストールした場合)マシン 1 の apigee-adminapi ユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
13 ノードクラスタ構成のアップグレード
13 ノードのクラスタ インストール用に次のコンポーネントを更新します。
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
-
マシン 10、11、6、7 の順に Edge コンポーネントを更新します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
マシン 4 と 5 で LDAP を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
-
マシン 6、7 の新しい Edge UI を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c ue -f configFile
-
マシン 12、13、8、9 の順に Edge コンポーネントを更新します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -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
-
マシン 1、2、3 で Cassandra と ZooKeeper を更新します。
/opt/apigee/apigee-setup/bin/update.sh -c zk,cs -f configFile
-
(
apigee-adminapiがインストールされている場合)マシン 6、7 の apigee-adminapi ユーティリティを更新します。/opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
12 ノードクラスタ構成のアップグレード
12 ノードのクラスタ インストール用に次のコンポーネントを更新します。
Edge トポロジとノード番号の一覧については、インストール トポロジをご覧ください。
-
Edge(Router と Message Processor)コンポーネントを更新します。
-
データセンター 1 のマシン 2、3 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
データセンター 2 のマシン 8、9 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
-
Edge(管理サーバー)コンポーネントを更新します。
-
データセンター 1 のマシン 1 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
データセンター 2 のマシン 7 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
-
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
-
-
新しい Edge UI コンポーネントを更新します。
-
データセンター 1 のマシン 1 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c ue -f configFile
-
データセンター 2 のマシン 7 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c ue -f configFile
-
-
Edge コンポーネントを更新します。
-
データセンター 1 のマシン 4、5、6 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
データセンター 2 のマシン 10、11、12 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
-
-
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
-
-
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
-
-
Cassandra と ZooKeeper を更新します。
-
データセンター 1 のマシン 1、2、3:
/opt/apigee/apigee-setup/bin/update.sh -c zk,cs -f configFile
-
データセンター 2 のマシン 7、8、9 で、次のコマンドを実行します。
/opt/apigee/apigee-setup/bin/update.sh -c zk,cs -f configFile
-
-
(
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
-
非標準構成のアップグレード
標準以外の構成を使用している場合は、次の順序で Edge コンポーネントを更新します。
-
ルーター
-
Message Processor
-
管理サーバー
-
LDAP
-
UI(従来の UI または新しい UI)
-
SSO(該当する場合)
-
Qpid と edge-qpid-server
-
Postgres と edge-postgres-server
-
ZooKeeper
-
Cassandra
-
apigee-adminapi