この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
1 はじめに
IoT事業部の平内(SIN)です。
前回、AWS IoT Greengrass V2(以下、Greengrass V2)のコンポーネントを複数のコアデバイスにデプロイしてみました。
今回は、上記で使用したデプロイ設定で、一部のコンポーネントを削除してみました。 デプロイの対象となっているグループには、2台のコアデバイスが存在していますので、両方一気に削除できればと考えています。
2 デプロイ情報
下記が、前回、コンポーネントを追加してデプロイした設定です。
ターゲットコアデバイスは、gg-device-001とgg-device-002の2つです。また、コンポーネントは、前回追加した、com.example.HelloWorldと、インストール時に有効にしたパブリックコンポーネントであるGreeglass CLIとなっています。
3 デプロイ (ステップ1〜5)
デプロイ情報を開いて、右上の変更をクリックします。
(1) ステップ1
ステップ1のターゲットを指定は、変更なしでそのまま進めます。
(2) ステップ2
ステップ2のコンポーネントの選択では、今回削除したい、com.exsample.HelloWorldのチェックを外しました。
(3) ステップ3
ステップ3のコンポーネントを設定では、デプロイ対象となっているコンポーネントの設定を変更可能ですが、ここでは、そのまま進めます。
(4) ステップ4
ステップ4の詳細設定を構成は、そのまま次へ進めます。
(5) ステップ5
ステップ5のレビューでコンポーネントが削除となっている事を確認し、「デプロイ」をクリックします。
あとは、デプロイが反映されるまで待機です。
4 確認
デプロイが完了すると、各コアデバイスのコンポーネントの表示から消えていることが確認できます。
デバイスにログインしてGreengrass CLIでコンポーネントを一覧しても、com.example.HelloWorldが存在しない事を確認できます。
pi@device-001:~ $ sudo /greengrass/v2/bin/greengrass-cli component list
・・・略・・・
Component Name: aws.greengrass.Nucleus
Version: 2.4.0
State: FINISHED
・・・略・・・
Component Name: DeploymentService
Version: 0.0.0
State: RUNNING
Configuration: null
Component Name: aws.greengrass.Cli
Version: 2.4.0
State: RUNNING
Configuration: {"AuthorizedPosixGroups":null}
Component Name: UpdateSystemPolicyService
Version: 0.0.0
State: RUNNING
Configuration: null
Component Name: TelemetryAgent
Version: 0.0.0
State: RUNNING
Configuration: null
Component Name: FleetStatusService
Version: 0.0.0
State: RUNNING
Configuration: null
5 最後に
今回は、クラウド側からコンポーネントを削除してみました。少しですが、コンポーネント(アーティファクト・レシピ)・デプロイの関係が、なんとなく掴めてきたかもしれません。
6 参考リンク
[AWS IoT Greengrass V2] RaspberryPIにインストールしてみました
[AWS IoT Greengrass V2] RaspberryPIでコンポーネントを作成してみました
[AWS IoT Greengrass V2] クラウド側から複数のコアデバイスにコンポーネントをデプロイしてみました
[AWS IoT Greengrass V2] クラウド側からコンポーネントを削除してみました
[AWS IoT Greengrass V2] ローカルデバッグコンソール(aws.greengrass.LocalDebugConsole)を使用してみました
[AWS IoT Greengrass V2] Lambda関数(コンポーネント)をデプロイしてみました
[AWS IoT Greengrass V2] コンポーネントからIoT CoreのメッセージブローカーにPublish/Subscribeしてみました
[AWS IoT Greengrass V2] コンポーネントからシークレットマネージャにアクセスしてみました