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": "*" } ] }
エンドポイントおよびポート
このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「プロキシまたはファイアウォールを介したデバイストラフィックを許可する」を参照してください。
エンドポイント | ポート | 必要 | 説明 |
---|---|---|---|
|
443 | 可能 |
AWS クラウド の Systems Manager サービスと通信します。 |
|
443 | 可能 |
コアデバイスを Systems Manager マネージドノードとして登録します。 |
|
443 | 可能 |
AWS クラウド で、Systems Manager の機能であるセッションマネージャーと通信します。 |
詳細については、「AWS Systems Manager ユーザーガイド」の「[Reference: ec2messages, ssmmessages, and other API calls] (リファレンス: ec2messages、ssmmessages と他の API コール)」を参照してください。
依存関係
コンポーネントをデプロイするとき、AWS IoT Greengrass はそれと互換性のあるバージョンの依存関係もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントのリリースされたバージョンの依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、AWS IoT Greengrass コンソール
次の表に、このコンポーネントのバージョン 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 でコアデバイスのグループを管理できます。たとえば、指定したタグを持つすべてのデバイスでコマンドを実行できます。
各タグが
Key
とValue
のオブジェクトであるリストを指定します。例えば、次のSSMResourceTags
の値は、コアデバイスのマネージドノードでOwner
タグをrichard-roe
に設定するようにこのコンポーネントに指示します。[ { "Key": "Owner", "Value": "richard-roe" } ]
マネージドノードがすでに存在し、
SSMOverrideExistingRegistration
がfalse
の場合、このコンポーネントはこれらのタグを無視します。
例: 設定マージの更新
次の設定例では、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 エージェントをインストール、起動、および停止します。これらのスクリプトからの出力は、次のログファイルにあります。
/logs/aws.greengrass.SystemsManagerAgent.log
/greengrass/v2
このコンポーネントのログを確認するには
-
コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。
を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。/greengrass/v2
sudo tail -f
/logs/aws.greengrass.SystemsManagerAgent.log/greengrass/v2
以下も参照してください。
-
「AWS Systems Manager ユーザーガイド」の「AWS Systems Manager とは」
-
「AWS Systems Manager ユーザーガイド」の「[About Systems Manager Agent] (Systems Manager エージェントについて)」
変更ログ
次の表は、コンポーネントの各バージョンにおける変更を示します。
バージョン |
変更 |
---|---|
1.2.4 |
|
1.2.3 |
|
1.1.0 |
このバージョンには、バグ修正と機能向上が含まれています。 |
1.0.0 |
当初のバージョン |