Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

デプロイとコンポーネントのヘルスステータス通知を受け取る

フォーカスモード
デプロイとコンポーネントのヘルスステータス通知を受け取る - AWS IoT Greengrass

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

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

Amazon EventBridge イベントルールは、デバイスが受信した Greengrass デプロイと、デバイスにインストールされているコンポーネントの状態変更に関する通知を提供します。EventBridge は、 AWS リソースの変更を説明するシステムイベントのほぼリアルタイムのストリームを提供します。 は、ベストエフォートベースでこれらのイベントを EventBridge AWS IoT Greengrass に送信します。つまり、 はすべてのイベントを EventBridge に送信 AWS IoT Greengrass しようとしますが、まれにイベントが配信されない場合があります。さらに、特定のイベントの複数のコピーを送信する AWS IoT Greengrass 場合があります。つまり、イベントリスナーは、イベントが発生した順序でイベントを受信しない可能性があります。

注記

Amazon EventBridge は、アプリケーションを Greengrass Core デバイスやデプロイよびコンポーネント通知などのさまざまなソースのデータに接続するために使用できるイベントバスサービスです。詳細については、「Amazon EventBridge ユーザーガイド」の「Amazon EventBridge とは」を参照してください。

デプロイステータスの変更イベント

AWS IoT Greengrass は、デプロイが FAILED、、SUCCEEDEDCOMPLETED、 の各状態になるとREJECTED、 イベントを発行しますCANCELED。すべての状態遷移または指定した状態への移行に対して実行される EventBridge ルールを作成できます。デプロイがルールを開始する状態になると、EventBridge はルールで定義されたターゲットアクションを呼び出します。これにより、通知を送信したり、イベント情報をキャプチャしたり、修正アクションを実行したり、状態の変更に応じて他のイベントを開始したりできます。例えば、次のユースケースのルールを作成できます。

  • アセットのダウンロードや担当者の通知など、デプロイ後のオペレーションを開始します。

  • デプロイの成功または失敗時に通知を送信します。

  • デプロイイベントに関するカスタムメトリクスを発行します。

デプロイ状態変更のイベントでは、次の形式を使用します。

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass V2 Effective Deployment Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail":{ "deploymentId": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681", "coreDeviceExecutionStatus": "FAILED|SUCCEEDED|COMPLETED|REJECTED|CANCELED", "statusDetails": { "errorStack": ["DEPLOYMENT_FAILURE", "ARTIFACT_DOWNLOAD_ERROR", "S3_ERROR", "S3_ACCESS_DENIED", "S3_HEAD_OBJECT_ACCESS_DENIED"], "errorTypes": ["DEPENDENCY_ERROR", "PERMISSION_ERROR"], }, "reason": "S3_HEAD_OBJECT_ACCESS_DENIED: FAILED_NO_STATE_CHANGE: Failed to download artifact name: 's3://pentest27/nucleus/281/aws.greengrass.nucleus.zip' for component aws.greengrass.Nucleus-2.8.1, reason: S3 HeadObject returns 403 Access Denied. Ensure the IAM role associated with the core device has a policy granting s3:GetObject. null (Service: S3, Status Code: 403, Request ID: HR94ZNT2161DAR58, Extended Request ID: wTX4DDI+qigQt3uzwl9rlnQiYlBgwvPm/KJFWeFAn9t1mnGXTms/luLCYANgq08RIH+x2H+hEKc=)" } }

デプロイのステータスを更新するルールやイベントを作成できます。FAILEDSUCCEEDEDCOMPLETEDREJECTED または CANCELED のいずれかとしてデプロイが完了すると、イベントが開始されます。コアデバイスでのデプロイが失敗した場合、その理由を説明する詳細なレスポンスを受け取ります。デプロイエラーコードの詳細については、「詳細なデプロイエラーコード」を参照してください。

デプロイの状態
  • FAILED。デプロイに失敗しました。

  • SUCCEEDED。モノのグループを対象としたデプロイが正常に完了しました。

  • COMPLETED。モノを対象としたデプロイが正常に完了しました。

  • REJECTED。デプロイが拒否されました。詳細については、statusDetails フィールドを参照してください。

  • CANCELED。デプロイはユーザーによってキャンセルされました。

イベントが重複したり、順序が順不同である可能性があります。イベントの順序を特定するには、time プロパティを使用します。

errorStacks および errorTypes のエラーコードの完全なリストについては、「詳細なデプロイエラーコード」および「詳細なコンポーネントのステータスコード」を参照してください。

コンポーネントのステータス変更イベント

AWS IoT Greengrass バージョン 2.12.2 以前では、コンポーネントが ERROREDおよび の状態になると、Greengrass はイベントを発行しますBROKEN。Greengrass nucleus バージョン 2.12.3 以降では、コンポーネントが ERROREDBROKENRUNNING、および FINISHED の状態になると、Greengrass はイベントを出力します。Greengrass はデプロイの完了時にもイベントを発行します。すべての状態遷移または指定した状態への移行に対して実行される EventBridge ルールを作成できます。インストールされたコンポーネントがルールを開始する状態になると、EventBridge はルールで定義されたターゲットアクションを呼び出します。これにより、通知を送信したり、イベント情報をキャプチャしたり、修正アクションを実行したり、状態の変更に応じて他のイベントを開始したりできます。

コンポーネントの状態変更のイベントでは、次の形式を使用します。

Greengrass nucleus v2.12.2 and earlier

コンポーネントステータス: ERRORED または BROKEN

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass V2 Installed Component Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail": { "components": [ { "componentName": "MyComponent", "componentVersion": "1.0.0", "root": true, "lifecycleState": "ERRORED|BROKEN", "lifecycleStatusCodes": ["STARTUP_ERROR"], "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1." } ] } }
Greengrass nucleus v2.12.3 and later

コンポーネントステータス: ERRORED または BROKEN

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass V2 Installed Component Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail": { "components": [ { "componentName": "MyComponent", "componentVersion": "1.0.0", "root": true, "lifecycleState": "ERRORED|BROKEN", "lifecycleStatusCodes": ["STARTUP_ERROR"], "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1." } ] } }

コンポーネントステータス: RUNNING または FINISHED

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass V2 Installed Component Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail": { "components": [ { "componentName": "MyComponent", "componentVersion": "1.0.0", "root": true, "lifecycleState": "RUNNING|FINISHED", "lifecycleStateDetails": null } ] } }

コンポーネントステータス: ERRORED または BROKEN

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass V2 Installed Component Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail": { "components": [ { "componentName": "MyComponent", "componentVersion": "1.0.0", "root": true, "lifecycleState": "ERRORED|BROKEN", "lifecycleStatusCodes": ["STARTUP_ERROR"], "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1." } ] } }

インストールされたコンポーネントのステータスを更新するルールやイベントを作成できます。イベントは、コンポーネントの状態がデバイス上で変更されたときに開始されます。コンポーネントにエラーや故障が発生した理由を説明する詳細なレスポンスを受け取ります。また、失敗の理由を示すステータスコードも表示されます。コンポーネントのステータスコードの詳細については、「詳細なコンポーネントのステータスコード」を参照してください。

EventBridge ルールを作成するための前提条件

の EventBridge ルールを作成する前に AWS IoT Greengrass、次の操作を行います。

  • EventBridge のイベント、ルール、ターゲットに精通しておいてください。

  • EventBridge ルールによって呼び出されるターゲットを作成して設定します。ルールは、以下のようなさまざまなタイプのターゲットを呼び出すことができます。

    • Amazon Simple Notification Service (Amazon SNS)

    • AWS Lambda 関数

    • Amazon Kinesis Video Streams

    • Amazon Simple Queue Service Amazon SQS キュー

詳細については、「Amazon EventBridge ユーザーガイド」の「Amazon EventBridge とは」および「Amazon EventBridge の開始方法」を参照してください。

デバイスヘルス通知を設定する (コンソール)

グループのデプロイ状態が変更されたときに Amazon SNS トピックを発行する EventBridge ルールを作成するには、次のステップを使用します。これにより、ウェブサーバー、E メールアドレス、その他のトピック受信者がイベントに応答できるようになります。詳細については、「Amazon EventBridge ユーザーガイド」の「 AWS リソースからイベントをトリガーする EventBridge ルールの作成」を参照してください。 EventBridge

  1. Amazon EventBridge コンソールを開きます。

  2. ナビゲーションペインで [ルール] を選択します。

  3. [ルールの作成] を選択します。

  4. ルールの名前と説明を入力します。

    ルールには同じリージョン内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

  5. [イベントバス] で、このルールに関連付けるイベントバスを選択します。このルールをアカウントからのイベントと一致させるには、AWS のデフォルトのイベントバスを選択します。アカウントの AWS サービスがイベントを発行すると、常にアカウントのデフォルトのイベントバスに送られます。

  6. [ルールタイプ] で、[イベントパターンを持つルール] を選択してください。

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

  8. [Event source] (イベントソース) で、[AWS events] (イベント) を選択します。

  9. [イベントパターン] で、[AWS のサービス] を選択します。

  10. [AWS のサービス] で [Greengrass] を選択します。

  11. [Event type] (イベントタイプ) で、次から選択します。

    • デプロイイベントについては、[Greengrass V2 Effective Deployment Status Change] (Greengrass V2 の有効なデプロイステータスの変更) を選択します。

    • コンポーネントイベントについては、[Greengrass V2 Installed Component Status Change] (Greengrass V2 のインストールされたコンポーネントのステータス変更) を選択します。

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

  13. [ターゲットタイプ] で、[AWS のサービス] を選択します。

  14. [ターゲットの選択] で、ターゲットを設定します。この例では Amazon SNS トピックを使用していますが、通知を送信するターゲットタイプには他のトピックも設定できます。

    1. [Target (ターゲット)] で [SNS topic (SNS トピック)] を選択します。

    2. [トピック] で、ターゲットトピックを選択します。

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

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

  16. ルールの詳細を確認し、ルールの作成 を選択します。

デバイスヘルス通知を設定する (CLI)

次のステップを使用して、Greengrass ステータス変更イベントが発生したときに Amazon SNS トピックを発行する EventBridge ルールを作成します。これにより、ウェブサーバー、E メールアドレス、その他のトピック受信者がイベントに応答できるようになります。

  1. ルールを作成します。

    • デプロイステータス変更イベント用。

      aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Effective Deployment Status Change\"]}"
    • コンポーネントのステータス変更イベント用。

      aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Installed Component Status Change\"]}"

    パターンで省略されたプロパティは無視されます。

  2. トピックをルールターゲットとして追加します。

    • topic-arn を Amazon SNS トピックの ARN に置き換えます。

    aws events put-targets \ --rule TestRule \ --targets "Id"="1","Arn"="topic-arn"
    注記

    Amazon EventBridge にターゲットトピックの呼び出しを許可するには、トピックにリソースベースのポリシーを追加する必要があります。詳細については、Amazon EventBridge ユーザーガイドの「Amazon SNS のアクセス許可」を参照してください。

詳細については、「Amazon EventBridge ユーザーガイド」の「EventBridge のイベントとイベントパターン」を参照してください。

デバイスヘルス通知を設定する (AWS CloudFormation)

AWS CloudFormation テンプレートを使用して、Greengrass グループデプロイの状態変更に関する通知を送信する EventBridge ルールを作成します。詳細については、「AWS CloudFormation ユーザーガイド」の「Amazon EventBridge リソースタイプのリファレンス」を参照してください。

関連情報

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.