

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Greengrass V1 コアデバイスを Greengrass V2 にアップグレードします。
<a name="upgrade-v1-core-devices"></a>

アプリケーションとコンポーネントが AWS IoT Greengrass V2 コアデバイスで動作することを確認したら、本番稼働用デバイスなど、現在 v1.x を実行しているデバイスに AWS IoT Greengrass Core ソフトウェア v2.x をインストールできます。次に、Greengrass V2 コンポーネントをデプロイして、Greengrass アプリケーションをデバイスで実行します。

デバイスのフリートを V1 から V2 にアップグレードするには、アップグレードするデバイスごとに次の手順を実行します。モノグループを使用して、V2 コンポーネントをコアデバイスのフリートにデプロイできます。

**ヒント**  
デバイスのフリートに対するアップグレードプロセスを自動化するスクリプトを作成することをお勧めします。[AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) を使用してフリートを管理する場合、システムマネージャーを使用し、各デバイスにそのスクリプトを実行してフリートを V1 から V2 にアップグレードできます。  
アップグレードプロセスの最適な自動化方法については、 AWS エンタープライズサポート担当者にお問い合わせください。



## ステップ 1: AWS IoT Greengrass Core ソフトウェア v2.x をインストールする
<a name="install-v2-on-v1"></a>

次のオプションから選択して、 AWS IoT Greengrass Core ソフトウェア v2.x を V1 コアデバイスにインストールします。
+ **[より少ないステップでアップグレード](#install-v2-after-uninstall)**

  より少ない手順でアップグレードするには、v2.x ソフトウェアをインストールする前に v1.x ソフトウェアをアンインストールできます。
+ **[最小限のダウンタイムでアップグレード](#install-v2-side-by-side)**

  最小限のダウンタイムでアップグレードするには、両方のバージョンの AWS IoT Greengrass Core ソフトウェアを同時にインストールできます。 AWS IoT Greengrass Core ソフトウェア v2.x をインストールし、V2 アプリケーションが正しく動作することを確認したら、 AWS IoT Greengrass Core ソフトウェア v1.x をアンインストールします。このオプションを選択する前に、両方のバージョンの AWS IoT Greengrass Core ソフトウェアを同時に実行するために必要な追加の RAM を検討してください。

### v2.x をインストールする前に AWS IoT Greengrass Core v1.x をアンインストールする
<a name="install-v2-after-uninstall"></a>

順次アップグレードする場合は、デバイスに v2.x をインストールする前に AWS IoT Greengrass Core ソフトウェア v1.x をアンインストールします。

**AWS IoT Greengrass Core ソフトウェア v1.x をアンインストールするには**

1.  AWS IoT Greengrass Core ソフトウェア v1.x がサービスとして実行されている場合は、サービスを停止、無効化、削除する必要があります。

   1. 実行中の AWS IoT Greengrass Core ソフトウェア v1.x サービスを停止します。

      ```
      sudo systemctl stop greengrass 
      ```

   1. サービスが停止するまで待ちます。`list` コマンドを使用してサービスの状況を確認できます。

      ```
      sudo systemctl list-units --type=service | grep greengrass
      ```

   1. サービスを無効にします。

      ```
      sudo systemctl disable greengrass
      ```

   1. サービスを削除します。

      ```
      sudo rm /etc/systemd/system/greengrass.service
      ```

1.  AWS IoT Greengrass Core ソフトウェア v1.x がサービスとして実行されていない場合は、次のコマンドを使用してデーモンを停止します。{{greengrass-root}} を Greengrass ルートフォルダの名前に置き換えます。デフォルトの場所は `/greengrass` です。

   ```
   cd /{{greengrass-root}}/ggc/core/
   sudo ./greengrassd stop
   ```

1. (オプション) Greengrass ルートフォルダをバックアップし、該当する場合、[カスタム書き込みフォルダ](https://docs.aws.amazon.com/greengrass/v1/developerguide/gg-core.html#write-directory)をデバイスの別のフォルダにバックアップします。

   1. 次のコマンドを使用し、現在の Greengrass ルートフォルダを別のフォルダにコピーして、ルートフォルダを削除します。

      ```
      sudo cp -r /{{greengrass-root}} {{/path/to/greengrass-backup}}
      rm -rf /{{greengrass-root}}
      ```

   1. 次のコマンドを使用し、書き込みフォルダを別のフォルダに移動して、書き込みフォルダを削除します。

      ```
      sudo cp -r /{{write-directory}} {{/path/to/write-directory-backup}}
      rm -rf /{{write-directory}}
      ```

Greengrass nucleus の場合: [のインストール手順 AWS IoT Greengrass V2](install-greengrass-core-v2.md)を使用して、デバイスに Greengrass nucleus をインストールできます。

Greengrass nucleus lite の場合: [Greengrass nucleus lite のインストール手順](greengrass-nucleus-lite-component.md)を使用して、Greengrass nucleus lite をインストールできます。

**ヒント**  <a name="tip-migrate-reuse-core-device-identity"></a>
V1 から V2 に移行するときにコアデバイスの ID を再利用するには、手順に従って、[手動プロビジョニングで AWS IoT Greengrass Core ソフトウェアをインストールします](manual-installation.md)。まずデバイスから V1 コアソフトウェアを削除し、次に V1 コアデバイスの AWS IoT モノと証明書を再利用し、証明書の AWS IoT ポリシーを更新して v2.x ソフトウェアに必要なアクセス許可を付与します。

### 既に v1.x を実行しているデバイスに AWS IoT Greengrass Core ソフトウェア v2.x をインストールする
<a name="install-v2-side-by-side"></a>

 AWS IoT Greengrass Core ソフトウェア v1.x を既に実行しているデバイスに AWS IoT Greengrass Core v2.x ソフトウェアをインストールする場合は、次の点に注意してください。
+ V2 コアデバイスの AWS IoT モノの名前は一意である必要があります。V1 コアデバイスと同じモノ名を使用しないでください。
+  AWS IoT Greengrass Core ソフトウェア v2.x に使用するポートは、v1.x に使用するポートとは異なる必要があります。
  + 8088 以外のポートを使用するように V1 ストリームマネージャーを設定します。詳細については、「[ストリームマネージャーの設定](https://docs.aws.amazon.com/greengrass/v1/developerguide/configure-stream-manager.html)」を参照してください。
  + 8883 以外のポートを使用するように V1 MQTT ブローカを設定します。詳細については、「[ローカルメッセージング用に MQTT ポートの設定](https://docs.aws.amazon.com/greengrass/v1/developerguide/gg-core.html#config-local-mqtt-port)」を参照してください。
+ AWS IoT Greengrass V2 には、Greengrass システムサービスの名前を変更するオプションはありません。Greengrass をシステムサービスとして実行する場合、システムサービス名の不一致を避けるため、次のいずれかの操作を行う必要があります。
  + v2.x をインストールする前に、v1.x の Greengrass サービスの名前を変更します。
  + Core AWS IoT Greengrass ソフトウェア v2.x をシステムサービスなしでインストールし、 以外の名前で[ソフトウェアをシステムサービスとして手動で設定します](configure-greengrass-core-v2.md#configure-system-service)`greengrass`。

**v1.x の Greengrass サービスの名前を変更するには**

  1.  AWS IoT Greengrass Core ソフトウェア v1.x サービスを停止します。

     ```
     sudo systemctl stop greengrass
     ```

  1. サービスが停止するのを待ちます。サービスの停止に数分かかることがあります。`list-units` コマンドを実行して、サービスが停止したかどうか調べられます。

     ```
     sudo systemctl list-units --type=service | grep greengrass
     ```

  1. サービスを無効にします。

     ```
     sudo systemctl disable greengrass
     ```

  1. サービスの名前を変更します。

     ```
     sudo mv /etc/systemd/system/greengrass.service /etc/systemd/system/{{greengrass-v1}}.service
     ```

  1. サービスをリロードして起動します。

     ```
     sudo systemctl daemon-reload
     sudo systemctl reset-failed
     sudo systemctl enable greengrass-v1 
     sudo systemctl start greengrass-v1
     ```

次に、[AWS IoT Greengrass V2のインストール手順](install-greengrass-core-v2.md)を使用して、デバイスにソフトウェアをインストールします。

**ヒント**  <a name="tip-migrate-reuse-core-device-identity"></a>
V1 から V2 に移行するときにコアデバイスの ID を再利用するには、手順に従って、[手動プロビジョニングで AWS IoT Greengrass Core ソフトウェアをインストールします](manual-installation.md)。まずデバイスから V1 コアソフトウェアを削除し、次に V1 コアデバイスの AWS IoT モノと証明書を再利用し、証明書の AWS IoT ポリシーを更新して v2.x ソフトウェアに必要なアクセス許可を付与します。

## ステップ 2: コアデバイスに AWS IoT Greengrass V2 コンポーネントをデプロイする
<a name="deploy-v2-resources"></a>

 AWS IoT Greengrass Core ソフトウェア v2.x をデバイスにインストールしたら、選択したランタイムに基づいてコンポーネントをデプロイします。

### Greengrass nucleus の場合:
<a name="deploy-nucleus-components"></a>

次のリソースを含むデプロイを作成します。コンポーネントを同様なデバイスのフリートにデプロイするには、それらのデバイスを含むモノグループのデプロイを作成します。
+ V1 Lambda 関数から作成した Lambda 関数のコンポーネント。詳細については、「[AWS Lambda 関数を実行する](run-lambda-functions.md)」を参照してください。
+ V1 サブスクリプションを使用する場合、[レガシー サブスクリプション ルータ コンポーネント](legacy-subscription-router-component.md)。
+ ストリームマネージャーを使用する場合、[ストリーム マネージャー コンポーネント](stream-manager-component.md)。詳細については、「[Greengrass コアデバイスでのデータストリームの管理](manage-data-streams.md)」を参照してください。
+ ローカルシークレットを使う場合、[シークレットマネージャーコンポーネント](secret-manager-component.md)。
+ V1 コネクタを使用する場合、[AWSが提供するコネクタコンポーネント](set-up-v2-test-device.md#use-v1-connectors)。
+ Docker コンテナを使用する場合、[Docker アプリケーション マネージャー コンポーネント](docker-application-manager-component.md)。詳細については、「[Docker コンテナの実行](run-docker-container.md)」を参照してください。
+ 接続されたデバイスを使用する場合、[クライアント デバイス サポート用コンポーネント](client-device-components.md)。クライアントデバイスのサポートを有効にして、クライアントデバイスをコアデバイスに関連付ける必要があります。詳細については、「[ローカル IoT デバイスとやり取りする](interact-with-local-iot-devices.md)」を参照してください。
+ デバイスシャドウを使用する場合、[シャドウ マネージャー コンポーネント](shadow-manager-component.md)。詳細については、「[デバイスシャドウとやり取り](interact-with-shadows.md)」を参照してください。
+ Greengrass コアデバイスから Amazon CloudWatch Logs にログをアップロードする場合、[ログマネージャーコンポーネント](log-manager-component.md)。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。
+ と統合する場合は AWS IoT SiteWise、[手順に従って](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-gateway-ggv2.html) V2 コアデバイスを AWS IoT SiteWise ゲートウェイとしてセットアップします。 は、 AWS IoT SiteWise コンポーネントをデプロイするインストールスクリプト AWS IoT SiteWise を提供します。
+ カスタム機能を実装するために開発したユーザー定義のコンポーネント。

デプロイの作成と改訂の情報については、「[AWS IoT Greengrass コンポーネントをデバイスにデプロイする](manage-deployments.md)」を参照してください。

### Greengrass nucleus lite の場合:
<a name="deploy-nucleus-lite-components"></a>

[移行ガイドのステップ 2 ](set-up-v2-test-device-lite.md#lite-step-2-convert-lambda)で作成した汎用コンポーネントを Greengrass nucleus lite デバイスにデプロイします。

1. 作成したコンポーネントレシピを使用して でコンポーネントを作成する

1. 汎用コンポーネントを含む Greengrass nucleus lite デバイスを対象とするデプロイを作成する

1. コンポーネントが正しく実行されていることを確認します。