SSM エージェント の使用 - AWS Systems Manager

SSM エージェント の使用

AWS Systems Manager エージェント (SSM エージェント) は、EC2 インスタンス、オンプレミスサーバー、仮想マシン (VM) にインストールして設定することができる Amazon のソフトウェアです。SSM エージェント により、Systems Manager がこれらのリソースを更新、管理、設定できるようなります。エージェントは、AWS クラウド上の Systems Manager サービスからのリクエストを処理し、リクエストに指定されたとおりに実行します。SSM エージェント は、Amazon Message Delivery Service (サービスプレフィックス: ec2messages)を使用して、Systems Manager サービスにステータスと実行情報を返します。

トラフィックをモニタリングすると、ec2messages.* と通信中の EC2 インスタンス、およびハイブリッド環境のオンプレミスサーバーまたは VM が表示されます。詳細については、「リファレンス: ec2messages、ssmmessages と他の API コール」を参照してください。SSM エージェント のログを Amazon CloudWatch Logs に移植する方法については、「AWS Systems Manager のモニタリング」を参照してください。

SSM エージェント を最新の状態に維持

新しい機能が Systems Manager に追加されるか、既存の機能が更新されると必ず、更新されたバージョンの SSM エージェント がリリースされます。古いバージョンのエージェントがインスタンスで実行されていると、SSM エージェント プロセスによっては失敗することがあります。そのため、インスタンス上で SSM エージェント を最新に維持するプロセスを自動化することをお勧めします。詳細については、SSM エージェント への更新を自動化 を参照してください。SSM エージェント の更新に関する通知を受け取るには、SSM エージェント のリリースノートのページをサブスクライブします。

注記

デフォルトで SSM エージェント を含む AMI では、最新バージョンの SSM エージェント を使用して更新されるまで、最大 2 週間かかります。SSM エージェント に対するさらに頻繁な自動更新を設定することをお勧めします。

更新されたバージョンの SSM エージェント は、新しい AWS リージョンにそれぞれの時間で展開されます。このため、リージョンに SSM エージェント の新しいバージョンのをデプロイしようとすると、「Unsupported on current platform (現在のプラットフォームでサポートされていません)」または「updating amazon-ssm-agent to an older version, please enable allow downgrade to proceed (amazon-ssm-agent を古いバージョンに更新しています。ダウングレードを許可してください)」というエラーが表示されることがあります。

SSM エージェント およびインスタンスメタデータサービス (IMDS)

Systems Manager は、正しく機能するために EC2 インスタンスのメタデータに依存します。Systems Manager は、インスタンスメタデータサービスバージョン 1 またはバージョン 2 (IMDSv1 と IMDSv2) を使用してインスタンスメタデータにアクセスできます。詳細については、『Amazon EC2 User Guide for Linux Instances』の「インスタンスメタデータとユーザーデータ」を参照してください。

SSM エージェント 認証情報の優先順位

SSM エージェント には、Systems Manager と通信するために、IAM ロールによって提供されるアクセス許可が必要です。これらの認証情報が SSM エージェント によってどのように取得され、評価されるかを理解することが重要です。そうしないと、マネージドインスタンスで以前に設定された認証情報によって、目的の認証情報プロバイダーが置き換えられる可能性があります。SSM エージェント 認証情報は、次の順序で評価されます。

  1. 環境変数 ($HOME, %USERPROFILE%)

  2. 共有認証情報ファイル ($HOME/.aws/credentials, %USERPROFILE%\.aws\credentials)

  3. インスタンスプロファイル

ローカル ssm-user アカウントについて

SSM エージェント バージョン 2.3.50.0 以降では、エージェントは ssm-user という名前のローカルユーザーアカウントを作成し、/etc/sudoers (Linux) または、管理者グループ (Windows) に追加します。エージェントバージョン 2.3.612.0 以降では、アカウントはインストール後に SSM エージェント が最初に起動または再起動するときに作成されます。バージョン 2.3.612.0 以降では、ssm-user アカウントは、インスタンスでセッションが最初に開始されたときに作成されます。この ssm-user は、Session Manager セッションが開始されたときのデフォルトの OS ユーザーです。ssm-user を特権の少ないグループに移動するか、sudoers ファイルを変更することで、アクセス許可を変更できます。SSM エージェント がアンインストールされるときに、ssm-user アカウントはシステムから削除されません。

Windows Server では、SSM エージェント は各セッションの開始時に ssm-user アカウントの新しいパスワードの設定を処理します。Linux マネージドインスタンスで ssm-user にはパスワードは設定されていません。

SSM エージェント 2.3.612.0 バージョンから、ssm-user アカウントは、ドメインコントローラーとして使用されている Windows Server マシンに自動的には作成されません。Windows Server ドメインコントローラーで Session Manager を使用するには、ssm-user アカウントが存在しない場合は手動でアカウントを作成する必要があります。

重要

ssm-user アカウントを作成するには、インスタンスにアタッチされたインスタンスプロファイルに、必要なアクセス権限を付与する必要があります。詳細については、「Session Manager アクセス許可を持つ IAM インスタンスプロファイルを確認または作成する」を参照してください。

SSM エージェント プリインストールされた AMI

SSM エージェント は、次の Amazon マシンイメージ (AMI) にデフォルトで事前インストールされています。

  • 2016 年 11 月以降に公開された Windows Server 2008-2012 R2 AMI

  • Windows Server 2016 および 2019

  • Amazon Linux

  • Amazon Linux 2

  • Ubuntu Server 16.04

  • Ubuntu Server 18.04

  • Amazon ECS 最適化

他の Linux AMI で作成された EC2 インスタンスの場合は、SSM エージェント を手動でインストールする必要があります。ハイブリッド環境のオンプレミスサーバーまたは VM に SSM エージェント を手動でインストールする必要もあります。詳細については、「ハイブリッド環境で AWS Systems Manager を設定する」を参照してください。

GitHub の SSM エージェント

ニーズに応じて SSM エージェント を調整できるように、エージェントのソースコードが GitHub に用意されています。含める変更について、プルリクエストを送信することをお勧めします。ただし、現在アマゾン ウェブ サービスはこのソフトウェアの修正されたコピーの実行をサポートしていません。