クイックスタート: Greengrass デバイスのセットアップ - AWS IoT Greengrass

のドキュメントを表示していますAWS IoT Greengrass Version 1。AWS IoT Greengrass Version 2の最新のメジャーバージョンです。AWS IoT Greengrass。の使用方法の詳細については、「」を参照してください。AWS IoT Greengrass V2の詳細については、AWS IoT Greengrass Version 2開発者ガイド

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

クイックスタート: Greengrass デバイスのセットアップ

Greengrass デバイスセットアップは、数分でコアデバイスをセットアップするスクリプトで、AWS IoT Greengrass。このスクリプトは、次の場合に使用します。

  1. デバイスを設定し、AWS IoT GreengrassCore ソフトウェア。

  2. クラウドベースのリソースを設定します。

  3. 必要に応じて、MQTT メッセージをに送信する Hello World Lambda 関数を持つ Greengrass グループをデプロイします。AWS IoTからのAWS IoT Greengrassコア。次の図に示す Greengrass 環境を設定します。

    
                    MQTT メッセージを送信する Hello World Lambda 関数AWS IoTからのAWS IoT Greengrassコア。

Requirements

Greengrass デバイスのセットアップには、次の要件があります。

  • コアデバイスは、サポートされているプラットフォームを使用する必要があります。デバイスには、aptyum、または opkg の適切なパッケージマネージャーがインストールされている必要があります。

     

  • スクリプトを実行する Linux ユーザーは、sudo として実行するアクセス許可を持っている必要があります。

     

  • 以下を指定する必要があります。 AWS アカウント 認証情報。詳細については、「提供 AWS アカウント 認証情報」を参照してください。

    注記

    Greengrass デバイスのセットアップは、最新バージョンの AWS IoT Greengrass Core ソフトウェアをデバイスにインストールします。AWS IoT Greengrass Core ソフトウェアをインストールすると、Greengrass Core ソフトウェアのライセンス契約に同意したと見なされます。

Greengrass デバイスのセットアップを実行する

Greengrass デバイスのセットアップは、ほんの数ステップで実行できます。あなたが提供した後 AWS アカウント 認証情報を使用する場合は、スクリプトによって Greengrass コアデバイスがプロビジョニングされ、Greengrass グループが数分でデプロイされます。ターゲットデバイスのターミナルウィンドウで次のコマンドを実行します。

注記

次のステップでは、スクリプトを対話モードで実行する方法を示します。対話モードでは、各入力値を入力または受け入れるように求められます。スクリプトをサイレントで実行する方法については、「Greengrass デバイスのセットアップをサイレントモードで実行する」を参照してください。

 

  1. 認証情報を入力しないでください。この手順では、一時的なセキュリティ認証情報を環境変数として提供することを前提としています。

    export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
    注記

    Greengrass デバイスセットアップを Raspbian または OpenWrt プラットフォームで実行している場合は、これらのコマンドのコピーを作成してください。デバイスを再起動した後、それらを再度指定する必要があります。

  2. スクリプトをダウンロードして起動します。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
  3. 入力値を求めるコマンドプロンプトに進みます。[Enter] キーを押してデフォルト値を使用するか、カスタム値を入力して [Enter] キーを押します。

    スクリプトは、次のようなステータスメッセージを端末に書き込みます。

    
                    端末にメッセージを出力します。
  4. コアデバイスで Raspbian または OpenWrt が実行されている場合は、プロンプトが表示されたらデバイスを再起動し、認証情報を入力して、スクリプトを再起動します。

    1. デバイスを再起動するように求められたら、次のいずれかのコマンドを実行します。

      Raspbian プラットフォームの場合:

      sudo reboot

      OpenWrt プラットフォームの場合:

      reboot
    2. デバイスの起動後、ターミナルを開き、環境変数として認証情報を入力します。

      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
    3. スクリプトを再起動します。

      sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass-interactive
    4. 前回のセッションからの入力値を使用するか、新規インストールを開始するかのプロンプトが表示されたら、yes と入力して入力値を再利用します。

      注記

      再起動が必要なプラットフォームでは、認証情報を除く、前のセッションからの入力値が一時的に GreengrassDeviceSetup.config.info ファイルに保存されます。

    セットアップが完了すると、ターミナルには、次のような成功ステータスメッセージが表示されます。

    
                    端末の出力に成功メッセージが表示されます。
  5. 指定した入力値を使用してスクリプトが設定する新しい Greengrass グループを確認します。

    1. にサインインします。AWS Management Consoleコンピュータで [] を開きます。AWS IoTconsole.

      注記

      次のことを確認してください。 AWS リージョン コンソールで選択したは、Greengrass 環境の設定に使用した Greengrass 環境と同じです。デフォルトでは、リージョンは米国西部 (オレゴン) です。

    2. ナビゲーションペインで、[] を選択します。Greengrass] を選択し、[]クラシック (V1)を選択してから、[] を選択します。Groups新しく作成したグループを検索します。

  6. Hello World Lambda 関数を含めた場合、Greengrass デバイスセットアップは、Greengrass グループをコアデバイスにデプロイします。Lambda 関数をテストしたり、グループから Lambda 関数を削除する方法については、」Lambda 関数がコアデバイスで実行されていることを確認する「はじめに」チュートリアルのモジュール 3-1 を参照してください。

    注記

    次のことを確認してください。 AWS リージョン コンソールで選択したは、Greengrass 環境の設定に使用した Greengrass 環境と同じです。デフォルトでは、リージョンは米国西部 (オレゴン) です。

    Hello World Lambda 関数を含めなかった場合は、独自のLambda 関数を作成するまたはGreengrass 他の機能を試してみてください。たとえば、Docker アプリケーションデプロイ コネクタをグループに追加し、それを使用して Docker コンテナをコアデバイスにデプロイできます。

     

問題のトラブルシューティング

問題のトラブルシューティングには、以下の情報が役立ちます。AWS IoT Greengrassデバイスのセットアップ。

エラー: Python (python3.7) が見つかりません。インストールしようとしています...

解決策: Amazon EC2 インスタンスを操作しているときに、このエラーが表示されることがあります。このエラーは、Python が/usr/bin/python3.7folder このエラーを解決するには、インストール後に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.log または指定した場所にある gg-device-setup-latest.sh ファイルを確認してください。

トラブルシューティングのヘルプについては、「AWS IoT Greengrass のトラブルシューティング」を参照するか、AWS IoT Greengrass フォーラムを確認してください。

Greengrass デバイスセットアップ設定オプション

Greengrass デバイスのセットアップを設定して、AWSリソースを作成し、Greengrass 環境を設定します。

提供 AWS アカウント 認証情報

Greengrass デバイスのセットアップでは AWS アカウント 認証情報を使用してAWSリソースの使用料金を見積もることができます。IAM ユーザーの長期認証情報、または IAM ロールの一時的なセキュリティ認証情報をサポートします。

最初に、認証情報を取得します。

  • 長期認証情報を使用するには、IAM ユーザーのアクセスキー ID とシークレットアクセスキーを指定します。長期認証情報のアクセスキーの作成の詳細については、」IAM ユーザーのアクセスキーの管理()IAM ユーザーガイド

     

  • 一時的なセキュリティ認証情報を使用するには (推奨)、引き受けた IAM ロールからアクセスキー ID、シークレットアクセスキー、およびセッショントークンを指定します。から一時的なセキュリティ認証情報を取得する。AWS STS assume-roleコマンドの詳細については、で一時的なセキュリティ認証情報を使用するAWS CLI()IAM ユーザーガイド

注記

このチュートリアルでは、IAM ユーザーまたは IAM ロールに管理者アクセス権限があることを前提としています。

次に、次の 2 つのうちいずれかの方法で Greengrass デバイスのセットアップに認証情報を入力します。

  • 環境変数として。 Greengrass デバイスのセットアップを実行する のステップ 1 に示すようにスクリプトを開始する前に、AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY、および AWS_SESSION_TOKEN (必要な場合)環境変数を設定します。

     

  • 入力値として。 スクリプトを起動した後、アクセスキー ID、シークレットアクセスキー、およびセッショントークン (必要な場合) の値をターミナルに直接入力します。

Greengrass デバイスのセットアップでは、認証情報が保存または保存されません。

 

入力値の指定

対話モードでは、入力値を求めるプロンプトが表示されます。[Enter] キーを押してデフォルト値を使用するか、カスタム値を入力して [Enter] キーを押します。サイレントモードでは、スクリプトの起動後に入力値を指定します。

AWS アクセスキー ID

長期的または一時的なセキュリティ認証情報のアクセスキー ID。環境変数として認証情報を指定しない場合のみ、このオプションを入力値として指定してください。詳細については、「提供 AWS アカウント 認証情報」を参照してください。

サイレントモードのオプション名: --aws-access-key-id

AWS シークレットアクセスキー

長期的または一時的なセキュリティ認証情報からのシークレットアクセスキー。環境変数として認証情報を指定しない場合のみ、このオプションを入力値として指定してください。詳細については、「提供 AWS アカウント 認証情報」を参照してください。

サイレントモードのオプション名: --aws-secret-access-key

AWS セストークン

一時的なセキュリティ認証情報からのセッショントークン。環境変数として認証情報を指定しない場合のみ、このオプションを入力値として指定してください。詳細については、「提供 AWS アカウント 認証情報」を参照してください。

サイレントモードのオプション名: --aws-session-token

AWS リージョン

- AWS リージョン ここで、Greengrass グループを作成します。サポートされている AWS リージョン 「」を参照してください。AWS IoT Greengrass()Amazon Web Services 全般リファレンス

デフォルト値: us-west-2

サイレントモードのオプション名: --region

グループ名

Greengrass グループの名前。

デフォルト値: GreengrassDeviceSetup_Group_guid

サイレントモードのオプション名: --group-name

コア名

Greengrass Core の名前。コアは、AWS IoT Greengrass Core ソフトウェアを実行する AWS IoT デバイス(モノ)です。コアは、AWS IoT レジストリと Greengrass グループに追加されます。名前を指定する場合は、 AWS アカウント および AWS リージョン 。

デフォルト値: GreengrassDeviceSetup_Core_guid

サイレントモードのオプション名: --core-name

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

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 アカウント 認証情報をスクリプトを起動する前に環境変数として、またはスクリプトを起動した後に入力値として使用します。

  1. 環境変数として認証情報を指定します。次の例では、セッショントークンを含む一時的な認証情報をエクスポートします。

    export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
    注記

    Greengrass デバイスセットアップを Raspbian または OpenWrt プラットフォームで実行している場合は、これらのコマンドのコピーを作成してください。デバイスを再起動した後、それらを再度指定する必要があります。

  2. スクリプトをダウンロードして起動します。必要に応じて入力値を指定します。次に例を示します。

    • すべてのデフォルト値を使用するには:

      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 -Ocurl に置き換えます。

  3. コアデバイスで Raspbian または OpenWrt が実行されている場合は、プロンプトが表示されたらデバイスを再起動し、認証情報を入力して、スクリプトを再起動します。

    1. デバイスを再起動するように求められたら、次のいずれかのコマンドを実行します。

      Raspbian プラットフォームの場合:

      sudo reboot

      OpenWrt プラットフォームの場合:

      reboot
    2. デバイスの起動後、ターミナルを開き、環境変数として認証情報を入力します。

      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
    3. スクリプトを再起動します。

      sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass
    4. 前回のセッションからの入力値を使用するか、新規インストールを開始するかのプロンプトが表示されたら、yes と入力して入力値を再利用します。

      注記

      再起動が必要なプラットフォームでは、認証情報を除く、前のセッションからの入力値が一時的に GreengrassDeviceSetup.config.info ファイルに保存されます。

    セットアップが完了すると、ターミナルには、次のような成功ステータスメッセージが表示されます。

    
                                        端末の出力に成功メッセージが表示されます。
  4. Hello World Lambda 関数を含めた場合、Greengrass デバイスセットアップは、Greengrass グループをコアデバイスにデプロイします。Lambda 関数をテストしたり、グループから Lambda 関数を削除する方法については、」Lambda 関数がコアデバイスで実行されていることを確認する「はじめに」チュートリアルのモジュール 3-1 を参照してください。

    注記

    次のことを確認してください。 AWS リージョン コンソールで選択したは、Greengrass 環境の設定に使用した Greengrass 環境と同じです。デフォルトでは、リージョンは米国西部 (オレゴン) です。

    Hello World Lambda 関数を含めなかった場合は、独自のLambda 関数を作成するまたはGreengrass 他の機能を試してみてください。たとえば、Docker アプリケーションデプロイ コネクタをグループに追加し、それを使用して Docker コンテナをコアデバイスにデプロイできます。

     

  1. スクリプトをダウンロードして起動します。認証情報を指定し、必要に応じてその他の入力値を指定します。次の例は、セッショントークンを含む一時的な認証情報を提供する方法を示しています。

    • すべてのデフォルト値を使用するには:

      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 -Ocurl に置き換えます。

  2. コアデバイスで Raspbian または OpenWrt が実行されている場合は、プロンプトが表示されたらデバイスを再起動し、認証情報を入力して、スクリプトを再起動します。

    1. デバイスを再起動するように求められたら、次のいずれかのコマンドを実行します。

      Raspbian プラットフォームの場合:

      sudo reboot

      OpenWrt プラットフォームの場合:

      reboot
    2. スクリプトを再起動します。コマンドには認証情報を含める必要がありますが、他の入力値を含めることはできません。次に例を示します。

      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=
    3. 前回のセッションからの入力値を使用するか、新規インストールを開始するかのプロンプトが表示されたら、yes と入力して入力値を再利用します。

      注記

      再起動が必要なプラットフォームでは、認証情報を除く、前のセッションからの入力値が一時的に GreengrassDeviceSetup.config.info ファイルに保存されます。

    セットアップが完了すると、ターミナルには、次のような成功ステータスメッセージが表示されます。

    
                                        端末の出力に成功メッセージが表示されます。
  3. Hello World Lambda 関数を含めた場合、Greengrass デバイスセットアップは、Greengrass グループをコアデバイスにデプロイします。Lambda 関数をテストしたり、グループから Lambda 関数を削除する方法については、」Lambda 関数がコアデバイスで実行されていることを確認する「はじめに」チュートリアルのモジュール 3-1 を参照してください。

    注記

    次のことを確認してください。 AWS リージョン コンソールで選択したは、Greengrass 環境の設定に使用した Greengrass 環境と同じです。デフォルトでは、リージョンは米国西部 (オレゴン) です。

    Hello World Lambda 関数を含めなかった場合は、独自のLambda 関数を作成するまたはGreengrass 他の機能を試してみてください。たとえば、Docker アプリケーションデプロイ コネクタをグループに追加し、それを使用して Docker コンテナをコアデバイスにデプロイできます。