翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
サブデプロイを作成する
注記
サブデプロイ機能は、Greengrass nucleus バージョン 2.9.0 以降で使用できます。Greengrass nucleus の旧コンポーネントバージョンでは、設定をサブデプロイにデプロイすることはできません。
サブデプロイは、親デプロイ内のデバイスのより小さなサブセットをターゲットとするデプロイです。サブデプロイを使用して、デバイスのより小さなサブセットに設定をデプロイできます。サブデプロイを作成して、親デプロイ内の 1 つ以上のデバイスで失敗した場合に、失敗した親デプロイを再試行することもできます。この機能を使用すると、その親デプロイで失敗したデバイスを選択し、サブデプロイを作成して、そのサブデプロイが成功するまで設定をテストできます。サブデプロイが成功したら、その設定を親デプロイに再デプロイできます。
サブデプロイを作成し、そのステータスを確認するには、このセクションのステップに従います。デプロイを作成する方法の詳細については、「デプロイの作成」を参照してください。
サブデプロイを作成するには (AWS CLI)
-
次のコマンドを実行して、モノのグループの最新のデプロイを取得します。コマンド内の ARN を、クエリするモノグループの ARN に置き換えます。
を--history-filterLATEST_ONLYに設定すると、そのモノのグループの最新のデプロイが表示されます。aws greengrassv2 list-deployments--target-arnarn:aws:iot:region:account-id:thinggroup/thingGroupName--history-filterLATEST_ONLY -
次のステップで使用する list-deployments コマンドに対するレスポンスから
deploymentIdをコピーします。 -
次のコマンドを実行し、デプロイのステータスを取得します。
をクエリするデプロイの ID に置き換えます。deploymentIdaws greengrassv2 get-deployment--deployment-iddeploymentId -
次のステップで使用する get-deployment コマンドに対するレスポンスから
iotJobIdをコピーします。 -
次のコマンドを実行して、指定されたジョブの実行リストを取得します。
jobIDを前のステップのiotJobIdに置き換えます。statusを、フィルタリングするステータスに置き換えます。次のステータスで結果をフィルタリングできます。-
QUEUED -
IN_PROGRESS -
SUCCEEDED -
FAILED -
TIMED_OUT -
REJECTED -
REMOVED -
CANCELED
aws iot list-job-executions-for-job--job-idjobID--statusstatus -
-
サブデプロイのために、新しい AWS IoT モノのグループを作成するか、または既存のモノのグループを使用します。その後、このモノのグループに AWS IoT モノを追加します。モノグループを使用して Greengrass コアデバイスのフリートを管理します。ソフトウェアコンポーネントをデバイスにデプロイするとき、個々のデバイスまたはデバイスのグループのいずれかを対象にできます。アクティブな Greengrass デプロイを備えたモノのグループにデバイスを追加できます。追加すると、そのモノのグループのソフトウェアコンポーネントをそのデバイスにデプロイできるようになります。
新しいモノのグループを作成して、それにデバイスを追加するには、次を実行します。
-
AWS IoT モノのグループを作成します。
MyGreengrassCoreGroupを新しいモノグループの名前に置き換えます。モノのグループ名にコロン (:) は使用できません。注記
サブデプロイのモノのグループが 1 つの
parentTargetArnで使用されている場合、それを別の親フリートで再利用することはできません。あるモノのグループが別のフリートのサブデプロイを作成するために既に使用されている場合、API はエラーを返します。aws iot create-thing-group--thing-group-nameMyGreengrassCoreGroupリクエストが正常に処理された場合、レスポンスは次の例のようになります。
{ "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" } -
プロビジョンド Greengrass コアをモノのグループに追加します。次のパラメータを使用して次のコマンドを実行します。
-
MyGreengrassCoreを、プロビジョンド Greengrass コアの名前に置き換えます。 -
MyGreengrassCoreGroupをモノグループの名前に置き換えます。
aws iot add-thing-to-thing-group--thing-nameMyGreengrassCore--thing-group-nameMyGreengrassCoreGroup要求が正常に処理された場合、コマンドは出力されません。
-
-
-
deployment.jsonという名前のファイルを作成して、次の JSON オブジェクトをファイルにコピーします。targetArnをサブデプロイがターゲットとする AWS IoT モノのグループの ARN に置き換えます。サブデプロイのターゲットにできるのは、モノのグループのみです。モノのグループの ARN の形式は、次のとおりです。-
モノのグループ –
arn:aws:iot:region:account-id:thinggroup/thingGroupName
{ "targetArn": "targetArn" } -
-
次のコマンドを再度実行して、元のデプロイの詳細を取得します。これらの詳細には、メタデータ、コンポーネント、ジョブ構成が含まれます。
deploymentIdを ステップ 1 の ID に置き換えます。このデプロイ設定を使用してサブデプロイを設定し、必要に応じて変更できます。aws greengrassv2 get-deployment--deployment-iddeploymentIdレスポンスには、デプロイの詳細が含まれています。get-deployment コマンドのレスポンスにある次のキーと値のペアを
deployment.jsonにコピーします。これらの値を、サブデプロイ向けに変更することができます。このコマンドの詳細については、「GetDeployment」を参照してください。-
components- デプロイのコンポーネント。コンポーネントをアンインストールする場合は、このオブジェクトから削除してください。 -
deploymentName- デプロイの名前。 -
deploymentPolicies- デプロイのポリシー。 -
iotJobConfiguration- デプロイのジョブ設定。 -
parentTargetArn– 親デプロイのターゲット。 -
tags- デプロイのタグ。
-
-
次のコマンドを実行して、
deployment.jsonからサブデプロイを作成します。subdeploymentNameをサブデプロイの名前に置き換えます。aws greengrassv2 create-deployment--deployment-namesubdeploymentName--cli-input-jsonfile://deployment.jsonレスポンスには、このサブデプロイを識別する
deploymentIdが含まれます。デプロイ ID を使用して、デプロイのステータスを確認できます。詳細については、「デプロイのステータスを確認する」を参照してください。 -
サブデプロイが成功した場合は、その設定を使用して親デプロイを修正できます。前のステップで使用した
deployment.jsonをコピーします。JSON ファイルのtargetArnを親デプロイの ARN に置き換え、次のコマンドを実行してこの新しい設定で親デプロイを作成します。注記
親フリートの新しいデプロイリビジョンを作成すると、その親デプロイのすべてのデプロイリビジョンとサブデプロイが置き換えられます。詳細については、「デプロイの変更」を参照してください。
aws greengrassv2 create-deployment--cli-input-jsonfile://deployment.jsonレスポンスには、このデプロイを識別する
deploymentIdが含まれます。デプロイ ID を使用して、デプロイのステータスを確認できます。詳細については、「デプロイのステータスを確認する」を参照してください。