AWS IoT Greengrass バージョン 1 のドキュメントを表示しています。AWS IoT Greengrass バージョン 2 は AWS IoT Greengrass の最新メジャーバージョンです。AWS IoT Greengrass バージョン 2 の使用の詳細についてはAWS IoT Greengrass V2 開発者ガイドを参照してください。
「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
クイックスタート: Greengrass デバイスのセットアップ
Greengrass デバイスのセットアップは、コアデバイスを数分でセットアップし、AWS IoT Greengrass の使用を開始できるようにするスクリプトです。このスクリプトは以下の目的で使用します。
-
デバイスを設定し、AWS IoT Greengrass Core ソフトウェアをインストールします。
-
クラウドベースのリソースを設定します。
-
必要に応じて、Lambda から AWS IoT に MQTT メッセージを送信する Hello World AWS IoT Greengrass コア 関数を使用して Greengrass グループをデプロイします。これにより、次の図に示す Greengrass 環境が設定されます。
Requirements
Greengrass デバイスのセットアップには、次の要件があります。
-
コアデバイスは、サポートされているプラットフォーム.を使用する必要があります。デバイスには、
apt
、yum
、またはopkg
. の適切なパッケージマネージャーがインストールされている必要があります。 -
スクリプトを実行する Linux ユーザーは、 として実行するアクセス許可を持っている必要があります。
sudo
. -
アカウントの認証情報を指定する必要があります。AWS詳細については、「」を参照してください。AWS アカウント認証情報を提供する.
注記 Greengrass デバイスのセットアップは、最新バージョンの AWS IoT Greengrass Core ソフトウェアをデバイスにインストールします。AWS IoT Greengrass Core ソフトウェアをインストールすると、Greengrass Core ソフトウェアのライセンス契約
.に同意したと見なされます。
Greengrass デバイスのセットアップを実行する
Greengrass デバイスのセットアップは、ほんの数ステップで実行できます。AWS アカウント認証情報を入力すると、スクリプトによって Greengrass コアデバイスがプロビジョニングされ、Greengrass グループが数分でデプロイされます。ターゲットデバイスのターミナルウィンドウで次のコマンドを実行します。
次のステップでは、スクリプトを対話モードで実行する方法を示します。対話モードでは、各入力値を入力または受け入れるように求められます。スクリプトをサイレントで実行する方法については、「」を参照してください。Greengrass デバイスのセットアップをサイレントモードで実行する.
-
認証情報を提供してください。この手順では、一時的なセキュリティ認証情報を環境変数として提供することを前提としています。
export AWS_ACCESS_KEY_ID=
AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
注記 Greengrass デバイスのセットアップを Raspbian または OpenWrt プラットフォームで実行している場合は、これらのコマンドのコピーを作成してください。デバイスを再起動した後、それらを再度指定する必要があります。
-
スクリプトをダウンロードして起動します。
wget
またはcurl
を使用してスクリプトをダウンロードできます。-
wget
:wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass-interactive
-
curl
:curl https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh > gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass-interactive
-
入力値.を求めるコマンドプロンプトに進みます。Enter] キーを押してデフォルト値を使用するか、カスタム値を入力して [Enter.] キーを押します。
スクリプトは、次のようなステータスメッセージを端末に書き込みます。
-
コアデバイスが Raspbian または OpenWrt を実行している場合は、プロンプトが表示されたらデバイスを再起動し、認証情報を入力して、スクリプトを再起動します。
-
デバイスを再起動するように求められたら、次のいずれかのコマンドを実行します。
-
Raspbian プラットフォームの場合:
sudo reboot
-
プラットフォームの場合:OpenWrt
reboot
-
デバイスの起動後、ターミナルを開き、環境変数として認証情報を入力します。
export AWS_ACCESS_KEY_ID=
AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
-
スクリプトを再起動します。
sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass-interactive
-
前回のセッションからの入力値を使用するか、新規インストールを開始するかのプロンプトが表示されたら、
yes
と入力して入力値を再利用します。注記 再起動が必要なプラットフォームでは、認証情報を除く、前のセッションからの入力値が一時的に
GreengrassDeviceSetup.config.info
ファイルに保存されます。
セットアップが完了すると、ターミナルには、次のような成功ステータスメッセージが表示されます。
-
-
指定した入力値を使用してスクリプトが設定する、新しい Greengrass グループを確認します。
-
コンピュータで AWS マネジメントコンソール
にサインインし、AWS IoT コンソール. を開きます。 注記 コンソールで選択した AWS リージョンが、Greengrass 環境の設定に使用したリージョンと同じであることを確認します。デフォルトでは、リージョンは です。米国西部 (オレゴン).
-
ナビゲーションペインで、[Greengrass]、[Classic (V1)]、[Groups] の順に選択し、新しく作成したグループを見つけます。
-
-
Hello World Lambda 関数を含めた場合、Greengrass デバイスセットアップは、Greengrass グループをコアデバイスにデプロイします。関数をテストする場合、またはグループから Lambda 関数を削除する方法については、開始方法チュートリアルのモジュール 3-1 の「Lambda」に進みます。Lambda 関数がデバイスがコアデバイスで実行されていることを確認する
注記 コンソールで選択した AWS リージョンが、Greengrass 環境の設定に使用したリージョンと同じであることを確認します。デフォルトでは、リージョンは です。米国西部 (オレゴン).
Hello World Lambda 関数を含めなかった場合は、独自の Lambda 関数を作成するか、Greengrass の他の機能を試すことができます。たとえば、Docker アプリケーションデプロイ コネクタをグループに追加し、それを使用して Docker コンテナをコアデバイスにデプロイできます。
問題のトラブルシューティング
次の情報は、AWS IoT Greengrass デバイスのセットアップに関する問題のトラブルシューティングに使用できます。
エラー: Python (python3.7) が見つかりません。インストールしようとしている
解決策:Amazon EC2 Amazon EC2 このエラーは、Python が /usr/bin/python3.7
フォルダにインストールされていない場合に発生します。このエラーを解決するには、インストール後に Python を正しいディレクトリに移動します。
sudo ln -s /usr/local/bin/python3.7 /usr/bin/python3.7
追加のトラブルシューティング
デバイスの設定に関する追加の問題のトラブルシューティングを行うには、ログファイルでデバッグ情報を探します。AWS IoT Greengrass
-
Greengrass デバイスのセットアップ設定に関する問題については、
/tmp/greengrass-device-setup-bootstrap-
ファイルを確認してください。epoch-timestamp
.log -
Greengrass グループまたはコア環境の設定に問題がある場合は、指定したディレクトリと同じディレクトリにある、
GreengrassDeviceSetup-
または指定した場所にあるdate
-time
.loggg-device-setup-latest.sh
ファイルを確認してください。
トラブルシューティングのヘルプについては、「 のトラブルシューティングAWS IoT Greengrass」を参照するか、AWS IoT Greengrass フォーラム
Greengrass デバイスセットアップ設定オプション
リソースにアクセスし、Greengrass 環境をセットアップするように Greengrass デバイスのセットアップを構成します。AWS
AWS アカウント認証情報を提供する
Greengrass デバイスのセットアップでは、AWS アカウントの認証情報を使用して AWS リソースにアクセスします。IAM ユーザーの長期認証情報、または IAM ロールの一時的なセキュリティ認証情報をサポートします。
最初に、認証情報を取得します。
-
長期認証情報を使用するには、IAM ユーザーのアクセスキー ID とシークレットアクセスキーを指定します。長期認証情報のアクセスキーの作成については、https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html の「IAM ユーザーのアクセスキーの管理IAM ユーザーガイド」を参照してください。
-
一時的なセキュリティ認証情報を使用するには (推奨)、引き受けた IAM ロールのアクセスキー ID、シークレットアクセスキー、およびセッショントークンを指定します。コマンドから一時的なセキュリティ認証情報を抽出する方法については、AWS STS
assume-role
の「 での一時的なセキュリティ認証情報の使用AWS CLI」を参照してください。IAM ユーザーガイド
このチュートリアルでは、IAM ユーザーまたは IAM ロールに管理者のアクセス権があることを前提としています。
次に、次の 2 つのうちいずれかの方法で Greengrass デバイスのセットアップに認証情報を入力します。
-
環境変数として。
AWS_ACCESS_KEY_ID
のステップ 1 に示すようにスクリプトを開始する前に、AWS_SECRET_ACCESS_KEY
、AWS_SESSION_TOKEN
、および Greengrass デバイスのセットアップを実行する. (必要な場合)環境変数を設定します。 -
入力値として。 スクリプトを起動した後、アクセスキー ID、シークレットアクセスキー、およびセッショントークン (必要な場合) の値をターミナルに直接入力します。
Greengrass デバイスのセットアップでは、認証情報が保存または保存されません。
入力値の指定
対話モードでは、入力値を求めるプロンプトが表示されます。Enter] キーを押してデフォルト値を使用するか、カスタム値を入力して [Enter.] キーを押します。サイレントモードでは、スクリプトの起動後に入力値を指定します。
- AWS アクセスキー ID
-
長期的または一時的なセキュリティ認証情報のアクセスキー ID。環境変数として認証情報を指定しない場合のみ、このオプションを入力値として指定してください。詳細については、「」を参照してください。AWS アカウント認証情報を提供する.
サイレントモードのオプション名:
--aws-access-key-id
- AWS シークレットアクセスキー
-
長期的または一時的なセキュリティ認証情報からのシークレットアクセスキー。環境変数として認証情報を指定しない場合のみ、このオプションを入力値として指定してください。詳細については、「」を参照してください。AWS アカウント認証情報を提供する.
サイレントモードのオプション名:
--aws-secret-access-key
- AWS セッショントークン
-
一時的なセキュリティ認証情報からのセッショントークン。環境変数として認証情報を指定しない場合のみ、このオプションを入力値として指定してください。詳細については、「」を参照してください。AWS アカウント認証情報を提供する.
サイレントモードのオプション名:
--aws-session-token
- AWS リージョン
-
Greengrass グループを作成する AWS リージョン。サポートされている AWS リージョンのリストについては、AWS IoT Greengrass の「」を参照してください。アマゾン ウェブ サービス全般のリファレンス
デフォルト値:
us-west-2
サイレントモードのオプション名:
--region
- グループ名
-
Greengrass グループの名前。
デフォルト値:
GreengrassDeviceSetup_Group_
guid
サイレントモードのオプション名:
--group-name
- コア名
-
Greengrass Core の名前。コアは、AWS IoT Core ソフトウェアを実行する AWS IoT Greengrass デバイス(モノ)です。コアは、AWS IoT レジストリと Greengrass グループに追加されます。名前を指定する場合は、AWS アカウントと AWS リージョン内で一意である必要があります。
デフォルト値:
GreengrassDeviceSetup_Core_
guid
サイレントモードのオプション名:
--core-name
- AWS IoT Greengrass コアソフトウェアのインストールパス
-
AWS IoT Greengrass Core ソフトウェアをインストールするデバイスファイルシステム内の場所。
デフォルト値:
/
サイレントモードのオプション名:
--ggc-root-path
- Hello World Lambda 関数
-
Greengrass グループに Hello World Lambda 関数を含めるかどうかを示します。この関数は、5 秒ごとに MQTT メッセージを
hello/world
トピックに発行します。スクリプトは、このユーザー定義 Lambda 関数を AWS Lambda で作成してパブリッシュし、Greengrass グループに追加します。また、このスクリプトは、関数が MQTT メッセージを に送信できるようにするサブスクリプションをグループ内に作成します。AWS IoT.
注記 これは Python 3.7 Lambda 関数です。Python 3.7 がデバイスにインストールされておらず、スクリプトがそれをインストールできない場合、スクリプトはターミナルにエラーメッセージを出力します。Lambda 関数をグループに含めるには、Python 3.7 を手動でインストールし、スクリプトを再起動する必要があります。Lambda 関数を使用せずに Greengrass グループを作成するには、スクリプトを再起動し、関数を含めるように求められたら
no
を入力します。デフォルト値:
no
サイレントモードのオプション名:
--hello-world-lambda
- このオプションは値を取りません。関数を作成する場合は、コマンドに含めます。 - デプロイのタイムアウト
-
Greengrass デバイスのセットアップが Greengrass グループのデプロイ.の状態のチェックを停止するまでの秒数。これは、グループに Hello World Lambda 関数が含まれている場合にのみ使用されます。それ以外の場合、グループはデプロイされません。
デプロイ時間は、ネットワークの速度によって異なります。ネットワーク速度が遅い場合は、この値を大きくすることができます。
デフォルト値:
180
サイレントモードのオプション名:
--deployment-timeout
- ログパス
-
Greengrass グループおよびコアセットアップオペレーションに関する情報を含むログファイルの場所。このログを使用して、Greengrass グループとコアセットアップに関するデプロイやその他の問題のトラブルシューティングを行います。
デフォルト値:
./
サイレントモードのオプション名:
--log-path
- 詳細レベル
-
スクリプトの実行中にターミナルに詳細なログ情報を出力するかどうかを示します。この情報を使用して、デバイスのセットアップのトラブルシューティングを行うことができます。
デフォルト値:
no
サイレントモードのオプション名:
--verbose
- このオプションは値を取りません。詳細なログ情報を出力する場合は、コマンドに含めます。
Greengrass デバイスのセットアップをサイレントモードで実行する
Greengrass デバイスのセットアップをサイレントモードで実行して、スクリプトが値の入力を要求しないようにできます。サイレントモードで実行するには、スクリプトの起動後に
bootstrap-greengrass
モードと入力値 を指定します。デフォルト値を使用する場合は、入力値を省略できます。
この手順は、スクリプトを起動する前に環境変数として AWS アカウント認証情報を指定するか、スクリプトを起動した後に入力値として指定するかによって異なります。
-
環境変数として認証情報を指定します。次の例では、セッショントークンを含む一時的な認証情報をエクスポートします。
export AWS_ACCESS_KEY_ID=
AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
注記 Greengrass デバイスのセットアップを Raspbian または OpenWrt プラットフォームで実行している場合は、これらのコマンドのコピーを作成してください。デバイスを再起動した後、それらを再度指定する必要があります。
-
スクリプトをダウンロードして起動します。必要に応じて入力値を指定します。次に例を示します。
-
すべてのデフォルト値を使用するには:
wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass
-
カスタム値を指定するには:
wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass --region us-east-1 --group-name Custom_Group_Name --core-name Custom_Core_Name --ggc-root-path /custom/ggc/root/path --deployment-timeout 300 --log-path /customized/log/path --hello-world-lambda --verbose
注記 curl
を使用してスクリプトをダウンロードするには、コマンドでwget -q -O
をcurl
に置き換えます。 -
-
コアデバイスが Raspbian または OpenWrt を実行している場合は、プロンプトが表示されたらデバイスを再起動し、認証情報を入力して、スクリプトを再起動します。
-
デバイスを再起動するように求められたら、次のいずれかのコマンドを実行します。
-
Raspbian プラットフォームの場合:
sudo reboot
-
プラットフォームの場合:OpenWrt
reboot
-
デバイスの起動後、ターミナルを開き、環境変数として認証情報を入力します。
export AWS_ACCESS_KEY_ID=
AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
-
スクリプトを再起動します。
sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass
-
前回のセッションからの入力値を使用するか、新規インストールを開始するかのプロンプトが表示されたら、
yes
と入力して入力値を再利用します。注記 再起動が必要なプラットフォームでは、認証情報を除く、前のセッションからの入力値が一時的に
GreengrassDeviceSetup.config.info
ファイルに保存されます。
セットアップが完了すると、ターミナルには、次のような成功ステータスメッセージが表示されます。
-
-
Hello World Lambda 関数を含めた場合、Greengrass デバイスセットアップは、Greengrass グループをコアデバイスにデプロイします。関数をテストする場合、またはグループから Lambda 関数を削除する方法については、開始方法チュートリアルのモジュール 3-1 の「Lambda」に進みます。Lambda 関数がデバイスがコアデバイスで実行されていることを確認する
注記 コンソールで選択した AWS リージョンが、Greengrass 環境の設定に使用したリージョンと同じであることを確認します。デフォルトでは、リージョンは です。米国西部 (オレゴン).
Hello World Lambda 関数を含めなかった場合は、独自の Lambda 関数を作成するか、Greengrass の他の機能を試すことができます。たとえば、Docker アプリケーションデプロイ コネクタをグループに追加し、それを使用して Docker コンテナをコアデバイスにデプロイできます。
-
スクリプトをダウンロードして起動します。認証情報を指定し、必要に応じてその他の入力値を指定します。次の例は、セッショントークンを含む一時的な認証情報を提供する方法を示しています。
-
すべてのデフォルト値を使用するには:
wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass --aws-access-key-id AKIAIOSFODNN7EXAMPLE --aws-secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY --aws-session-token AQoDYXdzEJr1K...o5OytwEXAMPLE=
-
カスタム値を指定するには:
wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass --aws-access-key-id AKIAIOSFODNN7EXAMPLE --aws-secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY --aws-session-token AQoDYXdzEJr1K...o5OytwEXAMPLE= --region us-east-1 --group-name Custom_Group_Name --core-name Custom_Core_Name --ggc-root-path /custom/ggc/root/path --deployment-timeout 300 --log-path /customized/log/path --hello-world-lambda --verbose
注記 Greengrass デバイスのセットアップを Raspbian または OpenWrt プラットフォームで実行している場合は、認証情報のコピーを作成してください。デバイスを再起動した後、それらを再度指定する必要があります。
curl
を使用してスクリプトをダウンロードするには、コマンドでwget -q -O
をcurl
に置き換えます。 -
-
コアデバイスが Raspbian または OpenWrt を実行している場合は、プロンプトが表示されたらデバイスを再起動し、認証情報を入力して、スクリプトを再起動します。
-
デバイスを再起動するように求められたら、次のいずれかのコマンドを実行します。
-
Raspbian プラットフォームの場合:
sudo reboot
-
プラットフォームの場合:OpenWrt
reboot
-
スクリプトを再起動します。コマンドには認証情報を含める必要がありますが、他の入力値を含めることはできません。次に例を示します。
sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass --aws-access-key-id AKIAIOSFODNN7EXAMPLE --aws-secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY --aws-session-token AQoDYXdzEJr1K...o5OytwEXAMPLE=
-
前回のセッションからの入力値を使用するか、新規インストールを開始するかのプロンプトが表示されたら、
yes
と入力して入力値を再利用します。注記 再起動が必要なプラットフォームでは、認証情報を除く、前のセッションからの入力値が一時的に
GreengrassDeviceSetup.config.info
ファイルに保存されます。
セットアップが完了すると、ターミナルには、次のような成功ステータスメッセージが表示されます。
-
-
Hello World Lambda 関数を含めた場合、Greengrass デバイスセットアップは、Greengrass グループをコアデバイスにデプロイします。関数をテストする場合、またはグループから Lambda 関数を削除する方法については、開始方法チュートリアルのモジュール 3-1 の「Lambda」に進みます。Lambda 関数がデバイスがコアデバイスで実行されていることを確認する
注記 コンソールで選択した AWS リージョンが、Greengrass 環境の設定に使用したリージョンと同じであることを確認します。デフォルトでは、リージョンは です。米国西部 (オレゴン).
Hello World Lambda 関数を含めなかった場合は、独自の Lambda 関数を作成するか、Greengrass の他の機能を試すことができます。たとえば、Docker アプリケーションデプロイ コネクタをグループに追加し、それを使用して Docker コンテナをコアデバイスにデプロイできます。