Systems Manager エージェント - AWS IoT Greengrass

Systems Manager エージェント

AWS Systems Manager エージェントコンポーネント (aws.greengrass.SystemsManagerAgent) は 、Systems Manager エージェントをインストールするため、Systems Manager を使用してコアデバイスを管理できます。Systems Manager は、Amazon EC2 インスタンス、オンプレミスのサーバーや仮想マシン (VM)、エッジデバイスなど、AWS のインフラストラクチャを表示および制御するために使用できる AWS サービスです。Systems Manager は、運用データの表示、運用タスクの自動化、セキュリティとコンプライアンスの維持を可能にします。詳細については、「AWS Systems Manager とは」、および「AWS Systems Manager ユーザーガイド」の「Systems Manager エージェントについて」を参照してください。

Systems Manager のツールや特徴は、機能と呼ばれます。Greengrass コアデバイスは、すべての Systems Manager 機能をサポートしています。これらの機能と Systems Manager を使用してコアデバイスを管理する方法の詳細については、「AWS Systems Manager ユーザーガイド」の「Systems Manager 機能」を参照してください。

バージョン

このコンポーネントには、次のバージョンがあります。

  • 1.1.x

  • 1.0.x

タイプ

このコンポーネントはジェネリックコンポーネント (aws.greengrass.generic) です。Greengrass nucleus は、コンポーネントのライフサイクルスクリプトを実行します。

詳細については、「コンポーネントタイプ」を参照してください。

オペレーティングシステム

このコンポーネントは、Linux コアデバイスにのみインストールできます。

要件

このコンポーネントには次の要件があります。

  • 64 ビット Linux プラットフォームで実行される Greengrass コアデバイス: Armv8 (AArch64) または x86_64。

  • Systems Manager が引き受けることができる AWS Identity and Access Management (IAM) サービスロールが必要です。このロールには、AmazonSSMManagedInstanceCore マネージドポリシー、または同等の許可を定義するカスタムポリシーが含まれている必要があります。詳細については、「AWS Systems Manager ユーザーガイド」の「エッジデバイス用の IAM サービスロールを作成」を参照してください。

    このコンポーネントをデプロイするときは、SSMRegistrationRole 設定パラメータにこのロールの名前を指定する必要があります。

  • [Greengrass device role] (Greengrass デバイスロール)は、ssm:AddTagsToResource および ssm:RegisterManagedInstance アクションを許可する必要があります。デバイスロールは、前の要件を満たす IAM サービスロールの iam:PassRole アクションも許可する必要があります。以下の IAM ポリシーの例は、次の権限を付与します。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::account-id:role/SSMServiceRole" ] }, { "Action": [ "ssm:AddTagsToResource", "ssm:RegisterManagedInstance" ], "Effect": "Allow", "Resource": "*" } ] }

エンドポイントおよびポート

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「プロキシまたはファイアウォールを介したデバイストラフィックを許可する」を参照してください。

エンドポイント ポート 必要 説明

ec2messages.region.amazonaws.com

443 可能

AWS クラウド の Systems Manager サービスと通信します。

ssm.region.amazonaws.com

443 可能

コアデバイスを Systems Manager マネージドノードとして登録します。

ssmmessages.region.amazonaws.com

443 可能

AWS クラウド で、Systems Manager の機能であるセッションマネージャーと通信します。

詳細については、「AWS Systems Manager ユーザーガイド」の「[Reference: ec2messages, ssmmessages, and other API calls] (リファレンス: ec2messages、ssmmessages と他の API コール)」を参照してください。

依存関係

コンポーネントをデプロイするとき、AWS IoT Greengrass はそれと互換性のあるバージョンの依存関係もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントのリリースされたバージョンの依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、AWS IoT Greengrass コンソールでも確認できます。コンポーネントの詳細ページで [Dependencies] (依存関係) リストを確認します。

次の表に、このコンポーネントのバージョン 1.0.0 から 1.2.4 までの依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
トークン交換サービス ^2.0.0 ソフト

コンポーネントの依存関係の詳細については、「コンポーネント recipe のリファレンス」を参照してください。

構成

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

SSMRegistrationRole

Systems Manager が引き受けることができ、AmazonSSMManagedInstanceCore マネージドポリシーまたは同等の許可を定義するカスタムポリシーを含む IAM サービスロール。詳細については、「AWS Systems Manager ユーザーガイド」の「エッジデバイス用の IAM サービスロールを作成」を参照してください。

SSMOverrideExistingRegistration

(オプション) コアデバイスがすでにハイブリッドアクティベーションで登録された Systems Manager エージェントを実行している場合は、デバイスの既存の Systems Manager エージェント登録をオーバーライドできます。このオプションを true に設定すると、このコンポーネントが提供する Systems Manager エージェントを使用して、コアデバイスをマネージドノードとして登録できます。

注記

このオプションは、ハイブリッドアクティベーションに登録されているデバイスにのみ適用されます。コアデバイスが Systems Manager エージェントがインストールされ、インスタンスプロファイルロールが設定された Amazon EC2 インスタンスで実行される場合、Amazon EC2 インスタンスの既存のマネージドノード ID は i- で始まります。Systems Manager エージェントコンポーネントをインストールすると、Systems Manager エージェントは、ID が i- ではなく mi- で始まる新しいマネージドノードを登録します。次に、ID が mi- で始まるマネージドノードを使用して、Systems Manager でコアデバイスを管理できます。

デフォルト: false

SSMResourceTags

(オプション) このコンポーネントがコアデバイス用に作成する Systems Manager マネージドノードに追加するタグ。これらのタグを使用して、Systems Manager でコアデバイスのグループを管理できます。たとえば、指定したタグを持つすべてのデバイスでコマンドを実行できます。

各タグが KeyValue のオブジェクトであるリストを指定します。例えば、次の SSMResourceTags の値は、コアデバイスのマネージドノードで Owner タグを richard-roe に設定するようにこのコンポーネントに指示します。

[ { "Key": "Owner", "Value": "richard-roe" } ]

マネージドノードがすでに存在し、SSMOverrideExistingRegistrationfalse の場合、このコンポーネントはこれらのタグを無視します。

例: 設定マージの更新

次の設定例では、SSMServiceRole という名前のサービスロールを使用して、コアデバイスが Systems Manager に登録して通信できるようにすることを指定しています。

{ "SSMRegistrationRole": "SSMServiceRole", "SSMOverrideExistingRegistration": false, "SSMResourceTags": [ { "Key": "Owner", "Value": "richard-roe" }, { "Key": "Team", "Value": "solar" } ] }

ローカルログファイル

Systems Manager エージェントソフトウェアは、Greengrass ルートフォルダの外部のフォルダにログを書き込みます。詳細については、「AWS Systems Manager ユーザーガイド」の「Systems Manager エージェントのログの表示」を参照してください。

Systems Manager エージェントコンポーネントは、シェルスクリプトを使用して Systems Manager エージェントをインストール、起動、および停止します。これらのスクリプトからの出力は、次のログファイルにあります。

/greengrass/v2/logs/aws.greengrass.SystemsManagerAgent.log
このコンポーネントのログを確認するには
  • コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。/greengrass/v2 を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

    sudo tail -f /greengrass/v2/logs/aws.greengrass.SystemsManagerAgent.log

以下も参照してください。

変更ログ

次の表は、コンポーネントの各バージョンにおける変更を示します。

バージョン

変更

1.2.4

バグ修正と機能向上

このコンポーネントを更新して、エージェントバージョン 3.2.2303.0 を取得しました。

1.2.3

バグ修正と機能向上
  • Greengrass にスナップでエージェントコンポーネントをインストールするための再試行を追加しました。

  • Greengrass でオンプレミス ID のみを使用するようにエージェントコンポーネントの設定を更新しました。

  • インストールされたエージェントバージョンが Greengrass SSM Agent コンポーネントのバージョンと一致しない場合にのみ、このコンポーネントを更新してエージェントを更新しました。

1.1.0

このバージョンには、バグ修正と機能向上が含まれています。

1.0.0

当初のバージョン