翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 6: コンポーネントをデプロイする
AWS IoT Greengrass を使用して、コンポーネントを個々のデバイスまたはデバイスのグループにデプロイすることができます。コンポーネントをデプロイすると、AWS IoT Greengrass が各ターゲットデバイスにそのコンポーネントのソフトウェアをインストールして実行します。デプロイするコンポーネントと、各コンポーネントにデプロイする設定の更新を指定します。また、デプロイのターゲットとなるデバイスへのデプロイ方法を管理することもできます。詳細については、「デバイスに AWS IoT Greengrass コンポーネントのデプロイ」を参照してください。
このセクションでは、Hello World コンポーネントを Greengrass コアデバイスにデプロイして戻します。
-
AWS IoT Greengrass コンソール
のナビゲーションメニューで、[Components] (コンポーネント) を選択します。 -
[Components] (コンポーネント) ページの [My components] (マイコンポーネント) タブで、[com.example.HelloWorld] を選択します。
-
com.example.HelloWorld ページで、[Deploy] (デプロイ) を選択します。
-
[Add to deployment] (デプロイに追加) で、[Create new deployment] (新しいデプロイの作成)、[Next] (次へ) の順に選択します。
-
「対象を指定する」ページで、次を実行します:
-
[名前] ボックスに
Deployment for MyGreengrassCore
と入力します。 -
[Deployment target] (デプロイ対象) で、[Core device] (コアデバイス) と、コアデバイスの AWS IoT モノの名前を選択します。このチュートリアルのデフォルト値は です
MyGreengrassCore
。 -
[次へ] をクリックします。
-
-
[Select components] (コンポーネントを選択) ページの [My components] (マイコンポーネント) 内で、com.example.HelloWorld コンポーネントが選択されていることを確認して、[Next] (次) を選択します。
-
[Configure components] (コンポーネントを設定) ページで、com.example.HelloWorld を選択したら、次の操作を行います。
-
[Configure component] (コンポーネントを設定) を選択します。
-
[Configuration update] (設定を更新) の [Configuration to merge] (マージの設定) で、次の設定を入力します。
{ "Message": "universe" }
この設定更新は、このデプロイ内にあるデバイスの Hello World
Message
パラメータをuniverse
に設定します。 -
[確認] を選択します。
-
[次へ] をクリックします。
-
-
[Configure advanced settings] (詳細設定) ページはデフォルト設定のままにし、[Next] (次へ) を選択します。
-
[Review] ページで、[デプロイ] を選択します。
-
デプロイが正常に完了すていることを確認します。デプロイには数分かかる場合があります。Hello World のログをチェックして、変更を確認します。Greengrass コアデバイスで、次のコマンドを実行します。
次の例に示すようなメッセージが表示されます。
Hello, universe! Greetings from your first Greengrass component.
注記
ログメッセージが変更されない場合、デプロイが失敗しているか、コアデバイスに到達していません。これは、コアデバイスがインターネットに接続されていない、あるいはS3 バケットからアーティファクトを取得するために適切な権限がない場合に発生します。コアデバイスで次のコマンドを実行して、AWS IoT Greengrass Core ソフトウェアのログファイルを確認します。このファイルは、Greengrass コアデバイスのデプロイサービスからのログが含まれます。
詳細については、「トラブルシューティング AWS IoT Greengrass V2」を参照してください。
Hello World コンポーネントをデプロイするには
-
開発コンピュータ上で、
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 WorldMessage
パラメータをuniverse
に設定します。 -
次のコマンドを実行して、Greengrass コアデバイスにコンポーネントをデプロイします。個々のデバイスである「モノ」、またはデバイスのグループである「モノのグループ」にデプロイすることができます。をコアデバイスのAWS IoTモノの名前
MyGreengrassCore
に置き換えます。コマンドは次の出力例のようなレスポンスを返します。
{ "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" } -
デプロイが正常に完了すていることを確認します。デプロイには数分かかる場合があります。Hello World のログをチェックして、変更を確認します。Greengrass コアデバイスで、次のコマンドを実行します。
次の例に示すようなメッセージが表示されます。
Hello, universe! Greetings from your first Greengrass component.
注記
ログメッセージが変更されない場合、デプロイが失敗しているか、コアデバイスに到達していません。これは、コアデバイスがインターネットに接続されていない、あるいはS3 バケットからアーティファクトを取得するために適切な権限がない場合に発生します。コアデバイスで次のコマンドを実行して、AWS IoT Greengrass Core ソフトウェアのログファイルを確認します。このファイルは、Greengrass コアデバイスのデプロイサービスからのログが含まれます。
詳細については、「トラブルシューティング AWS IoT Greengrass V2」を参照してください。