SSM を使用して CloudWatch エージェントをダウンロード、設定、実行する
このセクションでは、Systems Manager を使用してエージェントをダウンロードする方法と、その後エージェント設定ファイルを作成する方法について説明します。Systems Manager を使用してエージェントをダウンロードするには、Systems Manager に合わせてインスタンスが適切に設定されていることを確認する必要があります。
SSM エージェントをインストールまたは更新する
Amazon EC2 インスタンスでは、CloudWatch エージェントを使用するには、インスタンスで SSM エージェントのバージョン 2.2.93.0 以降が実行されている必要があります。CloudWatch エージェントをインストールする前に、SSM Agent を更新するか、インスタンスにインストールしてください (まだの場合)。
Linux を実行しているインスタンスでの SSM Agent のインストールまたは更新については、AWS Systems Manager ユーザーガイドの Linux インスタンスでの SSM Agent のインストールおよび設定を参照してください。
SSM Agent のインストールまたは更新の詳細については、AWS Systems Manager ユーザーガイドの SSM Agent の使用を参照してください。
Systems Manager の前提条件を確認する
Systems Manager Run Command を使用して CloudWatch エージェントをインストールおよび設定する前に、インスタンスが Systems Manager の最低要件を満たしていることを確認してください。詳細については、AWS Systems Manager ユーザーガイドの Systems Manager の前提条件を参照してください。
インターネットアクセスを確認する
Amazon EC2 インスタンスは CloudWatch エンドポイントに接続できる必要があります。これは、インターネットゲートウェイ、NAT ゲートウェイ、または CloudWatch Interface VPC エンドポイントによって実現できます。インターネットアクセスの詳しい設定方法については、Amazon VPC ユーザーガイドの「インターネットゲートウェイ」を参照してください。
プロキシで設定するエンドポイントとポートは、次のとおりです。
-
エージェントを使用してメトリクスを収集する場合は、適切なリージョンの CloudWatch エンドポイントのリストを許可する必要があります。これらのエンドポイントは、「Amazon Web Services 全般のリファレンス」の「Amazon CloudWatch」に記載されています。
-
エージェントを使用してログを収集する場合は、適切なリージョンの CloudWatch Logs エンドポイントのリストを許可する必要があります。これらのエンドポイントは、「Amazon Web Services 全般のリファレンス」の「Amazon CloudWatch Logs」に記載されています。
-
Systems Manager を使用してエージェントをインストールする、または Parameter Store を使用して設定ファイルを保存する場合は、適切なリージョンの Systems Manager エンドポイントのリストを許可する必要があります。これらのエンドポイントは、「Amazon Web Services 全般のリファレンス」の「AWS Systems Manager」に記載されています。
CloudWatch エージェントパッケージを最初のインスタンスにダウンロードする
Systems Manager を使用して CloudWatch エージェントパッケージをダウンロードするには、次の手順に従います。
Systems Manager を使用して CloudWatch エージェントをダウンロードするには
Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 ナビゲーションペインで、[Run Command] を選択します。
-または-
AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [Explore Run Command] (Run Command の詳細) を選択します。
-
[Run command (コマンドの実行)] を選択します。
-
[Command document] リストで、[AWS-ConfigureAWSPackage] を選択します。
-
[ターゲット] 領域で、CloudWatch エージェントをインストールする先のインスタンスを選択します。特定のインスタンスが表示されない場合、そのインスタンスは Systems Manager で使用するマネージドインスタンスとして設定されていない可能性があります。詳細については、AWS Systems Manager ユーザーガイドからハイブリッド環境での AWS Systems Manager のセットアップを参照してください。
-
[アクション] リストで、[インストール] を選択します。
-
[名前] フィールドに、「
AmazonCloudWatchAgent
」と入力します。 -
エージェントの最新バージョンをインストールには、[Version (バージョン)] を [latest (最新)] に設定したままにします。
-
[Run (実行)] を選択します。
-
必要に応じて、[Targets and outputs] 領域で、インスタンス名の横のボタンを選択して [View output] を選択します。Systems Manager に、エージェントが正常にインストールされたことが表示されます。
エージェントの設定ファイルを作成して変更する
CloudWatch エージェントをダウンロードしたら、サーバーでエージェントを開始する前に設定ファイルを作成する必要があります。
エージェント設定ファイルを Systems Manager Parameter Store に保存する場合は、EC2 インスタンスを使用してParameter Store に保存する必要があります。さらに、最初にそのインスタンスに CloudWatchAgentAdminRole
IAM ロールをアタッチする必要があります。ロールのアタッチの詳細については、「Amazon EC2 ユーザーガイド」の「インスタンスへの IAM ロールのアタッチ」を参照してください。
CloudWatch エージェント設定ファイルの作成の詳細については、「CloudWatch エージェント設定ファイルを作成する」を参照してください。
エージェント設定を使用して追加の EC2 インスタンスに CloudWatch エージェントをインストールして起動する
CloudWatch エージェント設定を Parameter Store に保存すると、他のサーバーにエージェントをインストールするときに使用できます。
これらのサーバーごとに、このセクションで前述した手順に従って、Systems Manager の前提条件、SSM エージェントのバージョン、インターネットアクセスを確認します。次に、作成した CloudWatch エージェント設定ファイルを使用して、追加のインスタンスに CloudWatch エージェントを次の手順でインストールします。
ステップ 1: CloudWatch エージェントをダウンロードしてインストールする
CloudWatch データを別のリージョンに送信するには、このインスタンスにアタッチした IAM ロールに、そのリージョンで CloudWatch データを書き込むアクセス許可があることを確認してください。
次の例では、aws configure
コマンドを使用して CloudWatch エージェントの名前付きプロファイルを作成します。この例では、AmazonCloudWatchAgent
のデフォルトプロファイル名を使用しているものとします。
CloudWatch エージェントの AmazonCloudWatchAgent プロファイルを作成するには
-
Linux サーバーでは、以下のコマンドを入力し、プロンプトに従います。
sudo aws configure DASHDASHprofile AmazonCloudWatchAgent
Windows Server では、管理者として PowerShell を開き、以下のコマンドを入力して、プロンプトに従います。
aws configure DASHDASHprofile AmazonCloudWatchAgent
エージェント設定を使用して追加の EC2 インスタンスに CloudWatch エージェントをインストールする
CloudWatch エージェント設定を Parameter Store に保存すると、他のサーバーにエージェントをインストールするときに使用できます。
これらのサーバーごとに、このセクションで前述した手順に従って、Systems Manager の前提条件、SSM エージェントのバージョン、インターネットアクセスを確認します。次に、作成した CloudWatch エージェント設定ファイルを使用して、追加のインスタンスに CloudWatch エージェントを次の手順でインストールします。
ステップ 1: CloudWatch エージェントをダウンロードしてインストールする
エージェントはその実行先となる各サーバーにインストールする必要があります。CloudWatch エージェントは、Amazon Linux 2023 および Amazon Linux 2 でパッケージとして利用できます。このオペレーティングシステムを使用している場合は、Systems Manager を使用して、パッケージを次の手順でインストールできます。
注記
また、インスタンスにアタッチされた IAM ロールに CloudWatchAgentServerPolicy がアタッチされていることを確認する必要もあります。詳細については、「Amazon EC2 インスタンスの CloudWatch エージェントで使用する IAM ロールを作成する」を参照してください。
Systems Manager を使用して CloudWatch エージェントをインストールするには
Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 ナビゲーションペインで、[Run Command] を選択します。
-または-
AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [Explore Run Command] (Run Command の詳細) を選択します。
-
[Run command (コマンドの実行)] を選択します。
[コマンドドキュメント] リストで、[AWS-RunShellScript] を選択します。次に、以下を [コマンドパラメータ] に貼り付けます。
sudo yum install amazon-cloudwatch-agent
[実行] を選択します。
サポートされているすべてのオペレーティングシステムで、Systems Manager Run Command または Amazon S3 ダウンロードリンクを使用して CloudWatch エージェントパッケージをダウンロードできます。Amazon S3 ダウンロードリンクの使用については、「CloudWatch エージェントパッケージをダウンロードする」を参照してください。
注記
CloudWatch エージェントをインストールまたは更新する場合、アンインストールして再インストールするオプションのみがサポートされています。インプレースの更新オプションを使用することはできません。
Systems Manager Run Command では、インスタンスの設定を管理できます。Systems Manager ドキュメントを指定してパラメータを指定し、1 つ以上のインスタンスでコマンドを実行します。インスタンスの SSM Agent は、コマンドを処理し、指定されたとおりにインスタンスを設定します。
Run Command を使用して CloudWatch エージェントをダウンロードするには
Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 ナビゲーションペインで、[Run Command] を選択します。
-または-
AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [Explore Run Command] (Run Command の詳細) を選択します。
-
[Run command (コマンドの実行)] を選択します。
-
[Command document] リストで、[AWS-ConfigureAWSPackage] を選択します。
-
[Targets] 領域で、CloudWatch エージェントをインストールするインスタンスを選択します。特定のインスタンスが表示されない場合、Run Command 用に設定されていない可能性があります。詳細については、AWS Systems Manager ユーザーガイドからハイブリッド環境での AWS Systems Manager のセットアップを参照してください。
-
[アクション] リストで、[インストール] を選択します。
-
[名前] ボックスに、「
AmazonCloudWatchAgent
」と入力します。 -
エージェントの最新バージョンをインストールには、[Version (バージョン)] を [latest (最新)] に設定したままにします。
-
[Run (実行)] を選択します。
-
必要に応じて、[Targets and outputs] 領域で、インスタンス名の横のボタンを選択して [View output] を選択します。Systems Manager に、エージェントが正常にインストールされたことが表示されます。
ステップ 2: エージェント設定ファイルを使用して CloudWatch エージェントを起動する
Systems Manager Run Command を使用してエージェントを起動するには、次の手順に従います。
コマンドの実行を使用して CloudWatch エージェントを起動するには
Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 ナビゲーションペインで、[Run Command] を選択します。
-または-
AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [Explore Run Command] (Run Command の詳細) を選択します。
-
[Run command (コマンドの実行)] を選択します。
-
[Command document] リストで、[AmazonCloudWatch-ManageAgent] を選択します。
-
[Targets] 領域で、CloudWatch エージェントをインストールしたインスタンスを選択します。
-
[Action] リストで、[configure] を選択します。
-
[Optional Configuration Source] リストで、[ssm] を選択します。
-
[オプションの設定の場所] ボックスに、「CloudWatch エージェント設定ファイルを作成する」で説明されているように、作成して Systems Manager Parameter Store に保存したエージェント設定ファイルの Systems Manager パラメータ名を入力します。
-
これらのステップを完了した後、[Optional Restart] リストで、[yes] を選択してエージェントを開始します。
-
[Run (実行)] を選択します。
-
必要に応じて、[Targets and outputs] 領域で、インスタンス名の横のボタンを選択して [View output] を選択します。Systems Manager に、エージェントが正常に開始されたことが表示されます。
(オプション) CloudWatch エージェントの一般的な設定と名前付きプロファイルを変更する
CloudWatch エージェントには、common-config.toml
と呼ばれる設定ファイルが含まれます。(オプション) このファイルを使用してプロキシおよびリージョン情報を指定できます。
Linux を実行しているサーバーでは、このファイルは /opt/aws/amazon-cloudwatch-agent/etc
ディレクトリにあります。Windows Server を実行しているサーバーでは、このファイルは C:\ProgramData\Amazon\AmazonCloudWatchAgent
ディレクトリにあります。
デフォルトの common-config.toml
は次のようになります。
# This common-config is used to configure items used for both ssm and cloudwatch access ## Configuration for shared credential. ## Default credential strategy will be used if it is absent here: ## Instance role is used for EC2 case by default. ## AmazonCloudWatchAgent profile is used for onPremise case by default. # [credentials] # shared_credential_profile = "{profile_name}" # shared_credential_file= "{file_name}" ## Configuration for proxy. ## System-wide environment-variable will be read if it is absent here. ## i.e. HTTP_PROXY/http_proxy; HTTPS_PROXY/https_proxy; NO_PROXY/no_proxy ## Note: system-wide environment-variable is not accessible when using ssm run-command. ## Absent in both here and environment-variable means no proxy will be used. # [proxy] # http_proxy = "{http_url}" # https_proxy = "{https_url}" # no_proxy = "{domain}"
初期状態では、すべての行がコメントアウトされています。認証情報プロファイルやプロキシ設定を設定するには、その行から #
を削除し、値を指定します。このファイルを手動で編集するか、Systems Manager の RunShellScript
Run Command を使用できます。
-
shared_credential_profile
– オンプレミスサーバーの場合、このコード行では、データを CloudWatch に送信するために使用する IAM ユーザー認証情報を指定します。このコード行をコメントアウトした場合、AmazonCloudWatchAgent
が使用されます。EC2 インスタンスでは、このコード行を使用して、CloudWatch エージェントでこのインスタンスのデータを別の AWS リージョンの CloudWatch に送信します。そのためには、送信先のリージョンの名前を指定する
region
フィールドを含む名前付きプロファイルを指定します。shared_credential_profile
を指定する場合は、[credentials]
行の先頭から#
を削除する必要もあります。 -
shared_credential_file
– エージェントでデフォルトのパス以外のパスにあるファイルの認証情報を検索するには、ここで完全なパスとファイル名を指定します。デフォルトのパスは、/root/.aws
(Linux) およびC:\\Users\\Administrator\\.aws
(Windows Server) です。以下の最初の例は、Linux サーバーで有効な
shared_credential_file
行の構文です。2 番目の例は、Windows Server で有効です。Windows Server では、\ 文字をエスケープする必要があります。shared_credential_file= "/usr/
username
/credentials"shared_credential_file= "C:\\Documents and Settings\\
username
\\.aws\\credentials"shared_credential_file
を指定する場合は、[credentials]
行の先頭から#
を削除する必要もあります。 -
プロキシ設定 – サーバーで HTTP プロキシまたは HTTPS プロキシを使用して AWS サービスに接続する場合は、これらのプロキシを
http_proxy
フィールドとhttps_proxy
フィールドに指定します。プロキシから除外すべき URL がある場合、カンマで区切ってno_proxy
フィールドで指定します。