

# AWS Systems Manager を使用して CloudWatch エージェントをインストールする
<a name="installing-cloudwatch-agent-ssm"></a>

 AWS Systems Manager を使用すると、Amazon EC2 インスタンスのフリートに CloudWatch エージェントを簡単にインストールできます。エージェントを 1 台のサーバーにダウンロードし、フリート内のすべてのサーバーに使用する CloudWatch エージェント設定ファイルを作成できます。その後、Systems Manager を使用し、作成した設定ファイルを使用して、エージェントを他のサーバーにインストールできます。以下のトピックに従い、AWS Systems Manager を使用して CloudWatch エージェントをインストールおよび実行します。

**Topics**
+ [SSM エージェントをインストールまたは更新する](#update-SSM-Agent-EC2instance-first)
+ [Systems Manager の前提条件を確認する](#install-CloudWatch-Agent-minimum-requirements-first)
+ [インターネットアクセスを確認する](#install-CloudWatch-Agent-internet-access-first)
+ [CloudWatch エージェントパッケージを最初のインスタンスにダウンロードする](#install-CloudWatch-Agent-EC2-first)
+ [エージェントの設定ファイルを作成して変更する](#CW-Agent-Instance-Create-Configuration-File-first)
+ [エージェント設定を使用して追加の EC2 インスタンスに CloudWatch エージェントをインストールして起動する](#install-CloudWatch-Agent-on-EC2-Instance-fleet)
+ [エージェント設定を使用して追加の EC2 インスタンスに CloudWatch エージェントをインストールする](#install-CloudWatch-Agent-on-EC2-Instance-fleet)
+ [(オプション) CloudWatch エージェントの一般的な設定と名前付きプロファイルを変更する](#CloudWatch-Agent-profile-instance-fleet)

## SSM エージェントをインストールまたは更新する
<a name="update-SSM-Agent-EC2instance-first"></a>

Amazon EC2 インスタンスでは、CloudWatch エージェントを使用するには、インスタンスで SSM エージェントのバージョン 2.2.93.0 以降が実行されている必要があります。CloudWatch エージェントをインストールする前に、SSM Agent を更新するか、インスタンスにインストールしてください (まだの場合)。

Linux を実行しているインスタンスでの SSM Agent のインストールまたは更新については、*AWS Systems Manager ユーザーガイド*の [Linux インスタンスでの SSM Agent のインストールおよび設定](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)を参照してください。

SSM Agent のインストールまたは更新の詳細については、*AWS Systems Manager ユーザーガイド*の [SSM Agent の使用](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html)を参照してください。

## Systems Manager の前提条件を確認する
<a name="install-CloudWatch-Agent-minimum-requirements-first"></a>

Systems Manager Run Command を使用して CloudWatch エージェントをインストールおよび設定する前に、インスタンスが Systems Manager の最低要件を満たしていることを確認してください。詳細については、*AWS Systems Manager ユーザーガイド*の [Systems Manager の前提条件](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html#systems-manager-prereqs)を参照してください。

## インターネットアクセスを確認する
<a name="install-CloudWatch-Agent-internet-access-first"></a>

Amazon EC2 インスタンスは CloudWatch エンドポイントに接続できる必要があります。これは、インターネットゲートウェイ、NAT ゲートウェイ、または CloudWatch Interface VPC エンドポイントによって実現できます。インターネットアクセスの詳しい設定方法については、*Amazon VPC ユーザーガイド*の「[インターネットゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)」を参照してください。

プロキシで設定するエンドポイントとポートは、次のとおりです。
+ エージェントを使用してメトリクスを収集する場合は、適切なリージョンの CloudWatch エンドポイントのリストを許可する必要があります。これらのエンドポイントは、「Amazon Web Services 全般のリファレンス」の「[Amazon CloudWatch](https://docs.aws.amazon.com/general/latest/gr/rande.html#cw_region)」に記載されています。
+ エージェントを使用してログを収集する場合は、適切なリージョンの CloudWatch Logs エンドポイントのリストを許可する必要があります。これらのエンドポイントは、「Amazon Web Services 全般のリファレンス」の「[Amazon CloudWatch Logs](https://docs.aws.amazon.com/general/latest/gr/rande.html#cwl_region)」に記載されています。
+ Systems Manager を使用してエージェントをインストールする、または Parameter Store を使用して設定ファイルを保存する場合は、適切なリージョンの Systems Manager エンドポイントのリストを許可する必要があります。これらのエンドポイントは、「Amazon Web Services 全般のリファレンス」の「[AWS Systems Manager](https://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region)」に記載されています。

## CloudWatch エージェントパッケージを最初のインスタンスにダウンロードする
<a name="install-CloudWatch-Agent-EC2-first"></a>

Systems Manager を使用して CloudWatch エージェントパッケージをダウンロードするには、次の手順に従います。

**Systems Manager を使用して CloudWatch エージェントをダウンロードするには**

1. Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択します。

   -または-

   AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [**Explore Run Command**] (Run Command の詳細) を選択します。

1. [**Run command (コマンドの実行)**] を選択します。

1. [**Command document**] リストで、[**AWS-ConfigureAWSPackage**] を選択します。

1. [**ターゲット**] 領域で、CloudWatch エージェントをインストールする先のインスタンスを選択します。特定のインスタンスが表示されない場合、そのインスタンスは Systems Manager で使用するマネージドインスタンスとして設定されていない可能性があります。詳細については、*AWS Systems Manager ユーザーガイド*から[ハイブリッド環境での AWS Systems Manager のセットアップ](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html)を参照してください。

1. [**アクション**] リストで、[**インストール**] を選択します。

1. [**名前**] フィールドに、「*AmazonCloudWatchAgent*」と入力します。

1. エージェントの最新バージョンをインストールには、[**Version (バージョン)**] を [**latest (最新)**] に設定したままにします。

1. [**Run (実行)**] を選択します。

1. 必要に応じて、[**Targets and outputs**] 領域で、インスタンス名の横のボタンを選択して [**View output**] を選択します。Systems Manager に、エージェントが正常にインストールされたことが表示されます。

   

## エージェントの設定ファイルを作成して変更する
<a name="CW-Agent-Instance-Create-Configuration-File-first"></a>

CloudWatch エージェントをダウンロードしたら、サーバーでエージェントを開始する前に設定ファイルを作成する必要があります。

エージェント設定ファイルを Systems Manager Parameter Store に保存する場合は、EC2 インスタンスを使用してParameter Store に保存する必要があります。さらに、最初にそのインスタンスに `CloudWatchAgentAdminRole` IAM ロールをアタッチする必要があります。ロールのアタッチの詳細については、「Amazon EC2 ユーザーガイド」の「[インスタンスへの IAM ロールのアタッチ](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)」を参照してください。

CloudWatch エージェント設定ファイルの作成の詳細については、「[CloudWatch エージェント設定ファイルを作成する](create-cloudwatch-agent-configuration-file.md)」を参照してください。

## エージェント設定を使用して追加の EC2 インスタンスに CloudWatch エージェントをインストールして起動する
<a name="install-CloudWatch-Agent-on-EC2-Instance-fleet"></a>

CloudWatch エージェント設定を Parameter Store に保存すると、他のサーバーにエージェントをインストールするときに使用できます。

これらのサーバーごとに、このセクションで前述した手順に従って、Systems Manager の前提条件、SSM エージェントのバージョン、インターネットアクセスを確認します。次に、作成した CloudWatch エージェント設定ファイルを使用して、追加のインスタンスに CloudWatch エージェントを次の手順でインストールします。

**ステップ 1: CloudWatch エージェントをダウンロードしてインストールする**

CloudWatch データを別のリージョンに送信するには、このインスタンスにアタッチした IAM ロールに、そのリージョンで CloudWatch データを書き込むアクセス許可があることを確認してください。

次の例では、`aws configure` コマンドを使用して CloudWatch エージェントの名前付きプロファイルを作成します。この例では、`AmazonCloudWatchAgent` のデフォルトプロファイル名を使用しているものとします。

**CloudWatch エージェントの AmazonCloudWatchAgent プロファイルを作成するには**
+ Linux サーバーでは、以下のコマンドを入力し、プロンプトに従います。

  ```
  sudo aws configure --profile AmazonCloudWatchAgent
  ```

  Windows Server では、管理者として PowerShell を開き、以下のコマンドを入力して、プロンプトに従います。

  ```
  aws configure --profile AmazonCloudWatchAgent
  ```

## エージェント設定を使用して追加の EC2 インスタンスに CloudWatch エージェントをインストールする
<a name="install-CloudWatch-Agent-on-EC2-Instance-fleet"></a>

CloudWatch エージェント設定を Parameter Store に保存すると、他のサーバーにエージェントをインストールするときに使用できます。

これらのサーバーごとに、このセクションで前述した手順に従って、Systems Manager の前提条件、SSM エージェントのバージョン、インターネットアクセスを確認します。次に、作成した CloudWatch エージェント設定ファイルを使用して、追加のインスタンスに CloudWatch エージェントを次の手順でインストールします。

**ステップ 1: CloudWatch エージェントをダウンロードしてインストールする**

エージェントはその実行先となる各サーバーにインストールする必要があります。CloudWatch エージェントは、Amazon Linux 2023 および Amazon Linux 2 でパッケージとして利用できます。このオペレーティングシステムを使用している場合は、Systems Manager を使用して、パッケージを次の手順でインストールできます。

**注記**  
また、インスタンスにアタッチされた IAM ロールに **CloudWatchAgentServerPolicy** がアタッチされていることを確認する必要もあります。詳細については、「[前提条件](prerequisites.md)」を参照してください。

**Systems Manager を使用して CloudWatch エージェントをインストールするには**

1. Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択します。

   -または-

   AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [**Explore Run Command**] (Run Command の詳細) を選択します。

1. [**Run command (コマンドの実行)**] を選択します。

1. **[コマンドドキュメント]** リストで、**[AWS-RunShellScript]** を選択します。次に、以下を **[コマンドパラメータ]** に貼り付けます。

   ```
   sudo yum install amazon-cloudwatch-agent
   ```

1. **[実行]** を選択します。

サポートされているすべてのオペレーティングシステムで、Systems Manager Run Command または Amazon S3 ダウンロードリンクを使用して CloudWatch エージェントパッケージをダウンロードできます。

**注記**  
CloudWatch エージェントをインストールまたは更新する場合、**アンインストールして再インストールする**オプションのみがサポートされています。**インプレースの更新**オプションを使用することはできません。

Systems Manager Run Command では、インスタンスの設定を管理できます。Systems Manager ドキュメントを指定してパラメータを指定し、1 つ以上のインスタンスでコマンドを実行します。インスタンスの SSM Agent は、コマンドを処理し、指定されたとおりにインスタンスを設定します。

**Run Command を使用して CloudWatch エージェントをダウンロードするには**

1. Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択します。

   -または-

   AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [**Explore Run Command**] (Run Command の詳細) を選択します。

1. [**Run command (コマンドの実行)**] を選択します。

1. [**Command document**] リストで、[**AWS-ConfigureAWSPackage**] を選択します。

1. [**Targets**] 領域で、CloudWatch エージェントをインストールするインスタンスを選択します。特定のインスタンスが表示されない場合、Run Command 用に設定されていない可能性があります。詳細については、*AWS Systems Manager ユーザーガイド*から[ハイブリッド環境での AWS Systems Manager のセットアップ](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html)を参照してください。

1. [**アクション**] リストで、[**インストール**] を選択します。

1. [**名前**] ボックスに、「*AmazonCloudWatchAgent*」と入力します。

1. エージェントの最新バージョンをインストールには、[**Version (バージョン)**] を [**latest (最新)**] に設定したままにします。

1. [**Run (実行)**] を選択します。

1. 必要に応じて、[**Targets and outputs**] 領域で、インスタンス名の横のボタンを選択して [**View output**] を選択します。Systems Manager に、エージェントが正常にインストールされたことが表示されます。

**ステップ 2: エージェント設定ファイルを使用して CloudWatch エージェントを起動する**

Systems Manager Run Command を使用してエージェントを起動するには、次の手順に従います。

Security-Enhanced Linux (SELinux) が有効になっているシステムでエージェントを設定する方法については、「[Security-Enhanced Linux (SELinux) で CloudWatch エージェントをセットアップする](CloudWatch-Agent-SELinux.md)」を参照してください。

**コマンドの実行を使用して CloudWatch エージェントを起動するには**

1. Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**Run Command**] を選択します。

   -または-

   AWS Systems Manager のホームページが表示された場合は、スクロールダウンして [**Explore Run Command**] (Run Command の詳細) を選択します。

1. [**Run command (コマンドの実行)**] を選択します。

1. [**Command document**] リストで、[**AmazonCloudWatch-ManageAgent**] を選択します。

1. [**Targets**] 領域で、CloudWatch エージェントをインストールしたインスタンスを選択します。

1. [**Action**] リストで、[**configure**] を選択します。

1. [**Optional Configuration Source**] リストで、[**ssm**] を選択します。

1. **[オプションの設定の場所]** ボックスに、「[CloudWatch エージェント設定ファイルを作成する](create-cloudwatch-agent-configuration-file.md)」で説明されているように、作成して Systems Manager Parameter Store に保存したエージェント設定ファイルの Systems Manager パラメータ名を入力します。

1. これらのステップを完了した後、[**Optional Restart**] リストで、[**yes**] を選択してエージェントを開始します。

1. [**Run (実行)**] を選択します。

1. 必要に応じて、[**Targets and outputs**] 領域で、インスタンス名の横のボタンを選択して [**View output**] を選択します。Systems Manager に、エージェントが正常に開始されたことが表示されます。

## (オプション) CloudWatch エージェントの一般的な設定と名前付きプロファイルを変更する
<a name="CloudWatch-Agent-profile-instance-fleet"></a>

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 では、\$1 文字をエスケープする必要があります。

  ```
  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` フィールドで指定します。