翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 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
と入力します。 -
デプロイターゲットで、コアデバイスとコアデバイスの AWS IoT モノの名前を選択します。このチュートリアルのデフォルト値は
MyGreengrassCore
です。 -
[Next (次へ)] を選択します。
-
-
[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
に設定します。 -
[確認] を選択します。
-
[Next (次へ)] を選択します。
-
-
[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 コアデバイスにコンポーネントをデプロイします。個々のデバイスである「モノ」、またはデバイスのグループである「モノのグループ」にデプロイすることができます。
MyGreengrassCore
をコアデバイスの AWS IoT モノの名前に置き換えます。コマンドは次の出力例のようなレスポンスを返します。
{ "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」を参照してください。