# データサービスやルートタスク用にRemote Engine v2.11.8以降をアップグレード

Remote Engineで実行中のデータサービスジョブやルートタスクをアンデプロイまたは再デプロイすることなく、そのエンジンをアップグレードできます。

マイクロサービスのタスクは最初のRemote Engineのシャットダウン時に自動的に停止し、新しいバージョンのRemote Engineの起動時に再開されます。

## 始める前に

* アップグレードするRemote Engineがv2.11.8以降であること。v2.11.7以前のバージョンを使用している場合は、この手順を開始する前に、[Talend Remote Engineをアップグレード](https://help.qlik.com/talend/ja-JP/installation-guide-linux/Cloud/upgrading-remote-engine-intro "Talend Remote Engineをアップグレードし、最新の機能を利用できるようにします。")の説明に従って最新バージョンにアップグレードしてください。

* サービスアカウントを使ってこの操作を実行できるよう、サービスアカウントトークン(SAT)を生成します。このトークンの生成に関する詳細は、[サービスアカウントトークンを生成](https://api.talend.com/use-cases/service-accounts/generating-service-account-token/)をご覧ください。

  サービスアカウントの使用は、本番環境での自動化で広く受け入れられているセキュリティプラクティスです。パーソナルアクセストークン(PAT)の使用は技術的には可能ですが、セキュリティ強化のため、サービスアカウントの使用をお勧めします。

  パーソナルアクセストークンの生成に関する詳細は、[パーソナルアクセストークンを生成](https://help.qlik.com/talend/ja-JP/management-console-user-guide/Cloud/cloud-access-token)をご覧ください。

* 関連するAPIエンドポイントかTalend Management ConsoleのWebページを使って、アップグレードするエンジンのIDを収集します。

  * APIエンドポイント: [Get available Remote Engines](https://api.talend.com/apis/processing/2021-03/#operation_get-all-available-remote-engines)をご覧ください。レスポンスでは、エンジンIDはidフィールドで見つかります。アップグレードするエンジンのIDをコピーし、後で使用できるよう所定の場所に保管しておきます。
  * Talend Management ConsoleのWebページ: Remote EngineのIDは、[Engine details] (エンジンの詳細)ブレードの[Overview] (概要)タブにあります。 ![\[Engine Details\] (エンジンの詳細)ダイアログボックス](https://help.qlik.com/talend/ja-JP/installation-guide-linux/Resources/images/tmc-engine-id.png)

    そのエンジンがクラスター内にある場合、このURLは次のようになります。
    ```
    https://app.eu.cloud.talend.com/tmc/processing/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/info
    ```

    このケースでは、646c790a2373b74412c26047がIDとなります。

    そのエンジンがクラスター内にある場合、このURLは次のようになります。
    ```
    https://app.eu.cloud.talend.com/tmc/processing/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/info
    ```

    `https://app.eu.cloud.talend.com/tmc/processing/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/info`
    ```
    https://app.eu.cloud.talend.com/tmc/processing/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/info
    ```

    `https://app.eu.cloud.talend.com/tmc/processing/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/info``https://app.eu.cloud.talend.com/tmc/processing/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/info`https://app.eu.cloud.talend.com/tmc/processing/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/infoこのケースでは、646c790a2373b74412c26047646c790a2373b74412c26047がIDとなります。

## 手順

1. 特定のAPIエンドポイントかTalend Management ConsoleのWeb UIを使い、Talend Management Consoleの指定エンジン論理エンティティからアップグレードするRemote Engineのペアリングを解除します。
   ### 例
   * APIエンドポイント:

     ```
     curl -X DELETE "$RE_APFIRST_ENDPOINT/processing/runtimes/remote-engines/$RE_ENGINE_ID/pairing?keepOsgiDeployments=true&keepMicroserviceDeployments=true" -H "Authorization: Bearer $RE_TOKEN"
     ```

     次のコマンド:

     * $RE\_APFIRST\_ENDPOINTはTalend Management ConsoleのURL (たとえばhttps://api.us.cloud.talend.com/)を表します。

       該当するリージョンのAPIエンドポイントURLについては、[Endpoint regions](https://api.talend.com/apis/processing/2021-03/#endpoints)をご覧ください。

     * $RE\_ENGINE\_IDは、ペアリングを解除するエンジンのIDです。

     * $RE\_TOKENは、サービスアカウントトークン(推奨)、または使用するアカウントのパーソナルアクセストークンです。

     コマンド内でこれらの変数を実際の値に置き換えるか、APIリクエストの環境で定義します。Talend API Testerを使ってAPIエンドポイントを発行する場合は、[環境を作成](https://help.qlik.com/talend/ja-JP/api-tester-user-guide/Cloud/creating-environment)で変数の定義方法をご覧ください。

     このコマンドを実行すると、新しい事前承認済みキーが自動的に生成されます。次の手順で新しいRemote Engineのペアリングに使用する必要があるため、このキーは指定の場所に保管してください。

   * Talend Management ConsoleのWebページ:[この手順](https://help.qlik.com/talend/ja-JP/remote-engine-user-guide-linux/Cloud/pairing-remote-engines-using-web-service)に従って、ペアリングを解除するエンジンの[Engine details] (エンジンの詳細)ブレードにある[Reset the connection] (接続をリセット)セクションを検索し、そのセクションで[Reset the key] (キーをリセット)をクリックしてエンジンのペアリングを解除して新しいペアリングキーを取得します。
2. エンジンのペアリングが正しく解除されるよう、少なくとも2分間待ちます。
   ### 例

   エンジンログにある次のメッセージは、ペアリングの解除が正しく完了したことを示す例です。 !["re_state": "RETIRED"という行でエンジンの状態がリタイアしたことを示すログ。](https://help.qlik.com/talend/ja-JP/installation-guide-linux/Resources/images/re-unpair-successful-log.png)
3. ペアリングが解除されたエンジンのホストマシンで、次のコマンドを使ってエンジンを停止します。
   ```
   <RemoteEngine_installation>/bin/stop
   ```

   このエンジンがシステムサービスとしてインストールされている場合は、OSの手順に従ってサービスを停止します。
4. 新しいバージョンのRemote Engineをインストールして設定します。
   * インストーラーを使ってこの新しいエンジンをインストールする場合は、キーの入力を求められた時点でも実際の事前承認済みキーはまだ使わないでください。
     * Remote Engineのインストール方法の詳細は、[Talend Remote Engineをインストール](https://help.qlik.com/talend/ja-JP/installation-guide-linux/Cloud/installing-talend-remote-engine "Talend Remote Engineでは、タスクをオンプレミスで実行できます。")をご覧ください。
     * Remote Engineとそのランタイムの設定方法は、[Remote Engineを設定](https://help.qlik.com/talend/ja-JP/remote-engine-user-guide-linux/Cloud/configuring-talend-remote-engine)と[Data Service Runnerを設定](https://help.qlik.com/talend/ja-JP/remote-engine-user-guide-linux/Cloud/configuring-data-service-runner)をご覧ください。
   * 新しいエンジンをシステムサービスとしてインストールした場合は、次の手順に進む前にサービスを停止してください。
5. 古いエンジンから新しいエンジンにデータをコピーします。

   このコピーは、データサービスのジョブタスクやルートタスクの継続的な実行に役立ちます。そのため、Remote Engineによって指定されるフォルダーに各タイプのデータをコピーします。
   1. Old\_RemoteEngine\_installation/data/のdsrunnerフォルダーをコピーし、New\_RemoteEngine\_installation/data/に貼り付けます。

      このフォルダーにはタスク情報が含まれています。
   2. Old\_RemoteEngine\_installation/data/のclsフォルダーをコピーし、New\_RemoteEngine\_installation/data/に貼り付けます。

      このフォルダーにはタスクログが含まれています。
   3. 新しいRemote EngineのNew\_RemoteEngine\_installation/data/dsrunner/exec/osgiにある各タスクフォルダーに保存されているそれぞれの.metadataファイルで、使用する新しいエンジンへのパスをアップデートします。
      ## 例

      ![osgiフォルダーコンテンツへのパス。](https://help.qlik.com/talend/ja-JP/installation-guide-linux/Resources/images/re-task-metadata-file.png)

      ![osgiフォルダーコンテンツへのパス。](https://help.qlik.com/talend/ja-JP/installation-guide-linux/Resources/images/re-task-metadata-file.png) たとえば、New\_RemoteEngine\_installation/data/dsrunner/osgi/02141bff-bffe-4975-8835-7dd9ff77b62aというフォルダーにある.metadataファイルを開き、使用するエンジンへのパスである次の行を検索します。
      ```
      "artifactFile":"Old_RemoteEngine_installation/data/dsrunner/exec/osgi/5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0/SimpleRecipientList_OSGI_0.1.0.20231303094541.kar"
      ```

      次に、これを新しいRemote Engineへのパスに置き換えます。
      ```
      "artifactFile":"New_RemoteEngine_installation/data/dsrunner/exec/osgi/5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0/SimpleRecipientList_OSGI_0.1.0.20231303094541.kar"
      ```

      Windowsの場合、これらのパスは次のようになります。
      ```
      RemoteEngine_installation\\data\\dsrunner\\exec\\osgi\\02141bff-bffe-4975-8835-7dd9ff77b62a\\ro_20230209_SimpleTimerRoute_801_OSGi_0.1.2.20232505013343.kar
      ```
   4. 新しいRemote Engineで、各実行のログファイルへのパスをアップデートします。

      この情報は、New\_RemoteEngine\_installation/data/clsに保存されているそれぞれの&lt;TASKID&gt;-&lt;EXECUTION\_ID&gt;-state.datファイルにあります。
      ## 例

      たとえば、New\_RemoteEngine\_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-state.datファイルを開き、アップデートが必要なパスである次の行を検索します。
      ```
      "currentFilePath":"Old_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-2023-05-10-14-001.json.log"
      ```

      次に、これを新しいRemote Engineの新しいパスに置き換えます。
      ```
      "currentFilePath":"New_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-2023-05-10-14-001.json.log"
      ```

      Windowsの場合、このパスは次のようになります。
      ```
      "currentFilePath":"RemoteEngine_installation\\data\\cls\\647867abadf89464d65ab1f2-02141bff-bffe-4975-8835-7dd9ff77b62a-2023-06-01-11-001.json.log
      ```
6. 新しいRemote Engineを、前に古いRemote Engineからペアリング解除したのと同じTalend Management Consoleのエンジン項目にペアリングします。
   1. New\_RemoteEngine\_installation/etc/org.talend.ipaas.rt.pairing.client.cfgファイルにある次の行で、Talend Management Consoleのペアリング用エンドポイントを指定します。
      ```
      pairing.service.url=https://pair.<your_datacenter>.cloud.talend.com
      ```

      使用する正確なエンドポイントURLについては、[Talend Cloudのアプリケーションにアクセス](https://help.qlik.com/talend/ja-JP/installation-guide-linux/Cloud/talend-cloud-application-url "Talend CloudアプリケーションへのURLはデータセンターによって異なります。")で、該当するリージョンのRemote Engineのペアリングに関するエントリーをご覧ください。

      インストーラーを使って新しいエンジンをインストールした場合は、エンドポイントが自動的に指定されているので、この手順は省略できます。
   2. New\_RemoteEngine\_installation/etc/preauthorized.key.cfgで、偽の事前承認済みキーを、この手順の最初にペアリング解除コールによって生成された実際のキーに置き換えます。

      この事前承認済みキーを紛失した場合は、Talend Management Consoleでペアリングするエンジン項目の[Remote Engine key] (Remote Engineキー)フィールドで検索してください。このキーを検索する方法は、[Remote Engineを作成](https://help.qlik.com/talend/ja-JP/remote-engine-user-guide-linux/Cloud/creating-remote-engines)をご覧ください。
7. 新しいRemote Engineを起動します。

   詳細は、[Remote Engineを起動](https://help.qlik.com/talend/ja-JP/remote-engine-user-guide-linux/Cloud/starting-talend-remote-engine)をご覧ください。

## タスクの結果

Talend Management Consoleでデータサービスやルートタスクが稼働していることをチェックして、タスクのステータスを確認します。ログもメトリクスも、そのようなすべてのタスクで利用できるようになります。