翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタムリソースプロビジョニングを使用して AWS IoT Greengrass Core ソフトウェアをインストールする
この機能は、Greengrass nucleus コンポーネントの v2.4.0 以降に利用できます。
AWS IoT Greengrass Core ソフトウェアインストーラは、必要な AWS リソースをプロビジョニングするカスタムプラグインに実装できる Java インターフェイスを提供します。プロビジョニングプラグインを開発して、カスタム X.509 クライアント証明書を使用するか、他のインストールプロセスでサポートされていない複雑なプロビジョニング手順を実行することができます。詳細については、「AWS IoT Core デベロッパーガイド」の「独自のクライアント証明書を作成する」を参照してください。
AWS IoT Greengrass Core ソフトウェアのインストール時にカスタムプロビジョニングプラグインを実行するには、インストーラに提供する JAR ファイルを作成します。インストーラはプラグインを実行し、プラグインは Greengrass コアデバイスの AWS リソースを定義するプロビジョニング設定を返します。インストーラはこの情報を使用して、デバイスで AWS IoT Greengrass Core ソフトウェアを設定します。詳細については、「カスタムプロビジョニングプラグインを開発する」を参照してください。
重要
AWS IoT Greengrass Core ソフトウェアをダウンロードする前に、コアデバイスが AWS IoT Greengrass Core ソフトウェア v2.0 をインストールして実行するための要件を満たしていることを確認してください。
トピック
前提条件
カスタムプロビジョニングで AWS IoT Greengrass Core ソフトウェアをインストールするには、以下が必要です。
-
DeviceIdentityInterface
を実装するカスタムプロビジョニングプラグインの JAR ファイル。カスタムプロビジョニングプラグインは、各システムに対する値と nucleus 設定パラメータを返す必要があります。これらの値が返されない場合には、インストール時に設定ファイルでこれらの値を提供する必要があります。詳細については、「カスタムプロビジョニングプラグインを開発する」を参照してください。
デバイス環境をセットアップする
このセクションのステップに従って、 AWS IoT Greengrass コアデバイスとして使用する Linux または Windows デバイスをセットアップします。
Linux デバイスをセットアップする
の Linux デバイスを設定するには AWS IoT Greengrass V2
-
AWS IoT Greengrass Core ソフトウェアの実行に必要な Java ランタイムをインストールします。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)
-
-
(オプション) デバイスにコンポーネントを実行するデフォルトのシステムユーザーおよびグループを作成します。インストーラ
--component-default-user
引数を使用して、インストール中に AWS IoT Greengrass Core ソフトウェアインストーラでこのユーザーとグループを作成することもできます。詳細については、「インストーラ引数」を参照してください。sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
-
AWS IoT Greengrass Core ソフトウェアを実行するユーザー (通常は
root
) に、任意のユーザーと任意のグループsudo
で を実行するアクセス許可があることを確認します。-
/etc/sudoers
ファイルを開くには、次のコマンドを実行します。sudo visudo
-
ユーザーの権限が次の例のようになっていることを確認します。
root ALL=(ALL:ALL) ALL
-
-
(オプション) コンテナ化された Lambda 関数を実行するには、cgroups
v1 を有効にし、メモリとデバイスの cgroups を有効にしてマウントする必要があります。コンテナ化された Lambda 関数を実行する予定がない場合、この手順を省略できます。 これらの cgroups オプションを有効にするには、次の Linux カーネルパラメータを使用してデバイスを起動します。
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
デバイスのカーネルパラメータを確認および設定するための情報については、オペレーティングシステムおよびブートローダーのドキュメントを参照してください。指示に従って、カーネルパラメータを永続的に設定します。
-
デバイスの要件 にある要件リストで示されているように、その他の必要となる依存関係をすべてデバイスにインストールします。
Windows デバイスをセットアップする
注記
この機能は、Greengrass nucleus コンポーネントの v2.5.0 以降に利用できます。
の Windows デバイスを設定するには AWS IoT Greengrass V2
-
AWS IoT Greengrass Core ソフトウェアの実行に必要な Java ランタイムをインストールします。Amazon Corretto
または OpenJDK の長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。 -
PATH
システム変数で Java が使用可能か確認し、そうでない場合は追加します。LocalSystem アカウントは AWS IoT Greengrass Core ソフトウェアを実行するため、ユーザーの PATH ユーザー変数の代わりに PATH システム変数に Java を追加する必要があります。以下の操作を実行します。 -
Windows キーを押してスタートメニューを開きます。
-
environment variables
を入力して、スタートメニューからシステムオプションを検索します。 -
スタートメニューの検索結果から [Edit the system environment variables] (システム環境変数を編集) をクリックして、[System properties] (システムプロパティ) ウィンドウを開きます。
-
[Environment variables...] (環境変数...) を選択して、[Environment Variables] (環境可変) ウィンドウを開きます。
-
[System variables] (システム変数) で、[Path] (パス) 、[Edit] (編集) の順に選択します。[Edit environment variable] (環境変数の編集) ウィンドウでは、個別の行に各パスを表示できます。
-
Java インストールの
bin
フォルダへのパスが存在しているかを確認します。このパスは、次の例のように表示されます。C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
-
[Path] (パス) で Java インストールの
bin
フォルダが で見つからない場合は、[New] (新規) を選択してこれを追加した上で、[OK] を選択します。
-
-
管理者として Windows コマンドプロンプト
cmd.exe
を開きます。 -
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"}
-
-
PsExec ユーティリティ
を Microsoft からダウンロードしてデバイスにインストールします。 -
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 ソフトウェアをダウンロードする
AWS IoT Greengrass Core ソフトウェアの最新バージョンは、次の場所からダウンロードできます。
注記
Core AWS IoT Greengrass ソフトウェアの特定のバージョンは、次の場所からダウンロードできます。バージョン
をダウンロードするバージョンに置き換えます。
https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-
version
.zip
AWS IoT Greengrass Core ソフトウェアをダウンロードするには
-
コアデバイスで、 AWS IoT Greengrass Core ソフトウェアを という名前のファイルにダウンロードします
greengrass-nucleus-latest.zip
。このソフトウェアをダウンロードすると、Greengrass Core ソフトウェアのライセンス契約
に同意したものと見なされます。 -
(オプション) Greengrass nucleus ソフトウェア署名を確認するには
注記
この機能は、Greengrass nucleus バージョン 2.9.5 以降で使用できます。
-
以下のコマンドを使用して、Greengrass nucleus アーティファクトの署名を確認します。
-
jarsigner
が起動すると、検証結果を示す出力が得られます。-
Greengrass nucleus の zip ファイルに署名されると、出力に以下のような文が表示されます:
jar verified.
-
Greengrass nucleus の zip ファイルに署名されないと、出力に以下のような文が表示されます:
jar is unsigned.
-
-
Jarsigner
-certs
を-verify
と-verbose
オプションと一緒に提供した場合、出力には署名者証明書の詳細情報も含まれます。
-
-
AWS IoT Greengrass Core ソフトウェアをデバイスのフォルダに解凍します。
GreengrassInstaller
を使用するフォルダに置き換えます。 -
(オプション) 次のコマンドを実行して、 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 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 ソフトウェアをインストールするには (Linux)
-
AWS IoT Greengrass Core ソフトウェアのバージョンを確認します。
-
GreengrassInstaller
を、ソフトウェアが含まれるフォルダへのパスに置き換えます。
java -jar ./
GreengrassInstaller
/lib/Greengrass.jar --version -
-
テキストエディタを使用し、
config.yaml
という名前の設定ファイルを作成してインストーラに提供します。例えば、Linux ベースのシステムでは、次のコマンドを実行し、GNU nano を使用してファイルを作成できます。
nano
GreengrassInstaller
/config.yaml次の YAML コンテンツをファイルにコピーします。
--- system: rootpath: "
" # The following values are optional. Return them from the provisioning plugin or set them here. # certificateFilePath: "" # privateKeyPath: "" # rootCaPath: "" # thingName: "" services: aws.greengrass.Nucleus: version: "/greengrass/v2
2.14.0
" configuration: # The following values are optional. Return them from the provisioning plugin or set them here. # awsRegion: "" # iotRoleAlias: "" # iotDataEndpoint: "" # iotCredEndpoint: "" com.example.CustomProvisioning: configuration: # You can specify configuration parameters to provide to your plugin. # pluginParameter: ""次に、以下の操作を実行します。
-
2.14.0
を AWS IoT Greengrass Core ソフトウェアのバージョンに置き換えます。 -
の各インスタンスを Greengrass のルートフォルダに置き換えます。/greengrass/v2
-
(オプション) システムおよび nucleus の設定値を指定します。プロビジョニングプラグインから提供されない場合には、これらの値を設定する必要があります。
-
(オプション) プロビジョニングプラグインに提供する設定パラメータを指定します。
注記
この設定ファイルでは、次の例で示されているように、使用するポートやネットワークプロキシなどの他の設定オプションをカスタマイズすることができます。詳細については、Greengrass nucleus 設定を参照してください。
--- system: rootpath: "
" # The following values are optional. Return them from the provisioning plugin or set them here. # certificateFilePath: "" # privateKeyPath: "" # rootCaPath: "" # thingName: "" services: aws.greengrass.Nucleus: version: "/greengrass/v2
2.14.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" # The following values are optional. Return them from the provisioning plugin or set them here. # awsRegion: "" # iotRoleAlias: "" # iotDataEndpoint: "" # iotCredEndpoint: "" com.example.CustomProvisioning: configuration: # You can specify configuration parameters to provide to your plugin. # pluginParameter: "" -
-
インストーラーを実行します。
--trusted-plugin
を指定してカスタムプロビジョニングプラグインを提供し、--init-config
を指定して設定ファイルを提供します。注記
Windows では、パスの長さは 260 文字に制限されています。Windows を使用している場合は、
C:\greengrass\v2
やD:\greengrass\v2
などのルートフォルダを使用して、Greengrass コンポーネントのパスを 260 文字の制限内に留めます。-
または/greengrass/v2
C:\greengrass\v2
を Greengrass ルートフォルダに置き換えます。 -
GreengrassInstaller
の各インスタンスをインストーラを解凍したフォルダに置き換えます。 -
カスタムプロビジョニングプラグイン JAR ファイルへのパスを、プラグインの JAR ファイルへのパスに置き換えます。
重要
Windows コアデバイスでは、 を指定
--setup-system-service true
して AWS IoT Greengrass Core ソフトウェアをシステムサービスとしてセットアップする必要があります。--setup-system-service true
を指定する場合、ソフトウェアをシステムサービスとしてセットアップして実行したら、インストーラはSuccessfully set up Nucleus as a system service
を出力します。それ以外の場合、正常にソフトウェアがインストールされていれば、インストーラはメッセージを出力しません。注記
--provision true
引数なしでインストーラを実行するとき、ローカル開発ツールをデプロイするためにdeploy-dev-tools
引数を使用できません。Greengrass CLI をデバイスに直接デプロイする方法の情報については、「Greengrass コマンドラインインターフェイス」を参照してください。 -
-
ルートフォルダのファイルを確認して、インストールを確認します。
インストールが正常に処理された場合、ルートフォルダには
config
、packages
、logs
などの複数のフォルダが含まれます。
AWS IoT Greengrass Core ソフトウェアをシステムサービスとしてインストールした場合、インストーラによってソフトウェアが実行されます。それ以外の場合、ソフトウェアを手動で実行する必要があります。詳細については、「AWS IoT Greengrass Core ソフトウェアを実行する」を参照してください。
ソフトウェアと を設定および使用する方法の詳細については AWS IoT Greengrass、以下を参照してください。