ステップ 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. [Deployment target] (デプロイ対象) で、[Core device] (コアデバイス) と、コアデバイスの AWS IoT モノの名前を選択します。このチュートリアルのデフォルト値は ですMyGreengrassCore

    3. [次へ] をクリックします。

  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. [次へ] をクリックします。

  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 コアデバイスにコンポーネントをデプロイします。個々のデバイスである「モノ」、またはデバイスのグループである「モノのグループ」にデプロイすることができます。をコアデバイスのAWS IoTモノの名前MyGreengrassCoreに置き換えます。

    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」を参照してください。