デプロイのステータスを確認する - AWS IoT Greengrass

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

デプロイのステータスを確認する

AWS IoT Greengrass で作成したデプロイのステータスを確認できます。また、各コアデバイスにデプロイをロールアウトする AWS IoT ジョブのステータスも確認できます。デプロイがアクティブな間は、AWS IoT ジョブのステータスは IN_PROGRESS になります。デプロイの新しいリビジョンを作成すると、前のリビジョンの AWS IoT ジョブのステータスが CANCELLED に変わります。

デプロイのステータスを確認する

ターゲットまたはその ID で識別したデプロイのステータスを確認できます。

ターゲットでデプロイステータスを確認するには (AWS CLI)
  • 次のコマンドを実行し、ターゲットの最新のデプロイの ID を検索します。targetArn は、デプロイがターゲットとする AWS IoT のモノまたはモノグループの Amazon リソースネーム (ARN) に置き換えます。

    aws greengrassv2 list-deployments --target-arn targetArn

    レスポンスには、ターゲットの最新デプロイのリストが含まれています。このデプロイオブジェクトには、デプロイのステータスが含まれます。

ID でデプロイステータスを確認するには (AWS CLI)
  • 次のコマンドを実行し、デプロイのステータスを取得します。deploymentId をクエリするデプロイの ID に置き換えます。

    aws greengrassv2 get-deployment --deployment-id deploymentId

    レスポンスには、デプロイのステータスが含まれます。

デバイスへのデプロイのステータスを確認する

個々のコアデバイスに適用されるデプロイジョブのステータスを確認できます。また、モノのグループのデプロイで、デプロイジョブのステータスを確認することもできます。

コアデバイスへのデプロイジョブのステータスを確認するには (AWS CLI)
  • 次のコマンドを実行し、コアデバイスに対するすべてのデプロイジョブのステータスを取得します。coreDeviceName をクエリするコアデバイスの名前に置き換えます。

    aws greengrassv2 list-effective-deployments --core-device-thing-name coreDeviceName

    レスポンスには、コアデバイスのデプロイジョブのリストが含まれます。デプロイのジョブは、ジョブの deploymentId または targetArn により識別できます。各デプロイジョブには、コアデバイス上のジョブのステータスが含まれます。

モノのグループのデプロイステータスを確認するには (AWS CLI)
  1. 次のコマンドを実行し、既存のデプロイの ID を取得します。targetArn は、ターゲットであるモノのグループの ARN に置き換えます。

    aws greengrassv2 list-deployments --target-arn targetArn

    レスポンスには、ターゲットの最新デプロイのリストが含まれています。deploymentId を次のステップで使用するレスポンスからコピーします。

    注記

    ターゲットの最新デプロイ以外のデプロイを一覧表示することもできます。--history-filter ALL 引数を指定して、ターゲットのすべてのデプロイを一覧表示します。次に、ステータスを確認するデプロイの ID をコピーします。

  2. 次のコマンドを実行して、デプロイの詳細を取得します。deploymentID を前のステップで取得した ID に置き換えます。

    aws greengrassv2 get-deployment --deployment-id deploymentId

    このレスポンスには、デプロイに関する情報が含まれています。次のステップで使用するために、レスポンスから iotJobId をコピーします。

  3. 次のコマンドを実行し、デプロイにおけるコアデバイスのジョブ実行について詳細を表示します。iotJobIdcoreDeviceThingName は、前のステップで取得したジョブ ID 、およびステータスを確認するコアデバイスに置き換えます。

    aws iot describe-job-execution --job-id iotJobId --thing-name coreDeviceThingName

    このレスポンスには、コアデバイスにおけるデプロイジョブの実行ステータスと、ステータスに関する詳細情報が含まれます。detailsMap には、以下の情報が含まれています。

    • detailed-deployment-status – デプロイ結果のステータスで、以下のいずれかの値を取ります。

      • SUCCESSFUL – デプロイは成功しました。

      • FAILED_NO_STATE_CHANGE – コアデバイスがデプロイの適用を準備をしている間に、そのデプロイが失敗しました。

      • FAILED_ROLLBACK_NOT_REQUESTED – デプロイは失敗しました。このデプロイでは、以前の動作構成にロールバックするための指定が行われていないため、コアデバイスが正しく機能していない可能性があります。

      • FAILED_ROLLBACK_COMPLETE – デプロイは失敗しましたが、コアデバイスは以前の動作設定に正常にロールバックされました。

      • FAILED_UNABLE_TO_ROLLBACK – デプロイが失敗しました。コアデバイスは、以前の動作設定にロールバックできなかったため、正しく機能していない可能性があります。

      デプロイが失敗した場合は、deployment-failure-cause 値、およびコアデバイスのログファイルにより問題を特定します。コアデバイスのログファイルへのアクセス方法については、「AWS IoT Greengrass ログのモニタリング」を参照してください。

    • deployment-failure-cause – ジョブの実行が失敗した理由について、追加的な情報を提供するエラーメッセージです。

    このレスポンスは、次の例のようになります。

    { "execution": { "jobId": "2cc2698a-5175-48bb-adf2-1dd345606ebd", "status": "FAILED", "statusDetails": { "detailsMap": { "deployment-failure-cause": "No local or cloud component version satisfies the requirements. Check whether the version constraints conflict and that the component exists in your AWS アカウント with a version that matches the version constraints. If the version constraints conflict, revise deployments to resolve the conflict. Component com.example.HelloWorld version constraints: LOCAL_DEPLOYMENT requires =1.0.0, thinggroup/MyGreengrassCoreGroup requires =1.0.1.", "detailed-deployment-status": "FAILED_NO_STATE_CHANGE" } }, "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "queuedAt": "2022-02-15T14:45:53.098000-08:00", "startedAt": "2022-02-15T14:46:05.670000-08:00", "lastUpdatedAt": "2022-02-15T14:46:20.892000-08:00", "executionNumber": 1, "versionNumber": 3 } }