

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

# AWS IoT フリートプロビジョニングを使用して AWS IoT Greengrass Core ソフトウェアをインストールする
<a name="fleet-provisioning"></a>

この機能は、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の v2.4.0 以降に利用できます。

 AWS IoT フリートプロビジョニングを使用すると、初めて に接続するときに、X.509 デバイス証明書とプライベートキーを生成してデバイスに安全に配信 AWS IoT するように を設定できます AWS IoT 。 は、Amazon ルート認証局 (CA) によって署名されたクライアント証明書 AWS IoT を提供します。フリートプロビジョニングでプロビジョニングする Greengrass コアデバイスのモノのグループ、モノのタイプ、アクセス許可を指定する AWS IoT ように を設定することもできます。*プロビジョニングテンプレート*を定義して、 が各デバイスを AWS IoT プロビジョニングする方法を定義します。プロビジョニングテンプレートは、プロビジョニング時にデバイス用に作成するもの、ポリシー、および証明書リソースを指定します。詳細については、「AWS IoT Core デベロッパーガイド」の「[プロビジョニングテンプレート](https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html)」を参照してください。

AWS IoT Greengrass には、 AWS IoT フリートプロビジョニングによって作成された AWS リソースを使用して AWS IoT Greengrass Core ソフトウェアをインストールするために使用できる AWS IoT フリートプロビジョニングプラグインが用意されています。フリートプロビジョニングプラグインはクレームによるプロビジョニングを使用します。デバイスは、プロビジョニングクレーム証明書とプライベートキーを使用して、通常の操作に使用できる一意の X.509 デバイス証明書とプライベートキーを取得します。製造中に各デバイスにクレーム証明書とシークレットキーを埋め込むことができるので、お客様は後で各デバイスがオンラインになったときにデバイスをアクティブにできます。複数のデバイスに対して同じクレーム証明書とプライベートキーを使用することができます。詳細については、「AWS IoT Core デベロッパーガイド」の「[クレームによるプロビジョニング](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#claim-based)」を参照してください。

**注記**  
[Greengrass nucleus のフリートプロビジョニングプラグイン](greengrass-nucleus-component.md)は、現在、ハードウェアセキュリティモジュール (HSM) へのプライベートキーと証明書ファイルの保存をサポートしていません。[Greengrass nucleus](greengrass-nucleus-component.md) で HSM を使用するには、[手動プロビジョニングで AWS IoT Greengrass Core ソフトウェアをインストールします](manual-installation.md)。[Greengrass nucleus lite](greengrass-nucleus-lite-component.md) v2.5.0 以降では、フリートのネイティブプロビジョニングによる TPM がサポートされています。

 AWS IoT フリートプロビジョニングを使用して AWS IoT Greengrass Core ソフトウェアをインストールするには、 AWS アカウント が Greengrass コアデバイスのプロビジョニング AWS IoT に使用するリソースを にセットアップする必要があります。これらのリソースには、プロビジョニングテンプレート、クレーム証明書、および[トークン交換 IAM ロール](device-service-role.md)が含まれます。これらのリソースを作成した後、これらのリソースを再利用して、フリート内の複数のコアデバイスをプロビジョニングできます。詳細については、「[Greengrass コアデバイスの AWS IoT フリートプロビジョニングを設定する](fleet-provisioning-setup.md)」を参照してください。

**重要**  <a name="install-greengrass-core-requirements-note"></a>
 AWS IoT Greengrass Core ソフトウェアをダウンロードする前に、コアデバイスが AWS IoT Greengrass Core ソフトウェア v2.0 をインストールして実行する[要件を満た](greengrass-nucleus-component.md#greengrass-v2-requirements)していることを確認してください。

**Topics**
+ [前提条件](#fleet-provisioning-prerequisites)
+ [AWS IoT エンドポイントを取得する](#retrieve-iot-endpoints)
+ [デバイスに証明書をダウンロードする](#download-claim-certificates)
+ [デバイス環境をセットアップする](#set-up-device-environment)
+ [AWS IoT Greengrass Core ソフトウェアをダウンロードする](#download-greengrass-core-v2)
+ [AWS IoT フリートプロビジョニングプラグインをダウンロードする](#download-fleet-provisioning-plugin)
+ [AWS IoT Greengrass Core ソフトウェアのインストール](#run-greengrass-core-v2-installer-fleet)
+ [Greengrass コアデバイスの AWS IoT フリートプロビジョニングを設定する](fleet-provisioning-setup.md)
+ [AWS IoT フリートプロビジョニングプラグインを設定する](fleet-provisioning-configuration.md)
+ [AWS IoT フリートプロビジョニングプラグインの変更ログ](fleet-provisioning-changelog.md)

## 前提条件
<a name="fleet-provisioning-prerequisites"></a>

 AWS IoT フリートプロビジョニングを使用して AWS IoT Greengrass Core ソフトウェアをインストールするには、まず [Greengrass コアデバイスの AWS IoT フリートプロビジョニングを設定](fleet-provisioning-setup.md)する必要があります。これらのステップを 1 回完了すると、フリートプロビジョニングを使用して AWS IoT Greengrass Core ソフトウェアを任意の数のデバイスにインストールできます。

## AWS IoT エンドポイントを取得する
<a name="retrieve-iot-endpoints"></a>

の AWS IoT エンドポイントを取得し AWS アカウント、後で使用するために保存します。デバイスはこれらのエンドポイントを使用して AWS IoTに接続します。以下の操作を実行します。

1. のデータ AWS IoT エンドポイントを取得します AWS アカウント。

   ```
   aws iot describe-endpoint --endpoint-type iot:Data-ATS
   ```

   要求が正常に処理された場合、レスポンスは次の例のようになります。

   ```
   {
     "endpointAddress": "{{device-data-prefix}}-ats.iot.us-west-2.amazonaws.com"
   }
   ```

1. の AWS IoT 認証情報エンドポイントを取得します AWS アカウント。

   ```
   aws iot describe-endpoint --endpoint-type iot:CredentialProvider
   ```

   要求が正常に処理された場合、レスポンスは次の例のようになります。

   ```
   {
     "endpointAddress": "{{device-credentials-prefix}}.credentials.iot.us-west-2.amazonaws.com"
   }
   ```

## デバイスに証明書をダウンロードする
<a name="download-claim-certificates"></a>

デバイスは、クレーム証明書とプライベートキーを使用して、 AWS リソースをプロビジョニングし、X.509 デバイス証明書を取得するリクエストを認証します。クレーム証明書とプライベートキーは製造時にデバイスに埋め込むか、 インストール時に証明書とキーをデバイスにコピーすることができます。このセクションでは、クレーム証明書とプライベートキーをデバイスにコピーします。また、デバイスに Amazon ルート認証局 (CA) 証明書もダウンロードします。

**重要**  <a name="installation-fleet-provisioning-secure-claim-private-keys"></a>
プロビジョニングクレームプライベートキーは、Greengrass コアデバイス上にある場合を含め、常に保護する必要があります。Amazon CloudWatch メトリクスとログを使用して、デバイスをプロビジョニングするクレーム証明書の不正使用などの悪用の兆候がないか監視することをお勧めします。悪用を検出した場合は、プロビジョニングクレーム証明書を無効にして、デバイスのプロビジョニングに使用できないようにします。詳細については、「AWS IoT Core デベロッパーガイド」の「[AWS IoTのモニタリング](https://docs.aws.amazon.com/iot/latest/developerguide/monitoring_overview.html)」を参照してください。**  
に登録するデバイスの数とデバイスをより適切に管理できるように AWS アカウント、フリートプロビジョニングテンプレートを作成するときに事前プロビジョニングフックを指定できます。事前プロビジョニングフックは、デバイスが登録時に提供するテンプレートパラメータを検証する AWS Lambda 関数です。例えば、デバイス ID をデータベースと照合して、デバイスにプロビジョニングする権限があることを確認する事前プロビジョニングフックを作成することができます。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[Pre-provisioning hooks](https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html)」を参照してください。

**デバイスにクレーム証明書をダウンロードする**

1. クレーム証明書とプライベートキーをデバイスにコピーします。開発用コンピュータとデバイスで SSH と SCP が有効になっている場合、開発用コンピュータで `scp` コマンドを使用してクレーム証明書とプライベートキーを転送できます。次のコマンド例では、これらのファイルを開発用コンピュータ上の `claim-certs` という名のフォルダからデバイスに転送します。{{device-ip-address}} をデバイスの IP アドレスに置き換えます。

   ```
   scp -r claim-certs/ {{device-ip-address}}:~
   ```

1. <a name="installation-create-greengrass-root-folder"></a>デバイスに Greengrass ルートフォルダを作成します。後で AWS IoT Greengrass Core ソフトウェアをこのフォルダにインストールします。
**注記**  
Windows では、パスの長さは 260 文字に制限されています。Windows を使用している場合は、`C:\greengrass\v2` や `D:\greengrass\v2` などのルートフォルダを使用して、Greengrass コンポーネントのパスを 260 文字の制限内に留めます。

------
#### [ Linux or Unix ]
   + `{{/greengrass/v2}}` を使用するフォルダに置き換えます。

   ```
   sudo mkdir -p {{/greengrass/v2}}
   ```

------
#### [ Windows Command Prompt ]
   + {{C:\\greengrass\\v2}} を使用するフォルダに置き換えます。

   ```
   mkdir {{C:\greengrass\v2}}
   ```

------
#### [ PowerShell ]
   + {{C:\\greengrass\\v2}} を使用するフォルダに置き換えます。

   ```
   mkdir {{C:\greengrass\v2}}
   ```

------

1. <a name="installation-set-greengrass-root-folder-permissions"></a>(Linux のみ) Greengrass ルートフォルダの親の許可を設定します。
   + {{/greengrass}} をルートフォルダへの親に置き換えます。

   ```
   sudo chmod 755 {{/greengrass}}
   ```

1. クレーム証明書を Greengrass ルートフォルダに移動します。
   + `{{/greengrass/v2}}` または {{C:\\greengrass\\v2}} を Greengrass ルートフォルダに置き換えます。

------
#### [ Linux or Unix ]

   ```
   sudo mv ~/claim-certs {{/greengrass/v2}}
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   move %USERPROFILE%\claim-certs {{C:\greengrass\v2}}
   ```

------
#### [ PowerShell ]

   ```
   mv -Path ~\claim-certs -Destination {{C:\greengrass\v2}}
   ```

------

1. <a name="installation-download-root-ca-certificate"></a>Amazon ルート認証局 (CA) 証明書をダウンロードします。 AWS IoT 証明書は、デフォルトで Amazon のルート CA 証明書に関連付けられています。

------
#### [ Linux or Unix ]

   ```
   sudo curl -o {{/greengrass/v2}}/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   curl -o {{C:\greengrass\v2}}\\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

------
#### [ PowerShell ]

   ```
   iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile {{C:\greengrass\v2}}\\AmazonRootCA1.pem
   ```

------

## デバイス環境をセットアップする
<a name="set-up-device-environment"></a>

このセクションのステップに従って、 AWS IoT Greengrass コアデバイスとして使用する Linux または Windows デバイスをセットアップします。

### Linux デバイスをセットアップする
<a name="set-up-linux-device-environment"></a><a name="set-up-linux-device-environment-procedure"></a>

**の Linux デバイスを設定するには AWS IoT Greengrass V2**

1.  AWS IoT Greengrass Core ソフトウェアの実行に必要な Java ランタイムをインストールします。[Amazon Corretto](https://aws.amazon.com/corretto/) または [OpenJDK](https://openjdk.java.net/) の長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。次のコマンドは、デバイスに OpenJDK をインストールする方法を示しています。
   + Debian ベースまたは Ubuntu ベースのディストリビューションの場合:

     ```
     sudo apt install default-jdk
     ```
   + Red Hat ベースのディストリビューションの場合:

     ```
     sudo yum install java-11-openjdk-devel
     ```
   + 複数 Amazon Linux 2:

     ```
     sudo amazon-linux-extras install java-openjdk11
     ```
   + 複数 Amazon Linux 2023:

     ```
     sudo dnf install java-11-amazon-corretto -y
     ```

   インストールが完了したら、次のコマンドを実行して Java が Linux デバイスで実行されていることを確認します。

   ```
   java -version
   ```

   このコマンドは、デバイス上で実行されている Java のバージョンを出力します。例えば、Debian ベースのディストリビューションでは、出力は次のサンプルのようになります。

   ```
   openjdk version "11.0.9.1" 2020-11-04
   OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
   OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
   ```

1. (オプション) デバイスにコンポーネントを実行するデフォルトのシステムユーザーおよびグループを作成します。`--component-default-user` インストーラ引数を使用して、インストール中に AWS IoT Greengrass Core ソフトウェアインストーラにこのユーザーとグループを作成させることもできます。詳細については、「[インストーラ引数](configure-installer.md)」を参照してください。

   ```
   sudo useradd --system --create-home ggc_user
   sudo groupadd --system ggc_group
   ```

1.  AWS IoT Greengrass Core ソフトウェアを実行するユーザー (通常は `root`) に、任意のユーザーと任意のグループ`sudo`で を実行するアクセス許可があることを確認します。

   1. `/etc/sudoers` ファイルを開くには、次のコマンドを実行します。

      ```
      sudo visudo
      ```

   1. ユーザーの権限が次の例のようになっていることを確認します。

      ```
      root    ALL=(ALL:ALL) ALL
      ```

1. (オプション) [コンテナ化された Lambda 関数を実行](run-lambda-functions.md)するには、[cgroups](https://en.wikipedia.org/wiki/Cgroups) v1 を有効にし、*メモリ*と*デバイス*の cgroups を有効にしてマウントする必要があります。コンテナ化された Lambda 関数を実行する予定がない場合、この手順を省略できます。

   これらの cgroups オプションを有効にするには、次の Linux カーネルパラメータを使用してデバイスを起動します。

   ```
   cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
   ```

   デバイスのカーネルパラメータを確認および設定するための情報については、オペレーティングシステムおよびブートローダーのドキュメントを参照してください。指示に従って、カーネルパラメータを永続的に設定します。

1. [デバイスの要件](greengrass-nucleus-component.md#greengrass-v2-requirements) にある要件リストで示されているように、その他の必要となる依存関係をすべてデバイスにインストールします。

### Windows デバイスをセットアップする
<a name="set-up-windows-device-environment"></a>

**注記**  
この機能は、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の v2.5.0 以降に利用できます。<a name="set-up-windows-device-environment-procedure"></a>

**の Windows デバイスを設定するには AWS IoT Greengrass V2**

1.  AWS IoT Greengrass Core ソフトウェアの実行に必要な Java ランタイムをインストールします。[Amazon Corretto](https://aws.amazon.com/corretto/) または [OpenJDK](https://openjdk.java.net/) の長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。

1. [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) システム変数で Java が使用可能か確認し、そうでない場合は追加します。LocalSystem アカウントは AWS IoT Greengrass Core ソフトウェアを実行するため、ユーザーの PATH ユーザー変数ではなく PATH システム変数に Java を追加する必要があります。以下の操作を実行します。

   1. Windows キーを押してスタートメニューを開きます。

   1. **environment variables** を入力して、スタートメニューからシステムオプションを検索します。

   1. スタートメニューの検索結果から **[Edit the system environment variables]** (システム環境変数を編集) をクリックして、**[System properties]** (システムプロパティ) ウィンドウを開きます。

   1. **[Environment variables...]** (環境変数...) を選択して、**[Environment Variables]** (環境可変) ウィンドウを開きます。

   1. **[System variables]** (システム変数) で、**[Path]** (パス) 、**[Edit]** (編集) の順に選択します。**[Edit environment variable]** (環境変数の編集) ウィンドウでは、個別の行に各パスを表示できます。

   1. Java インストールの `bin` フォルダへのパスが存在しているかを確認します。このパスは、次の例のように表示されます。

      ```
      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
      ```

   1. **[Path]** (パス) で Java インストールの `bin` フォルダが で見つからない場合は、**[New]** (新規) を選択してこれを追加した上で、**[OK]** を選択します。

1. <a name="set-up-windows-device-environment-open-cmd"></a>管理者として Windows コマンドプロンプト `cmd.exe` を開きます。

1. <a name="set-up-windows-device-environment-create"></a>Windows デバイスの LocalSystem アカウントにデフォルトユーザーを作成します。{{パスワード}}を安全なパスワードに置き換えます。

   ```
   net user /add ggc_user {{password}}
   ```
**ヒント**  <a name="windows-password-expiration-tip"></a>
Windows の構成によっては、ユーザーのパスワードの期限切れが、将来の日付に設定されている場合があります。Greengrass アプリケーションの動作を継続させるためには、パスワードの有効期限を追跡し、その期限が切れる前に更新します。ユーザーのパスワードには、期限切れを起こさないような設定も可能です。  
ユーザーとパスワードの有効期限を確認するには、次のコマンドを実行します。  

     ```
     net user {{ggc_user}} | findstr /C:expires
     ```
ユーザーのパスワードが期限切れにならないように設定するには、次のコマンドを実行します。  

     ```
     wmic UserAccount where "Name='{{ggc_user}}'" set PasswordExpires=False
     ```
[`wmic` コマンドが廃止されている](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic) Windows 10 以降を使用している場合は、次の PowerShell コマンドを実行します。  

     ```
     Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = '{{ggc_user}}'" | Set-CimInstance -Property @{PasswordExpires="False"}
     ```

1. <a name="set-up-windows-device-psexec"></a>[PsExec ユーティリティ](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec)を Microsoft からダウンロードしてデバイスにインストールします。

1. <a name="set-up-windows-device-credentials"></a>PsExec ユーティリティを使用して、デフォルトユーザーのユーザー名とパスワードを LocalSystem アカウントの認証情報マネージャーインスタンスに格納します。{{パスワード}}を以前に設定したユーザーのパスワードに置き換えます。

   ```
   psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:{{password}}
   ```

   **PsExec License Agreement** が開いたら、**Accept** を選択し、ライセンスに同意してコマンドを実行します。
**注記**  
Windows デバイスでは、LocalSystem アカウントによって Greengrass nucleus が実行され、PsExec ユーティリティを使用して LocalSystem アカウントにデフォルトのユーザー情報を保存する必要があります。認証情報マネージャーアプリケーションを使用すると、この情報は LocalSystem アカウントではなく、現在ログオンしているユーザーの Windows アカウントに保存されます。

## AWS IoT Greengrass Core ソフトウェアをダウンロードする
<a name="download-greengrass-core-v2"></a>

 AWS IoT Greengrass Core ソフトウェアの最新バージョンは、次の場所からダウンロードできます。
+ [https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip](https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip)

**注記**  
Core AWS IoT Greengrass ソフトウェアの特定のバージョンは、次の場所からダウンロードできます。{{バージョン}}をダウンロードするバージョンに置き換えます。  

```
https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-{{version}}.zip
```

**AWS IoT Greengrass Core ソフトウェアをダウンロードするには**

1. <a name="installation-download-ggc-software-step"></a>コアデバイスで、 AWS IoT Greengrass Core ソフトウェアを という名前のファイルにダウンロードします`greengrass-nucleus-latest.zip`。

------
#### [ Linux or Unix ]

   ```
   curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
   ```

------
#### [ PowerShell ]

   ```
   iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip
   ```

------

   <a name="core-software-license"></a>このソフトウェアをダウンロードすると、[Greengrass Core ソフトウェアのライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に同意したものと見なされます。

1. <a name="verify-gg-nucleus-signature"></a>(オプション) Greengrass nucleus ソフトウェア署名を確認するには
**注記**  
この機能は、Greengrass nucleus バージョン 2.9.5 以降で使用できます。

   1. 以下のコマンドを使用して、Greengrass nucleus アーティファクトの署名を確認します。

------
#### [ Linux or Unix ]

      ```
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      ```

------
#### [ Windows Command Prompt (CMD) ]

      インストールする JDK のバージョンによって、ファイル名が異なる場合があります。インストールした JDK のバージョンに {{`jdk17.0.6_10`}} を置き換えてください。

      ```
      "C:\\Program Files\\Amazon Corretto\\{{jdk17.0.6_10}}\\bin\\jarsigner.exe" -verify -certs -verbose greengrass-nucleus-latest.zip
      ```

------
#### [ PowerShell ]

      インストールする JDK のバージョンによって、ファイル名が異なる場合があります。インストールした JDK のバージョンに {{`jdk17.0.6_10`}} を置き換えてください。

      ```
      'C:\\Program Files\\Amazon Corretto\\{{jdk17.0.6_10}}\\bin\\jarsigner.exe' -verify -certs -verbose greengrass-nucleus-latest.zip
      ```

------

   1. `jarsigner` が起動すると、検証結果を示す出力が得られます。

      1. Greengrass nucleus の zip ファイルに署名されると、出力に以下のような文が表示されます：

         ```
         jar verified.
         ```

      1. Greengrass nucleus の zip ファイルに署名されないと、出力に以下のような文が表示されます：

         ```
         jar is unsigned.
         ```

   1. Jarsigner `-certs` を `-verify` と`-verbose` オプションと一緒に提供した場合、出力には署名者証明書の詳細情報も含まれます。

1. <a name="installation-unzip-ggc-software-step"></a> AWS IoT Greengrass Core ソフトウェアをデバイスのフォルダに解凍します。{{GreengrassInstaller}} を使用するフォルダに置き換えます。

------
#### [ Linux or Unix ]

   ```
   unzip greengrass-nucleus-latest.zip -d {{GreengrassInstaller}} && rm greengrass-nucleus-latest.zip
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   mkdir {{GreengrassInstaller}} && tar -xf greengrass-nucleus-latest.zip -C {{GreengrassInstaller}} && del greengrass-nucleus-latest.zip
   ```

------
#### [ PowerShell ]

   ```
   Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\\{{GreengrassInstaller}}
   rm greengrass-nucleus-latest.zip
   ```

------

1. (オプション) 次のコマンドを実行して、 AWS IoT Greengrass Core ソフトウェアのバージョンを確認します。

   ```
   java -jar ./{{GreengrassInstaller}}/lib/Greengrass.jar --version
   ```

**重要**  <a name="installer-folder-2.4.0-warning"></a>
v2.4.0 より前のバージョンの Greengrass nucleus をインストールした場合は、 AWS IoT Greengrass Core ソフトウェアをインストールした後にこのフォルダを削除しないでください。 AWS IoT Greengrass Core ソフトウェアは、このフォルダ内のファイルを使用して実行します。  
ソフトウェアの最新バージョンをダウンロードした場合は、v2.4.0 以降をインストールし、 AWS IoT Greengrass Core ソフトウェアをインストールした後にこのフォルダを削除できます。

## AWS IoT フリートプロビジョニングプラグインをダウンロードする
<a name="download-fleet-provisioning-plugin"></a>

フリー AWS IoT トプロビジョニングプラグインの最新バージョンは、次の場所からダウンロードできます。
+ [https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar](https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar)

**注記**  
フリー AWS IoT トプロビジョニングプラグインの特定のバージョンは、次の場所からダウンロードできます。{{バージョン}}をダウンロードするバージョンに置き換えます。フリートプロビジョニングプラグインの各バージョンの詳細については、「[AWS IoT フリートプロビジョニングプラグインの変更ログ](fleet-provisioning-changelog.md)」を参照してください。  

```
https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-{{version}}.jar
```

フリートプロビジョニングプラグインはオープンソースです。ソースコードを確認する場合は、GitHub 上の「[AWS IoT フリートプロビジョニングプラグイン](https://github.com/aws-greengrass/aws-greengrass-fleet-provisioning-by-claim)」を参照してください。

**AWS IoT フリートプロビジョニングプラグインをダウンロードするには**
+ デバイスで、 AWS IoT フリートプロビジョニングプラグインを という名前のファイルにダウンロードします`aws.greengrass.FleetProvisioningByClaim.jar`。{{GreengrassInstaller}} を使用するフォルダに置き換えます。

------
#### [ Linux or Unix ]

  ```
  curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > {{GreengrassInstaller}}/aws.greengrass.FleetProvisioningByClaim.jar
  ```

------
#### [ Windows Command Prompt (CMD) ]

  ```
  curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > {{GreengrassInstaller}}/aws.greengrass.FleetProvisioningByClaim.jar
  ```

------
#### [ PowerShell ]

  ```
  iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar -OutFile {{GreengrassInstaller}}/aws.greengrass.FleetProvisioningByClaim.jar
  ```

------

  <a name="core-software-license"></a>このソフトウェアをダウンロードすると、[Greengrass Core ソフトウェアのライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に同意したものと見なされます。

## AWS IoT Greengrass Core ソフトウェアのインストール
<a name="run-greengrass-core-v2-installer-fleet"></a>

次のアクションを指定する引数を含むインストーラを実行します。
+ フリートプロビジョニングプラグインを使用して AWS リソースをプロビジョニングするように指定する部分的な設定ファイルから をインストールします。 AWS IoT Greengrass Core ソフトウェアは、デバイス上のすべての Greengrass コンポーネントの設定を指定する設定ファイルを使用します。インストーラは、提供される部分設定ファイルと、フリートプロビジョニングプラグインが作成する AWS リソースから、完全な設定ファイルを作成します。
+ <a name="install-argument-component-default-user"></a>コアデバイスでソフトウェアコンポーネントを実行するために `ggc_user` システムユーザーを使用するように指定します。Linux デバイスでは、このコマンドも `ggc_group` システムグループを使用するように指定し、さらにインストーラによってシステムユーザーとグループが、ユーザーに代わって作成されます。
+ <a name="install-argument-system-service"></a>Core AWS IoT Greengrass ソフトウェアを、起動時に実行されるシステムサービスとしてセットアップします。Linux デバイスでは、これは [Systemd](https://en.wikipedia.org/wiki/Systemd) init システムが必要です。
**重要**  <a name="windows-system-service-requirement-important-note"></a>
Windows コアデバイスでは、 AWS IoT Greengrass Core ソフトウェアをシステムサービスとして設定する必要があります。

指定できる引数の詳細については、「[インストーラ引数](configure-installer.md)」を参照してください。

**注記**  
<a name="jvm-tuning-note"></a>メモリが制限された AWS IoT Greengrass デバイスで実行している場合は、 AWS IoT Greengrass Core ソフトウェアが使用するメモリ量を制御できます。メモリ割り当てを制御するには、nucleus コンポーネントの `jvmOptions` 設定パラメータで JVM ヒープのサイズオプションを設定できます。詳細については、「[JVM オプションでメモリ割り当てを制御する](configure-greengrass-core-v2.md#jvm-tuning)」を参照してください。

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

1. <a name="installer-check-greengrass-core-software-version"></a> AWS IoT Greengrass Core ソフトウェアのバージョンを確認します。
   + {{GreengrassInstaller}} を、ソフトウェアが含まれるフォルダへのパスに置き換えます。

   ```
   java -jar ./{{GreengrassInstaller}}/lib/Greengrass.jar --version
   ```

1. テキストエディタを使用し、`config.yaml` という名前の設定ファイルを作成してインストーラに提供します。

   <a name="nano-command-intro"></a>例えば、Linux ベースのシステムでは、次のコマンドを実行し、GNU nano を使用してファイルを作成できます。

   ```
   nano {{GreengrassInstaller}}/config.yaml
   ```

   次の YAML コンテンツをファイルにコピーします。この部分設定ファイルは、フリートプロビジョニングプラグインのパラメータを指定します。指定できるオプションの詳細については、「[AWS IoT フリートプロビジョニングプラグインを設定する](fleet-provisioning-configuration.md)」を参照してください。

------
#### [ Linux or Unix ]

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "{{2.17.0}}"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "{{/greengrass/v2}}"
         awsRegion: "{{us-west-2}}"
         iotDataEndpoint: "{{device-data-prefix}}-ats.iot.{{us-west-2}}.amazonaws.com"
         iotCredentialEndpoint: "{{device-credentials-prefix}}.credentials.iot.{{us-west-2}}.amazonaws.com"
         iotRoleAlias: "{{GreengrassCoreTokenExchangeRoleAlias}}"
         provisioningTemplate: "{{GreengrassFleetProvisioningTemplate}}"
         claimCertificatePath: "{{{{/greengrass/v2}}/claim-certs/claim.pem.crt}}"
         claimCertificatePrivateKeyPath: "{{{{/greengrass/v2}}/claim-certs/claim.private.pem.key}}"
         rootCaPath: "{{/greengrass/v2}}/AmazonRootCA1.pem"
         templateParameters:
           ThingName: "{{MyGreengrassCore}}"
           ThingGroupName: "{{MyGreengrassCoreGroup}}"
   ```

------
#### [ Windows ]

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "{{2.17.0}}"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "{{C:\\greengrass\\v2}}"
         awsRegion: "{{us-west-2}}"
         iotDataEndpoint: "{{device-data-prefix}}-ats.iot.{{us-west-2}}.amazonaws.com"
         iotCredentialEndpoint: "{{device-credentials-prefix}}.credentials.iot.{{us-west-2}}.amazonaws.com"
         iotRoleAlias: "{{GreengrassCoreTokenExchangeRoleAlias}}"
         provisioningTemplate: "{{GreengrassFleetProvisioningTemplate}}"
         claimCertificatePath: "{{C:\\greengrass\\v2\\claim-certs\\claim.pem.crt}}"
         claimCertificatePrivateKeyPath: "{{C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key}}"
         rootCaPath: "{{C:\\greengrass\\v2}}\\AmazonRootCA1.pem"
         templateParameters:
           ThingName: "{{MyGreengrassCore}}"
           ThingGroupName: "{{MyGreengrassCoreGroup}}"
   ```

------

   次に、以下の操作を実行します。
   + {{2.17.0}} を AWS IoT Greengrass Core ソフトウェアのバージョンに置き換えます。
   + `{{/greengrass/v2}}` または {{C:\\greengrass\\v2}} の各インスタンスを Greengrass ルートフォルダに置き換えます。
**注記**  
Windows デバイスでは、パスセパレータは二重バックスラッシュ (`\\`) で指定する必要があります (例: `C:\\greengrass\\v2`)。
   + {{us-west-2}} を、プロビジョニングテンプレートやその他のリソースを作成した AWS リージョンに置き換えます。
   + を AWS IoT データエンドポイント`iotDataEndpoint`に置き換えます。
   + を AWS IoT 認証情報エンドポイント`iotCredentialEndpoint`に置き換えます。
   + {{GreengrassCoreTokenExchangeRoleAlias}} をトークン交換ロールエイリアスの名前に置き換えます。
   + {{GreengrassFleetProvisioningTemplate}} を、フリートプロビジョニングテンプレートの名前に置き換えます。
   + `claimCertificatePath` をデバイス上のクレーム証明書へのパスに置き換えます。
   + `claimCertificatePrivateKeyPath` をデバイス上のクレーム証明書のプライベートキーへのパスに置き換えます。
   + テンプレートパラメータ (`templateParameters`) を、デバイスのプロビジョニングに使用する値に置き換えます。この例は、`ThingName` および `ThingGroupName` パラメータを定義する[テンプレート例](fleet-provisioning-setup.md#example-fleet-provisioning-template)を参照しています。
**注記**  
この設定ファイルでは、使用するポートやネットワークプロキシなど、次の例で示すように、他の設定オプションをカスタマイズすることができます。詳細については、[Greengrass nucleus 設定](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration)を参照してください。  

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "{{2.17.0}}"
       configuration:
         mqtt:
           port: 443
         greengrassDataPlanePort: 443
         networkProxy:
           noProxyAddresses: "http://192.168.0.1,www.example.com"
           proxy:
             url: "http://my-proxy-server:1100"
             username: "Mary_Major"
             password: "pass@word1357"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "{{/greengrass/v2}}"
         awsRegion: "{{us-west-2}}"
         iotDataEndpoint: "{{device-data-prefix}}-ats.iot.{{us-west-2}}.amazonaws.com"
         iotCredentialEndpoint: "{{device-credentials-prefix}}.credentials.iot.{{us-west-2}}.amazonaws.com"
         iotRoleAlias: "{{GreengrassCoreTokenExchangeRoleAlias}}"
         provisioningTemplate: "{{GreengrassFleetProvisioningTemplate}}"
         claimCertificatePath: "{{{{/greengrass/v2}}/claim-certs/claim.pem.crt}}"
         claimCertificatePrivateKeyPath: "{{{{/greengrass/v2}}/claim-certs/claim.private.pem.key}}"
         rootCaPath: "{{/greengrass/v2}}/AmazonRootCA1.pem"
         templateParameters:
           ThingName: "{{MyGreengrassCore}}"
           ThingGroupName: "{{MyGreengrassCoreGroup}}"
         mqttPort: 443
         proxyUrl: "http://my-proxy-server:1100"
         proxyUserName: "Mary_Major"
         proxyPassword: "pass@word1357"
   ```

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "{{2.17.0}}"
       configuration:
         mqtt:
           port: 443
         greengrassDataPlanePort: 443
         networkProxy:
           noProxyAddresses: "http://192.168.0.1,www.example.com"
           proxy:
             url: "http://my-proxy-server:1100"
             username: "Mary_Major"
             password: "pass@word1357"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "{{C:\\greengrass\\v2}}"
         awsRegion: "{{us-west-2}}"
         iotDataEndpoint: "{{device-data-prefix}}-ats.iot.{{us-west-2}}.amazonaws.com"
         iotCredentialEndpoint: "{{device-credentials-prefix}}.credentials.iot.{{us-west-2}}.amazonaws.com"
         iotRoleAlias: "{{GreengrassCoreTokenExchangeRoleAlias}}"
         provisioningTemplate: "{{GreengrassFleetProvisioningTemplate}}"
         claimCertificatePath: "{{C:\\greengrass\\v2\\claim-certs\\claim.pem.crt}}"
         claimCertificatePrivateKeyPath: "{{C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key}}"
         rootCaPath: "{{C:\\greengrass\\v2}}\\AmazonRootCA1.pem"
         templateParameters:
           ThingName: "{{MyGreengrassCore}}"
           ThingGroupName: "{{MyGreengrassCoreGroup}}"
         mqttPort: 443
         proxyUrl: "http://my-proxy-server:1100"
         proxyUserName: "Mary_Major"
         proxyPassword: "pass@word1357"
   ```
HTTPS プロキシを使用するには、フリートプロビジョニングプラグインのバージョン 1.1.0 以降を使用する必要があります。次の例に示すように、さらに、`system` にある `rootCaPath` も指定する必要があります。  

   ```
   ---
   system:
     rootCaPath: "{{/greengrass/v2}}/AmazonRootCA1.pem"
   services:
     {{...}}
   ```

   ```
   ---
   system:
     rootCaPath: "{{C:\\greengrass\\v2}}\\AmazonRootCA1.pem"
   services:
     {{...}}
   ```

1. インストーラーを実行します。`--trusted-plugin` を指定してフリートプロビジョニングプラグインを提供し、`--init-config` を指定して設定ファイルを提供します。
   + `{{/greengrass/v2}}` を Greengrass のルートフォルダに置き換えます。
   + {{GreengrassInstaller}} の各インスタンスをインストーラを解凍したフォルダに置き換えます。

------
#### [ Linux or Unix ]

   ```
   sudo -E java -Droot="{{/greengrass/v2}}" -Dlog.store=FILE \
     -jar ./{{GreengrassInstaller}}/lib/Greengrass.jar \
     --trusted-plugin ./{{GreengrassInstaller}}/aws.greengrass.FleetProvisioningByClaim.jar \
     --init-config ./{{GreengrassInstaller}}/config.yaml \
     --component-default-user ggc_user:ggc_group \
     --setup-system-service true
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   java -Droot="{{C:\greengrass\v2}}" "-Dlog.store=FILE" ^
     -jar ./{{GreengrassInstaller}}/lib/Greengrass.jar ^
     --trusted-plugin ./{{GreengrassInstaller}}/aws.greengrass.FleetProvisioningByClaim.jar ^
     --init-config ./{{GreengrassInstaller}}/config.yaml ^
     --component-default-user ggc_user ^
     --setup-system-service true
   ```

------
#### [ PowerShell ]

   ```
   java -Droot="{{C:\greengrass\v2}}" "-Dlog.store=FILE" `
     -jar ./{{GreengrassInstaller}}/lib/Greengrass.jar `
     --trusted-plugin ./{{GreengrassInstaller}}/aws.greengrass.FleetProvisioningByClaim.jar `
     --init-config ./{{GreengrassInstaller}}/config.yaml `
     --component-default-user ggc_user `
     --setup-system-service true
   ```

------
**重要**  <a name="windows-system-service-installer-argument-important-note"></a>
Windows コアデバイスでは、 AWS IoT Greengrass を指定`--setup-system-service true`して Core ソフトウェアをシステムサービスとしてセットアップする必要があります。

   <a name="installer-setup-system-service-output-message"></a>`--setup-system-service true` を指定する場合、ソフトウェアをシステムサービスとしてセットアップして実行したら、インストーラは `Successfully set up Nucleus as a system service` を出力します。それ以外の場合、正常にソフトウェアがインストールされていれば、インストーラはメッセージを出力しません。
**注記**  <a name="installer-deploy-dev-tools-without-provision"></a>
`--provision true` 引数なしでインストーラを実行するとき、ローカル開発ツールをデプロイするために `deploy-dev-tools` 引数を使用できません。Greengrass CLI をデバイスに直接デプロイする方法の情報については、「[Greengrass コマンドラインインターフェイス](gg-cli.md)」を参照してください。

1. <a name="installer-verify-installation"></a>ルートフォルダのファイルを確認して、インストールを確認します。

------
#### [ Linux or Unix ]

   ```
   ls {{/greengrass/v2}}
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   dir {{C:\greengrass\v2}}
   ```

------
#### [ PowerShell ]

   ```
   ls {{C:\greengrass\v2}}
   ```

------

   インストールが正常に処理された場合、ルートフォルダには `config`、`packages`、`logs` などの複数のフォルダが含まれます。

<a name="install-greengrass-core-run-software"></a> AWS IoT Greengrass Core ソフトウェアをシステムサービスとしてインストールした場合、インストーラはソフトウェアを実行します。それ以外の場合、ソフトウェアを手動で実行する必要があります。詳細については、「[AWS IoT Greengrass Core ソフトウェアを実行する](run-greengrass-core-v2.md)」を参照してください。

<a name="install-greengrass-core-next-steps-intro"></a>ソフトウェアと を設定して使用する方法の詳細については AWS IoT Greengrass、以下を参照してください。<a name="install-greengrass-core-next-steps-links"></a>
+ [AWS IoT Greengrass Core ソフトウェアを設定する](configure-greengrass-core-v2.md)
+ [AWS IoT Greengrass コンポーネントの開発](develop-greengrass-components.md)
+ [AWS IoT Greengrass コンポーネントをデバイスにデプロイする](manage-deployments.md)
+ [Greengrass コマンドラインインターフェイス](gg-cli.md)