Apigee Edge 4.52.02 をロールバックする

Edge 4.52.02 への更新中にエラーが発生した場合は、 コンポーネントを確認してから、再度アップデートを試みてください。

Edge 4.52.02 は、次のメジャー リリース バージョンにロールバックできます。

  • バージョン 4.52.01
  • バージョン 4.52.00
  • バージョン 4.51.00

バージョンのロールバックには、アップグレードしたすべてのコンポーネントがロールバックされます。さらに、開始したバージョンによっては、特定のソフトウェア コンポーネントをロールバックする前に、特別な考慮事項を考慮する必要がある場合があります。次の表に、ロールバック中に特別な手順が必要になる可能性のあるソフトウェアを示します。

バージョンにロールバック ソフトウェアに関する特別な考慮事項
4.52.01 Cassandra
4.52.00 Cassandra、Zookeeper、Qpid
4.51.00 Cassandra、Zookeeper、Qpid、Postgres

ロールバックを実行するシナリオは 2 つあります。

  1. 以前のメジャー リリースまたはマイナー リリースにロールバックする。たとえば、 4.52.02 ~ 4.52.00
  2. 同じ期間内の以前のパッチリリースにロールバックする リリース。たとえば、4.52.00.02 から 4.52.00.01 へのロールバックです。

詳細については、Apigee Edge リリースをご覧ください。 プロセスをご覧ください。

ロールバックの順序

コンポーネントのロールバックは、管理サーバーを Cassandra の後ろにロールバックする場合を除き、アップグレードしたのと逆の順序で実施する必要があります。

Private Cloud 4.52.02 の一般的なロールバック順序は次のようになります。

  1. Postgres、Qpid、その他の分析関連コンポーネントをロールバックする
  2. Router と Message Processor をロールバックする
  3. Cassandra、Zookeeper のロールバック
  4. 管理サーバーをロールバック

たとえば、Cassandra クラスタ全体、すべての管理サーバー、いくつかの RMP をバージョン 4.52.01 からバージョン 4.52.02 にアップグレードし、ロールバックするとします。この場合は、次のようにします。

  1. すべての RMP を 1 つずつロールバックする
  2. バックアップを使用して Cassandra クラスタ全体をロールバックする
  3. Edge 管理サーバーノードを 1 つずつロールバックする

ロールバックを実行できるユーザー

ロールバックを実行するユーザーは、最初に Edge を更新したユーザーと同じである必要があります。または、 ユーザーです。

デフォルトでは、Edge コンポーネントはユーザー「apigee」として実行されます。場合によっては 異なるユーザーとして識別されます。たとえば、Router が次のような特権ポートにアクセスする必要がある場合、 root またはアクセス権のあるユーザーとして Router を実行する必要があります。 ポート。また、あるコンポーネントをあるユーザーとして実行し、別のコンポーネントを別のユーザーとして実行することもできます。

共通のコードを使用するコンポーネント

次の Edge コンポーネントは、共通のコードを共有しています。したがって、任意の 1 つのインスタンスを そのノード上にあるすべてのコンポーネントをロールバックする必要があります。

  • edge-management-server(Management Server)
  • edge-message-processor(Message Processor)
  • edge-router(ルーター)
  • edge-postgres-server(Postgres Server)
  • edge-qpid-server(Qpid Server)

たとえば、Management Server、Router、Message Processor を いずれかをロールバックするには、3 つすべてをロールバックする必要があります。

Cassandra のロールバック

特定の Cassandra ノードで Cassandra のメジャー アップグレードが実行されると、Cassandra はノードに格納されているデータのスキーマを変更するため、直接ロールバックは不可能になります。ロールバックする方法は 2 つあります。ロールバック元のアップグレードの状態に応じて、これらのいずれかの方法を使用します。

ロールバックの方法

クラスタ内の既存のノードを消去し、それを使用してノードを再構築する

古いバージョンの Cassandra(Cassandra 2.1.22)のクラスタ内に、完全に機能するデータセンターが少なくとも 1 つある場合は、この手順に従うことができます。Cassandra クラスタ全体をアップグレードした後にロールバックする場合は、バックアップまたは VM スナップショットを消去して復元するの手順を行います。

ロールバックの手順

  1. ロールバックするノードから開始します。 <ph type="x-smartling-placeholder">
      </ph>
    • ノードで Cassandra を停止します。
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • ノードから Cassandra ソフトウェアをアンインストールします。
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • ノードからデータ ディレクトリを削除します。
      rm -rf /opt/apigee/data/apigee-cassandra
    • ロールバックする古いバージョンの Edge for Private Cloud のブートストラップをダウンロードして実行します。

    例: 4.52.01 にロールバックするには、

    • 4.52.01 のブートストラップをダウンロードします。
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • 4.52.01 のブートストラップを実行します。
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • ノードに Cassandra を設定します。
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • 機能しているデータセンターの名前を指定して、ノードで再ビルドを実行します。
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • ロールバックするノードごとに、上記の手順を 1 つずつ繰り返します。
  2. すべてのノードがロールバックされて再ビルドされたら、次の操作を行います。 <ph type="x-smartling-placeholder">
      </ph>
    • 任意の管理サーバーノードの設定を実行します。管理サーバーがロールバックされたバージョンからのものであることを確認します。そうでない場合は、管理サーバーもロールバックします。
    • 管理サーバーを停止します。
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • 収益化を使用している場合は、収益化もアンインストールします。
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • management-server をアンインストールします。
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • 古いバージョンのブートストラップをダウンロードして実行します。たとえば、バージョン 4.52.01 のブートストラップをダウンロードして実行するには、次の手順を実行します。
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
    • 1 つの管理サーバーノードの設定を実行します。
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

再構築後の最適化

上記のステップでは、再構築中にノード内のすべてのデータがリモート データセンターからストリーミングされます。すべてのレプリカがローカル データセンターにストリーミングされたら、修復を使用してこのプロセスを最適化できます。これにより、DC 間のストリーミングが回避され、リモート DC からすべてのノードを再構築するよりも短時間で済みます。

例: ローカル データセンターに 6 つの Cassandra ノードがあるとします。デフォルトでは、Apigee のレプリケーション係数は 3 であるため、すべてのノードが 50% のデータを所有します。この場合、上記の手順に沿ってノード #1 と #4 を再ビルドできます。ノード #2、#3、#5、#6 の場合、以下の手順に沿ってバックアップを復元し、修復を実行します。

  1. ドキュメントに記載されているステップ 6 までの手順に沿って、ローカル データセンターのレプリカを再構築します。
  2. 残りのノードについては、残りのノードごとに以下の手順を 1 つずつ行います。
    • このノードで取得したバックアップを復元します(注: このバックアップは Cassandra のアップグレードを開始する前に作成されたため、古いデータが含まれている可能性があります)。
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • ノードの VM スナップショットがある場合は、Cassandra のバックアップを復元する代わりにスナップショットを復元できます。
    • バックアップが復元されたら、ノードで Cassandra サービスを起動します。
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • ノードを修復して、既存のデータセンターから最新のデータをストリーミングできるようにします。
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • 修復するノードごとに手順 3 ~ 6 を繰り返します。
で確認できます。

バックアップ/VM スナップショットを消去して復元する

Cassandra クラスタ全体をアップグレードしていて、ロールバックする場合に使用できるのは、この手順だけです。

また、Apigee バックアップはノード固有です。あるノードから取得したバックアップを別のノードに復元することはできません。Cassandra のバックアップには、ノードのメタデータ情報(IP アドレス、リングの位置など)が含まれます。

  1. クラスタ内の 1 つの Cassandra ノードから開始します。 <ph type="x-smartling-placeholder">
      </ph>
    • ノード上の Cassandra サービスを停止します。
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • ノードから Cassandra ソフトウェアをアンインストールします。
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • ノードからデータ ディレクトリを削除します。
      rm -rf /opt/apigee/data/apigee-cassandra
    • ロールバック先の Edge for Private Cloud の古いバージョンのブートストラップをダウンロードして実行します。

    例: 4.52.01 にロールバックするには

    • 4.52.01 のブートストラップをダウンロードします。
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • 4.52.01 のブートストラップを実行します。
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • ノードに Cassandra を設定します。
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • バックアップから復元するの手順に沿って、ノードにバックアップを復元します。
    • ノードで Cassandra を停止します。
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • データ ディレクトリを削除します。
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • バックアップを復元します。
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • ノードで Cassandra サービスを起動します。
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • Cassandra ノードごとに 1 つずつ手順を繰り返します。
    • ノードに対して一度に 1 つずつ修復を実行します。
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr
で確認できます。

Zookeeper 3.8.3 更新をロールバックする

バージョン 4.52.00 または 4.51.00 にロールバックする場合は、Zookeeper をロールバックする前にいくつかの特別な手順を参照する必要があります。これらの手順は、ロールバックに記載されています。

バージョン 4.52.01 にロールバックする場合は、以下の以前のメジャー リリースまたはマイナー リリースにロールバックするセクションに記載されているように、任意のソフトウェアをロールバックする場合と同様に、Zookeeper をロールバックします。

Qpid のロールバック

バージョン 4.52.00 または 4.51.00 にロールバックする場合は、Qpid をロールバックする前にいくつかの特別な手順を参照する必要があります。これらの手順は、ロールバックに記載されています。

バージョン 4.52.01 にロールバックする場合は、以前のメジャー リリースまたはマイナー リリースにロールバックするに記載されているソフトウェアをロールバックする場合と同様に、Qpid をロールバックします。

Postgres 10.17 の更新をロールバックする

バージョン 4.51.00 にロールバックする場合、Postgres をロールバックする前にいくつかの特別な手順を参照する必要があります。これらの手順は、ロールバックに記載されています。

バージョン 4.52.01 または 4.52.00 にロールバックする場合は、以下の以前のメジャー リリースまたはマイナー リリースにロールバックするセクションに記載されているように、任意のソフトウェアをロールバックする場合と同様に、Postgres をロールバックします。

以前のメジャー リリースまたはマイナー リリースにロールバックする

以前のメジャー リリースまたはマイナー リリースにロールバックするには、 component:

  1. ロールするバージョンの bootstrap.sh ファイルをダウンロードします back:

    • 4.51.00 にロールバックするには、bootstrap_4.51.00.sh をダウンロードします。
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. ロールバックするコンポーネントを停止します。 <ph type="x-smartling-placeholder">
      </ph>
    1. プロジェクト内で共通のコードを使用するコンポーネントをロールバック 次の例に示すように、それらをすべて停止する必要があります。
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
       /opt/apigee/apigee-service/bin/apigee-service edge-router stop
       /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
       /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
       /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. ノード上のその他のコンポーネントをロールバックするには、そのコンポーネントのみを停止します。 <ph type="x-smartling-placeholder">
        </ph>
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Monetization をロールバックする場合は、すべての Management Server および Message プロセッサ ノード:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. ロールバックするコンポーネントをノードでアンインストールします。 <ph type="x-smartling-placeholder">
      </ph>
    1. プロジェクトの共通のコードを使用するコンポーネントをロールバック edge-gateway コンポーネントをアンインストールして、すべてのコンポーネントをアンインストールする必要があります。 次の例をご覧ください。
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. ノード上の他のコンポーネントをロールバックするには、そのコンポーネントのみをアンインストールします。 次の例をご覧ください。
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      ここで、component はコンポーネント名です。

    3. Edge Router をロールバックするには、 /opt/nginx/conf.d ファイルと、 edge-gateway コンポーネント グループ:
      cd /opt/nginx/conf.d
       rm -rf *
  5. バージョン 4.52.02 の apigee-setup をアンインストールします。
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. バージョン 4.51.00 の apigee-service をインストールします。 その依存関係について説明します。次の例では、4.51.00 バージョンの apigee-service:
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    uNamepWord は、取得したユーザー名とパスワードです。 Apigee からデプロイできます。pWord を省略すると、入力を求められます。

    エラーが発生した場合は、ステップで bootstrap.sh ファイルをダウンロードしたことを確認してください。 1.

  7. apigee-setup をインストールします。
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. 古いバージョンのコンポーネントをインストールします。
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    ここで、component はインストールするコンポーネント、configFile は 構成ファイルが更新されます。

  9. Qpid をロールバックする場合は、iptables をフラッシュします。
    sudo iptables -F
  10. ロールバックするコンポーネントをホストするノードごとに、この手順を繰り返します。

以前のパッチリリースにロールバックする

コンポーネントを特定のパッチリリースにロールバックするには、各ノードで次の操作を行います。 コンポーネントをホストします。

  1. 特定のコンポーネント バージョンをダウンロードします。
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    ここで、component_version はインストールするコンポーネントとパッチリリースです。例:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install

    Apigee オンライン リポジトリを使用している場合は、利用可能なコンポーネントを 次のコマンドを使用します。

    yum --showduplicates list comp

    例:

    yum --showduplicates list edge-ui
  2. apigee-setup を使用してコンポーネントをインストールします。
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    例:

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    インストール時に指定するのは、バージョンではなく、コンポーネント名のみです。

  3. ロールバックするコンポーネントをホストするノードごとに、この手順を繰り返します。

mTLS をロールバックする

mTLS の更新をロールバックするには、すべてのホストで次の操作を行います。

  1. Apigee を停止します。
    apigee-all stop
  2. mTLS を停止します。
    apigee-service apigee-mtls uninstall
  3. mTLS を再インストールします。
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf