AWS IoT フリートプロビジョニングを使用して AWS IoT Greengrass Core ソフトウェアをインストールする - AWS IoT Greengrass

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

AWS IoT フリートプロビジョニングを使用して AWS IoT Greengrass Core ソフトウェアをインストールする

この機能は、Greengrass nucleus コンポーネントの v2.4.0 以降に利用できます。

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

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

注記

フリートプロビジョニングプラグインは、現在、ハードウェアセキュリティモジュール (HSM) へのプライベートキーと証明書ファイルの保存をサポートしていません。HSM を使用するには、手動プロビジョニング で AWS IoT Greengrass Core ソフトウェアをインストールします

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

重要

AWS IoT Greengrass Core ソフトウェアをダウンロードする前に、コアデバイスが AWS IoT Greengrass Core ソフトウェア v2.0 をインストールして実行するための要件を満たしていることを確認してください。

前提条件

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

AWS IoT エンドポイントを取得する

の 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" }
  2. の AWS IoT 認証情報エンドポイントを取得します AWS アカウント。

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

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

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

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

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

重要

プロビジョニングクレームプライベートキーは、Greengrass コアデバイス上にある場合を含め、常に保護する必要があります。Amazon CloudWatch メトリクスとログを使用して、デバイスをプロビジョニングするためのクレーム証明書の不正使用などの誤用の兆候をモニタリングすることをお勧めします。悪用を検出した場合は、プロビジョニングクレーム証明書を無効にして、デバイスのプロビジョニングに使用できないようにします。詳細については、「AWS IoT Core デベロッパーガイド」の「AWS IoTのモニタリング」を参照してください。

に登録するデバイスの数とデバイスをより適切に管理できるように、フリートプロビジョニングテンプレートを作成するときに事前プロビジョニングフック AWS アカウントを指定できます。事前プロビジョニングフックは、デバイスが登録時に提供するテンプレートパラメータを検証する AWS Lambda 関数です。例えば、デバイス ID をデータベースと照合して、デバイスにプロビジョニングする権限があることを確認する事前プロビジョニングフックを作成することができます。詳細については、「AWS IoT Core デベロッパーガイド」の「事前プロビジョニングフック」を参照してください。

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

    scp -r claim-certs/ device-ip-address:~
  2. デバイスに 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
  3. (Linux のみ) Greengrass ルートフォルダの親の許可を設定します。

    • /greengrass をルートフォルダへの親に置き換えます。

    sudo chmod 755 /greengrass
  4. クレーム証明書を 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
  5. Amazon ルート認証局 (CA) Certificate. AWS IoT certificates のダウンロードは、デフォルトで 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

デバイス環境をセットアップする

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

Linux デバイスをセットアップする

の Linux デバイスを設定するには AWS IoT Greengrass V2
  1. Core ソフトウェアの実行に必要な Java AWS IoT Greengrass ランタイムをインストールします。Amazon Corretto または OpenJDK 長期サポートバージョンを使用することをお勧めします。バージョン 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)
  2. (オプション) デバイスにコンポーネントを実行するデフォルトのシステムユーザーおよびグループを作成します。 AWS IoT Greengrass Core ソフトウェアインストーラがインストーラ--component-default-user引数を使用してインストール中にこのユーザーとグループを作成することを許可することもできます。詳細については、「インストーラ引数」を参照してください。

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. AWS IoT Greengrass Core ソフトウェアを実行するユーザー (通常は root) に、任意のユーザーおよび任意のグループsudoで実行するアクセス許可があることを確認します。

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

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

      root ALL=(ALL:ALL) ALL
  4. (オプション) コンテナ化された Lambda 関数を実行するには、cgroups v1 を有効にし、メモリとデバイスの cgroups を有効にしてマウントする必要があります。コンテナ化された Lambda 関数を実行する予定がない場合、この手順を省略できます。

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

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

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

  5. デバイスの要件 にある要件リストで示されているように、その他の必要となる依存関係をすべてデバイスにインストールします。

Windows デバイスをセットアップする

注記

この機能は、Greengrass nucleus コンポーネントの v2.5.0 以降に利用できます。

の Windows デバイスを設定するには AWS IoT Greengrass V2
  1. Core ソフトウェアの実行に必要な Java AWS IoT Greengrass ランタイムをインストールします。Amazon Corretto または OpenJDK の長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。

  2. PATH システム変数で Java が使用可能か確認し、そうでない場合は追加します。 LocalSystem アカウントは AWS IoT Greengrass Core ソフトウェアを実行するため、ユーザーの PATH ユーザー変数の代わりに PATH システム変数に Java を追加する必要があります。以下の操作を実行します。

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

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

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

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

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

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

      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
    7. [Path] (パス) で Java インストールの bin フォルダが で見つからない場合は、[New] (新規) を選択してこれを追加した上で、[OK] を選択します。

  3. 管理者として Windows コマンドプロンプト cmd.exe を開きます。

  4. Windows デバイスの LocalSystem アカウントにデフォルトユーザーを作成します。パスワードを安全なパスワードに置き換えます。

    net user /add ggc_user password
    ヒント

    Windows の構成によっては、ユーザーのパスワードの期限切れが、将来の日付に設定されている場合があります。Greengrass アプリケーションの動作を継続させるためには、パスワードの有効期限を追跡し、その期限が切れる前に更新します。ユーザーのパスワードには、期限切れを起こさないような設定も可能です。

    • ユーザーとパスワードの有効期限を確認するには、次のコマンドを実行します。

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

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
    • wmic コマンドが非推奨の Windows 10 以降を使用している場合は、次の PowerShell コマンドを実行します。

      Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  5. Microsoft から PsExecユーティリティをダウンロードしてデバイスにインストールします。

  6. PsExec ユーティリティを使用して、デフォルトユーザーのユーザー名とパスワードを LocalSystem アカウントの Credential Manager インスタンスに保存します。パスワードを以前に設定したユーザーのパスワードに置き換えます。

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

    PsExec License Agreement が開いたら、Accept を選択し、ライセンスに同意してコマンドを実行します。

    注記

    Windows デバイスでは、 LocalSystem アカウントは Greengrass nucleus を実行します。デフォルトのユーザー情報を LocalSystem アカウントに保存するには、 PsExec ユーティリティを使用する必要があります。Credential Manager アプリケーションを使用すると、この情報は、アカウントではなく、現在ログオンしているユーザーの Windows LocalSystem アカウントに保存されます。

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

AWS IoT Greengrass Core ソフトウェアの最新バージョンは、次の場所からダウンロードできます。

注記

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

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
AWS IoT Greengrass Core ソフトウェアをダウンロードするには
  1. コアデバイスで、 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

    このソフトウェアをダウンロードすると、Greengrass Core ソフトウェアのライセンス契約に同意したものと見なされます。

  2. (オプション) 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
    2. jarsigner が起動すると、検証結果を示す出力が得られます。

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

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

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

  3. 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
  4. (オプション) 次のコマンドを実行して、 AWS IoT Greengrass Core ソフトウェアのバージョンを確認します。

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
重要

v2.4.0 より前のバージョンの Greengrass nucleus をインストールする場合は、 AWS IoT Greengrass Core ソフトウェアをインストールした後にこのフォルダを削除しないでください。 AWS IoT Greengrass Core ソフトウェアは、このフォルダ内のファイルを使用して実行します。

最新バージョンのソフトウェアをダウンロードした場合は、v2.4.0 以降をインストールし、 AWS IoT Greengrass Core ソフトウェアをインストールした後にこのフォルダを削除できます。

AWS IoT フリートプロビジョニングプラグインをダウンロードする

フリー AWS IoT トプロビジョニングプラグインの最新バージョンは、次の場所からダウンロードできます。

注記

フリー AWS IoT トプロビジョニングプラグインの特定のバージョンは、次の場所からダウンロードできます。バージョンをダウンロードするバージョンに置き換えます。フリートプロビジョニングプラグインの各バージョンの詳細については、「AWS IoT フリートプロビジョニングプラグイン変更ログ」を参照してください。

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

フリートプロビジョニングプラグインはオープンソースです。ソースコードを表示するには、「」のAWS IoT 「フリートプロビジョニングプラグイン」を参照してください GitHub。

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

    このソフトウェアをダウンロードすると、Greengrass Core ソフトウェアのライセンス契約に同意したものと見なされます。

AWS IoT Greengrass Core ソフトウェアのインストール

次のアクションを指定する引数を含むインストーラを実行します。

  • フリートプロビジョニングプラグインを使用して AWS リソースをプロビジョニングするように指定する部分設定ファイルから をインストールします。 AWS IoT Greengrass Core ソフトウェアは、デバイス上のすべての Greengrass コンポーネントの設定を指定する設定ファイルを使用します。インストーラは、提供される部分設定ファイルと、フリートプロビジョニングプラグインが作成する AWS リソースから、完全な設定ファイルを作成します。

  • コアデバイスでソフトウェアコンポーネントを実行するために ggc_user システムユーザーを使用するように指定します。Linux デバイスでは、このコマンドも ggc_group システムグループを使用するように指定し、さらにインストーラによってシステムユーザーとグループが、ユーザーに代わって作成されます。

  • Core AWS IoT Greengrass ソフトウェアを、起動時に実行されるシステムサービスとしてセットアップします。Linux デバイスでは、これは Systemd init システムが必要です。

    重要

    Windows コアデバイスでは、 AWS IoT Greengrass Core ソフトウェアをシステムサービスとして設定する必要があります。

指定できる引数の詳細については、「インストーラ引数」を参照してください。

注記

メモリが制限された AWS IoT Greengrass デバイスで実行している場合は、 AWS IoT Greengrass Core ソフトウェアが使用するメモリ量を制御できます。メモリ割り当てを制御するには、nucleus コンポーネントの jvmOptions 設定パラメータで JVM ヒープのサイズオプションを設定できます。詳細については、「JVM オプションを使用してメモリ割り当てを制御する」を参照してください。

AWS IoT Greengrass Core ソフトウェアをインストールするには
  1. AWS IoT Greengrass Core ソフトウェアのバージョンを確認します。

    • を、ソフトウェアを含むフォルダへのパスGreengrassInstallerに置き換えます。

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. テキストエディタを使用し、config.yaml という名前の設定ファイルを作成してインストーラに提供します。

    例えば、Linux ベースのシステムでは、次のコマンドを実行し、GNU nano を使用してファイルを作成できます。

    nano GreengrassInstaller/config.yaml

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

    Linux or Unix
    --- services: aws.greengrass.Nucleus: version: "2.12.6" 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.12.6" 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.12.6 を 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 パラメータを定義するテンプレート例を参照しています。

    注記

    この設定ファイルでは、使用するポートやネットワークプロキシなど、次の例で示すように、他の設定オプションをカスタマイズすることができます。詳細については、Greengrass nucleus 設定を参照してください。

    Linux or Unix
    --- services: aws.greengrass.Nucleus: version: "2.12.6" 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"
    Windows
    --- services: aws.greengrass.Nucleus: version: "2.12.6" 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 も指定する必要があります。

    Linux or Unix
    --- system: rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" services: ...
    Windows
    --- system: rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem" services: ...
  3. インストーラーを実行します。--trusted-plugin を指定してフリートプロビジョニングプラグインを提供し、--init-config を指定して設定ファイルを提供します。

    • を Greengrass ルートフォルダ/greengrass/v2に置き換えます。

    • の各インスタンスを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
    重要

    Windows コアデバイスでは、 AWS IoT Greengrass Core ソフトウェアをシステムサービスとして設定--setup-system-service trueするには を指定する必要があります。

    --setup-system-service true を指定する場合、ソフトウェアをシステムサービスとしてセットアップして実行したら、インストーラは Successfully set up Nucleus as a system service を出力します。それ以外の場合、正常にソフトウェアがインストールされていれば、インストーラはメッセージを出力しません。

    注記

    --provision true 引数なしでインストーラを実行するとき、ローカル開発ツールをデプロイするために deploy-dev-tools 引数を使用できません。Greengrass CLI をデバイスに直接デプロイする方法の情報については、「Greengrass コマンドラインインターフェイス」を参照してください。

  4. ルートフォルダのファイルを確認して、インストールを確認します。

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

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

AWS IoT Greengrass Core ソフトウェアをシステムサービスとしてインストールした場合、インストーラはソフトウェアを自動的に実行します。それ以外の場合、ソフトウェアを手動で実行する必要があります。詳細については、「AWS IoT Greengrass Core ソフトウェアを実行する」を参照してください。

ソフトウェアと を設定して使用する方法の詳細については AWS IoT Greengrass、以下を参照してください。