翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
自動リソースプロビジョニングを使用して AWS IoT Greengrass Core ソフトウェアをインストールする
AWS IoT Greengrass Core ソフトウェアには、デバイスを Greengrass コアデバイスとしてセットアップするインストーラが含まれています。デバイスをすばやくセットアップするために、インストーラはコアデバイスが動作するために必要な AWS IoT モノ、 AWS IoT モノのグループ、IAMロール、 AWS IoT ロールエイリアスをプロビジョニングできます。インストーラは、ローカル開発ツールをコアデバイスにデプロイすることもできるため、デバイスを使用してカスタムソフトウェアコンポーネントを開発とテストできます。インストーラには、これらのリソースをプロビジョニングしてデプロイを作成するための AWS 認証情報が必要です。
デバイスに AWS 認証情報を提供できない場合は、コアデバイスが動作するために必要な AWS リソースをプロビジョニングできます。開発ツールをコアデバイスにデプロイして、開発デバイスとして使用することもできます。これにより、インストーラの実行時にデバイスに与える許可を減らすことができます。詳細については、「手動リソースプロビジョニングによる AWS IoT Greengrass Core ソフトウェアのインストール」を参照してください。
重要
AWS IoT Greengrass Core ソフトウェアをダウンロードする前に、コアデバイスが AWS IoT Greengrass Core ソフトウェア v2.0 をインストールして実行するための要件を満たしていることを確認してください。
トピック
デバイス環境をセットアップする
このセクションのステップに従って、 AWS IoT Greengrass コアデバイスとして使用する Linux または Windows デバイスをセットアップします。
Linux デバイスをセットアップする
の Linux デバイスを設定するには AWS IoT Greengrass V2
-
Core ソフトウェアの実行に必要な Java AWS IoT Greengrass ランタイムをインストールします。Amazon Corretto
または OpenJDK 長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。次のコマンドは、デバイスに Open JDKをインストールする方法を示しています。 -
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)
-
-
(オプション) デバイスにコンポーネントを実行するデフォルトのシステムユーザーおよびグループを作成します。Core AWS IoT Greengrass ソフトウェアインストーラがインストーラ
--component-default-user
引数を使用して、インストール中にこのユーザーとグループを作成することを許可することもできます。詳細については、「インストーラ引数」を参照してください。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
-
Core ソフトウェアの実行に必要な Java AWS IoT Greengrass ランタイムをインストールします。Amazon Corretto
または OpenJDK 長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。 -
PATH
システム変数で Java が使用可能かどうかを確認し、使用できない場合は追加します。 LocalSystem アカウントは AWS IoT Greengrass Core ソフトウェアを実行するため、ユーザーのPATHユーザー変数の代わりに Java をPATHシステム変数に追加する必要があります。以下の操作を実行します。 -
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 アカウントにデフォルトユーザーを作成します。置換
password
安全なパスワードを使用します。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"}
-
-
Microsoft から PsExecユーティリティ
をダウンロードしてデバイスにインストールします。 -
PsExec ユーティリティを使用して、デフォルトユーザーのユーザー名とパスワードを LocalSystem アカウントの Credential Manager インスタンスに保存します。置換
password
以前に設定したユーザーのパスワードを入力します。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 認証情報を提供する
インストーラが必要な AWS リソースをプロビジョニングできるように、デバイスに AWS 認証情報を提供します。必要な許可の詳細については、「インストーラがリソースをプロビジョニングするための最小限の IAM ポリシー」を参照してください。
デバイスに AWS 認証情報を提供するには
-
インストーラがコアデバイスの AWS IoT および IAMリソースをプロビジョニングできるように、デバイスに AWS 認証情報を提供します。セキュリティを強化するために、プロビジョニングに必要な最小限のアクセス許可のみを許可する IAMロールの一時的な認証情報を取得することをお勧めします。詳細については、「インストーラがリソースをプロビジョニングするための最小限の IAM ポリシー」を参照してください。
注記
インストーラが認証情報を保存したり保管することはありません。
デバイスで、次のいずれかを実行して認証情報を取得し、 AWS IoT Greengrass Core ソフトウェアインストーラーで使用できるようにします。
-
(推奨) から一時認証情報を使用する AWS IAM Identity Center
-
IAM Identity Center からアクセスキー ID、シークレットアクセスキー、およびセッショントークンを指定します。詳細については、IAM「 Identity Center ユーザーガイド」の「一時的な認証情報の取得と更新」の「認証情報の手動更新」を参照してください。
-
次のコマンドを実行して、認証情報を AWS IoT Greengrass Core ソフトウェアに提供します。
-
-
IAM ロールから一時的なセキュリティ認証情報を使用します。
-
引き受ける IAMロールのアクセスキー ID、シークレットアクセスキー、およびセッショントークンを指定します。これらの認証情報を取得する方法の詳細については、「 IAMユーザーガイド」の「一時的なセキュリティ認証情報のリクエスト」を参照してください。
-
次のコマンドを実行して、認証情報を AWS IoT Greengrass Core ソフトウェアに提供します。
-
-
ユーザーからの長期的な認証情報IAMを使用します。
-
IAM ユーザーのアクセスキー ID とシークレットアクセスキーを指定します。後で削除するプロビジョニング用の IAM ユーザーを作成できます。ユーザーに付与するIAMポリシーについては、「」を参照してくださいインストーラがリソースをプロビジョニングするための最小限の IAM ポリシー。長期認証情報を取得する方法の詳細については、「 IAMユーザーガイド」のIAM「ユーザーのアクセスキーの管理」を参照してください。
-
次のコマンドを実行して、認証情報を AWS IoT Greengrass Core ソフトウェアに提供します。
-
(オプション) Greengrass デバイスをプロビジョニングする IAM ユーザーを作成した場合は、ユーザーを削除します。
-
(オプション) 既存のIAMユーザーからアクセスキー ID とシークレットアクセスキーを使用した場合は、ユーザーのキーを更新して無効になるようにします。詳細については、 AWS Identity and Access Management ユーザーガイドの「アクセスキーの更新」を参照してください。
-
-
AWS IoT Greengrass Core ソフトウェアをダウンロードする
AWS IoT Greengrass Core ソフトウェアの最新バージョンは、次の場所からダウンロードできます。
注記
AWS IoT Greengrass Core ソフトウェアの特定のバージョンは、次の場所からダウンロードできます。置換 version
ダウンロードする バージョン。
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 リソースを作成します。
-
コアデバイスでソフトウェアコンポーネントを実行するために
ggc_user
システムユーザーを使用するように指定します。Linux デバイスでは、このコマンドもggc_group
システムグループを使用するように指定し、さらにインストーラによってシステムユーザーとグループが、ユーザーに代わって作成されます。 -
AWS IoT Greengrass Core ソフトウェアを、起動時に実行されるシステムサービスとしてセットアップします。Linux デバイスでは、これは Systemd
init システムが必要です。 重要
Windows コアデバイスでは、 AWS IoT Greengrass Core ソフトウェアをシステムサービスとして設定する必要があります。
ローカル開発ツールで開発デバイスをセットアップするには、--deploy-dev-tools true
引数を指定します。インストール完了後、ローカル開発ツールのデプロイには最大 1 分かかることがあります。
指定できる引数の詳細については、「インストーラ引数」を参照してください。
注記
メモリが制限された AWS IoT Greengrass デバイスで実行している場合は、 AWS IoT Greengrass Core ソフトウェアが使用するメモリ量を制御できます。メモリ割り当てを制御するには、nucleus コンポーネントの jvmOptions
設定パラメータでJVMヒープサイズオプションを設定できます。詳細については、「JVM オプションを使用してメモリ割り当てを制御する」を参照してください。
AWS IoT Greengrass Core ソフトウェアをインストールするには
-
AWS IoT Greengrass Core インストーラを実行します。コマンドの引数値を次のように置き換えます。
注記
Windows では、パスの長さは 260 文字に制限されています。Windows を使用している場合は、
C:\greengrass\v2
や などのルートフォルダを使用してD:\greengrass\v2
、Greengrass コンポーネントのパスを 260 文字の制限に維持します。-
または/greengrass/v2
C:\greengrass\v2
: AWS IoT Greengrass Core ソフトウェアのインストールに使用するルートフォルダへのパス。 -
GreengrassInstaller
。 AWS IoT Greengrass Core ソフトウェアインストーラを解凍したフォルダへのパス。 -
region
。 リソースを検索または作成する AWS リージョン 。 -
MyGreengrassCore
。 Greengrass コアデバイスの AWS IoT モノの名前。モノが存在しない場合、インストーラによって作成されます。インストーラは証明書をダウンロードして、 AWS IoT モノとして認証します。詳細については、「AWS IoT Greengrass のデバイス認証と認可」を参照してください。注記
モノの名前にコロン (
:
) 記号を含むことができません。 -
MyGreengrassCoreGroup
。 Greengrass コアデバイスの AWS IoT モノグループの名前。モノグループが存在しない場合、インストーラはそのグループを作成してモノを追加します。モノグループが存在してアクティブなデプロイがある場合、コアデバイスはデプロイで指定されたソフトウェアをダウンロードして実行します。注記
モノグループ名にコロン (
:
) 記号を含めることはできません。 -
GreengrassV2IoTThingPolicy
。 Greengrass コアデバイスが AWS IoT および と通信することを許可する AWS IoT ポリシーの名前 AWS IoT Greengrass。 AWS IoT ポリシーが存在しない場合、インストーラはこの名前で許可 AWS IoT ポリシーを作成します。ユースケースに合わせて、このポリシーのアクセス許可を制限することができます。詳細については、「AWS IoT Greengrass V2 コアデバイス向けの最低限の AWS IoT ポリシー」を参照してください。 -
GreengrassV2TokenExchangeRole
。 Greengrass コアデバイスが一時的な AWS 認証情報を取得できるようにするIAMロールの名前。ロールが存在しない場合、インストーラがロールを作成し、
という名前のポリシーを作成してアタッチします。詳細については、「コアデバイスが AWS サービスとやり取りできるように認証する」を参照してください。GreengrassV2TokenExchangeRole
Access -
GreengrassCoreTokenExchangeRoleAlias
。 Greengrass コアデバイスが後で一時的な認証情報を取得できるようにするIAMロールのエイリアス。ロールエイリアスが存在しない場合、インストーラによって作成され、指定したIAMロールにポイントされます。詳細については、「コアデバイスが AWS サービスとやり取りできるように認証する」を参照してください。
重要
Windows コアデバイスでは、 AWS IoT Greengrass Core ソフトウェアをシステムサービスとして設定
--setup-system-service true
するように を指定する必要があります。インストーラが正常に処理すると、次のメッセージを印刷します。
-
--provision
を指定すると、インストーラがリソースに正しく設定した場合、Successfully configured Nucleus with provisioned resource details
を印刷します。 -
--deploy-dev-tools
を指定すると、インストーラがデプロイを正しく作成した場合、Configured Nucleus to deploy aws.greengrass.Cli component
を印刷します。 -
--setup-system-service true
を指定すると、インストーラがソフトウェアをサービスとして設定して実行した場合、Successfully set up Nucleus as a system service
を印刷します。 -
--setup-system-service true
を指定しないと、インストーラが正常に処理できてソフトウェアを実行した場合、Launched Nucleus successfully
を印刷します。
-
-
Greengrass nucleus v2.0.4 以降をインストールした場合、この手順を省略できます。ソフトウェアの最新バージョンをダウンロード済みで、v2.0.4 以降をインストールしています。
次のコマンドを実行して、 AWS IoT Greengrass Core ソフトウェアのルートフォルダに必要なファイルアクセス許可を設定します。
をインストールコマンドで指定したルートフォルダに置き換え、/greengrass/v2
/greengrass
をルートフォルダの親フォルダに置き換えます。sudo chmod 755
&& sudo chmod 755/greengrass/v2
/greengrass
AWS IoT Greengrass Core ソフトウェアをシステムサービスとしてインストールした場合、インストーラはソフトウェアを自動的に実行します。それ以外の場合、ソフトウェアを手動で実行する必要があります。詳細については、「AWS IoT Greengrass Core ソフトウェアを実行する」を参照してください。
注記
デフォルトでは、インストーラが作成するIAMロールは S3 バケット内のコンポーネントアーティファクトへのアクセスを許可しません。Amazon S3 でアーティファクトを定義するカスタムコンポーネントをデプロイするには、コアデバイスがコンポーネントアーティファクトを取得できるようにする許可をロールに追加する必要があります。詳細については、「コンポーネントのアーティファクトの S3 バケットへのアクセスを許可する」を参照してください。
コンポーネントアーティファクトに S3 バケットをまだ持っていない場合、バケットを作成した後でこれらのアクセス許可を追加できます。
ソフトウェアと を設定して使用する方法の詳細については AWS IoT Greengrass、以下を参照してください。