ステップ 6: コンポーネントをデプロイする - AWS IoT Greengrass

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

ステップ 6: コンポーネントをデプロイする

を使用すると AWS IoT Greengrass、個々のデバイスまたはデバイスのグループにコンポーネントをデプロイできます。コンポーネントをデプロイすると、 はそのコンポーネントのソフトウェアを各ターゲットデバイスに AWS IoT Greengrass インストールして実行します。デプロイするコンポーネントと、各コンポーネントにデプロイする設定の更新を指定します。また、デプロイのターゲットとなるデバイスへのデプロイ方法を管理することもできます。詳細については、「AWS IoT Greengrass コンポーネントをデバイスにデプロイする」を参照してください。

このセクションでは、Hello World コンポーネントを Greengrass コアデバイスにデプロイして戻します。

  1. AWS IoT Greengrass コンソールのナビゲーションメニューで、[Components] (コンポーネント) を選択します。

  2. [Components] (コンポーネント) ページの [My components] (マイコンポーネント) タブで、[com.example.HelloWorld] を選択します。

  3. com.example.HelloWorld ページで、[Deploy] (デプロイ) を選択します。

  4. [Add to deployment] (デプロイに追加) で、[Create new deployment] (新しいデプロイの作成)、[Next] (次へ) の順に選択します。

  5. 対象を指定する」ページで、次を実行します:

    1. [名前] ボックスに Deployment for MyGreengrassCore と入力します。

    2. デプロイターゲットで、コアデバイスとコアデバイスの AWS IoT モノの名前を選択します。このチュートリアルのデフォルト値は MyGreengrassCore です。

    3. [Next (次へ)] を選択します。

  6. [Select components] (コンポーネントを選択) ページの [My components] (マイコンポーネント) 内で、com.example.HelloWorld コンポーネントが選択されていることを確認して、[Next] (次) を選択します。

  7. [Configure components] (コンポーネントを設定) ページで、com.example.HelloWorld を選択したら、次の操作を行います。

    1. [Configure component] (コンポーネントを設定) を選択します。

    2. [Configuration update] (設定を更新) の [Configuration to merge] (マージの設定) で、次の設定を入力します。

      { "Message": "universe" }

      この設定更新は、このデプロイ内にあるデバイスの Hello World Message パラメータを universe に設定します。

    3. [確認] を選択します。

    4. [Next (次へ)] を選択します。

  8. [Configure advanced settings] (詳細設定) ページはデフォルト設定のままにし、[Next] (次へ) を選択します。

  9. [Review] ページで、[デプロイ] を選択します。

  10. デプロイが正常に完了すていることを確認します。デプロイには数分かかる場合があります。Hello World のログをチェックして、変更を確認します。Greengrass コアデバイスで、次のコマンドを実行します。

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.HelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\\logs\\com.example.HelloWorld.log
    PowerShell
    gc C:\greengrass\v2\\logs\\com.example.HelloWorld.log -Tail 10 -Wait

    次の例に示すようなメッセージが表示されます。

    Hello, universe! Greetings from your first Greengrass component.
    注記

    ログメッセージが変更されない場合、デプロイが失敗しているか、コアデバイスに到達していません。これは、コアデバイスがインターネットに接続されていない、あるいは S3 バケットからアーティファクトを取得するために適切な権限がない場合に発生します。コアデバイスで次のコマンドを実行して、 AWS IoT Greengrass Core ソフトウェアログファイルを表示します。このファイルは、Greengrass コアデバイスのデプロイサービスからのログが含まれます。

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\\logs\\greengrass.log

    type コマンドは、ファイルのコンテンツを端末に書き込みます。このコマンドを複数回実行して、ファイル内の変更を確認してください。

    PowerShell
    gc C:\greengrass\v2\\logs\\greengrass.log -Tail 10 -Wait

    詳細については、「トラブルシューティング AWS IoT Greengrass V2」を参照してください。

Hello World コンポーネントをデプロイするには
  1. 開発コンピュータ上で、hello-world-deployment.json という名前のファイルを作成して、次の JSON をファイルにコピーします。このファイルは、デプロイするコンポーネントと設定を定義しています。

    { "components": { "com.example.HelloWorld": { "componentVersion": "1.0.0", "configurationUpdate": { "merge": "{\"Message\":\"universe\"}" } } } }

    この設定ファイルは、前の手順で開発してパブリッシュした Hello World コンポーネントのバージョン 1.0.0 をデプロイするように指定します。configurationUpdate は、JSON エンコードされた文字列でコンポーネント設定をマージすることを指定しています。この設定更新は、このデプロイ内にあるデバイスの Hello World Message パラメータを universe に設定します。

  2. 次のコマンドを実行して、Greengrass コアデバイスにコンポーネントをデプロイします。個々のデバイスである「モノ」、またはデバイスのグループである「モノのグループ」にデプロイすることができます。MyGreengrassCore をコアデバイスの AWS IoT モノの名前に置き換えます。

    Linux or Unix
    aws greengrassv2 create-deployment \ --target-arn "arn:aws:iot:region:account-id:thing/MyGreengrassCore" \ --cli-input-json file://hello-world-deployment.json
    Windows Command Prompt (CMD)
    aws greengrassv2 create-deployment ^ --target-arn "arn:aws:iot:region:account-id:thing/MyGreengrassCore" ^ --cli-input-json file://hello-world-deployment.json
    PowerShell
    aws greengrassv2 create-deployment ` --target-arn "arn:aws:iot:region:account-id:thing/MyGreengrassCore" ` --cli-input-json file://hello-world-deployment.json

    コマンドは次の出力例のようなレスポンスを返します。

    { "deploymentId": "deb69c37-314a-4369-a6a1-3dff9fce73a9", "iotJobId": "b5d92151-6348-4941-8603-bdbfb3e02b75", "iotJobArn": "arn:aws:iot:region:account-id:job/b5d92151-6348-4941-8603-bdbfb3e02b75" }
  3. デプロイが正常に完了すていることを確認します。デプロイには数分かかる場合があります。Hello World のログをチェックして、変更を確認します。Greengrass コアデバイスで、次のコマンドを実行します。

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.HelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\\logs\\com.example.HelloWorld.log
    PowerShell
    gc C:\greengrass\v2\\logs\\com.example.HelloWorld.log -Tail 10 -Wait

    次の例に示すようなメッセージが表示されます。

    Hello, universe! Greetings from your first Greengrass component.
    注記

    ログメッセージが変更されない場合、デプロイが失敗しているか、コアデバイスに到達していません。これは、コアデバイスがインターネットに接続されていない、あるいは S3 バケットからアーティファクトを取得するために適切な権限がない場合に発生します。コアデバイスで次のコマンドを実行して、 AWS IoT Greengrass Core ソフトウェアログファイルを表示します。このファイルは、Greengrass コアデバイスのデプロイサービスからのログが含まれます。

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\\logs\\greengrass.log

    type コマンドは、ファイルのコンテンツを端末に書き込みます。このコマンドを複数回実行して、ファイル内の変更を確認してください。

    PowerShell
    gc C:\greengrass\v2\\logs\\greengrass.log -Tail 10 -Wait

    詳細については、「トラブルシューティング AWS IoT Greengrass V2」を参照してください。