サーバーでの CloudWatch エージェントのインストールおよび実行
必要なエージェント設定ファイルを作成し、IAM ロールまたは IAM ユーザーを作成したら、次のステップに従い、作成した設定を使用してサーバーにエージェントをインストールして実行します。まず、エージェントを実行するサーバーに IAM ロールまたは IAM ユーザーをアタッチします。次に、そのサーバーにエージェントパッケージをダウンロードし、作成したエージェントの設定を使用して起動します。
S3 ダウンロードリンクを使用して CloudWatch エージェントパッケージをダウンロードする
注記
CloudWatch エージェントをダウンロードするには、接続に TLS 1.2 以降を使用する必要があります。
エージェントはその実行先となる各サーバーにインストールする必要があります。
Amazon Linux 2
CloudWatch エージェントは、Amazon Linux 2023 および Amazon Linux 2 のパッケージとして利用できます。このオペレーティングシステムを使用している場合は、以下のコマンドを入力してパッケージをインストールできます。また、インスタンスにアタッチされた IAM ロールに CloudWatchAgentServerPolicy がアタッチされていることを確認する必要もあります。詳細については、「Amazon EC2 インスタンスの CloudWatch エージェントで使用する IAM ロールを作成する」を参照してください。
sudo yum install amazon-cloudwatch-agent
すべてのオペレーティングシステム
サポートされているすべてのオペレーティングシステムで、以下の手順で説明するように、コマンドラインと Amazon S3 ダウンロードリンクを使用して、CloudWatch エージェントをダウンロードしてインストールできます。
ダウンロードリンクごとに、全般的なリンクと各リージョンのリンクがあります。例えば、Amazon Linux 2023、Amazon Linux 2、x86-64 アーキテクチャの場合、有効なダウンロードリンクは次の 3 つです。
-
https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
-
https://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
-
https://amazoncloudwatch-agent-eu-central-1.s3.eu-central-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
アーキテクチャ | プラットフォーム | ダウンロードリンク | 署名ファイルリンク |
---|---|---|---|
x86-64 |
Amazon Linux 2023 および Amazon Linux 2 |
https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent- |
x86-64 |
CentOS |
https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent- |
x86-64 |
Redhat |
https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent- |
x86-64 |
SUSE |
https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent- |
x86-64 |
Debian |
https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent- |
x86-64 |
Ubuntu |
https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent- |
x86-64 |
Oracle |
https://amazoncloudwatch-agent.s3.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent- |
x86-64 |
macOS |
https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig https://amazoncloudwatch-agent- |
x86-64 |
Windows |
https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig https://amazoncloudwatch-agent- |
ARM64 |
Amazon Linux 2023 および Amazon Linux 2 |
https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent- |
ARM64 |
Red Hat |
https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent- |
ARM64 |
Ubuntu |
https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent- |
ARM64 |
SUSE |
https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent- |
https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent- |
コマンドラインを使用して CloudWatch エージェントを Amazon EC2 インスタンスにインストールするには
-
CloudWatch エージェントをダウンロードします。Linux サーバーで、次のように入力します。
download-link
の場合、前の表の適切なダウンロードリンクを使用します。wget
download-link
Windows Server を実行しているサーバーの場合、次のファイルをダウンロードします。
https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi
-
パッケージをダウンロードしたら、オプションでパッケージの署名を確認できます。詳細については、「CloudWatch エージェントパッケージの署名の検証」を参照してください。
-
パッケージをインストールします。Linux サーバーに RPM パッケージをダウンロードした場合は、パッケージがあるディレクトリに移動し、以下を入力します。
sudo rpm -U ./amazon-cloudwatch-agent.rpm
Linux サーバーに DEB パッケージをダウンロードした場合は、パッケージがあるディレクトリに移動し、以下を入力します。
sudo dpkg -i -E ./amazon-cloudwatch-agent.deb
Windows Server を実行するサーバーに MSI パッケージをダウンロードした場合は、パッケージがあるディレクトリに移動し、以下を入力します。
msiexec /i amazon-cloudwatch-agent.msi
このコマンドは PowerShell 内からも使用できます。MSI コマンドオプションの詳細については、Microsoft Windows のドキュメントで「Command-Line Options
」を参照してください。
(EC2 インスタンスへのインストール) IAM ロールのアタッチ
CloudWatch エージェントで、インスタンスのデータを送信できるようにするには、IAM ロールをインスタンスにアタッチする必要があります。アタッチするロールは CloudWatchAgentServerRole です。このロールは事前に作成しておく必要があります。詳細については、「CloudWatch エージェントで使用する IAM ロールとユーザーを作成する」を参照してください。
インスタンスに IAM ロールをアタッチする方法の詳細については、Windows インスタンス用 Amazon EC2 ユーザーガイドの「IAM ロールをインスタンスにアタッチする」を参照してください。
(オンプレミスサーバーへのインストール) IAM 認証情報と AWS リージョンを指定する
CloudWatch エージェントで、オンプレミスサーバーのデータを送信できるようにするには、先ほど作成した IAM ユーザーのアクセスキーおよびシークレットキーを指定する必要があります。このユーザーの作成方法については、「CloudWatch エージェントで使用する IAM ロールとユーザーを作成する」を参照してください。
また、メトリクスを送信する AWS リージョンを指定する必要があります。そのためには、次の例に示されているように、region
設定ファイルの [AmazonCloudWatchAgent]
セクションの AWS フィールドを使用します。
[profile AmazonCloudWatchAgent] region =
us-west-1
aws configure
コマンドを使用して CloudWatch エージェントの名前付きプロファイルを作成する例を以下に示します。この例では、AmazonCloudWatchAgent
のデフォルトプロファイル名を使用しているものとします。
CloudWatch エージェントの AmazonCloudWatchAgent プロファイルを作成するには
まだの場合は、AWS Command Line Interface をサーバーにインストールしてください。詳細については、「AWS CLI のインストール」を参照してください。
-
Linux サーバーでは、以下のコマンドを入力し、プロンプトに従います。
sudo aws configure --profile AmazonCloudWatchAgent
Windows Server では、管理者として PowerShell を開き、以下のコマンドを入力して、プロンプトに従います。
aws configure --profile AmazonCloudWatchAgent
インターネットアクセスを確認する
CloudWatch または CloudWatch Logs にデータを送信するには、Amazon EC2 インスタンスにアウトバウンドインターネットアクセスが必要です。インターネットアクセスの詳しい設定方法については、Amazon VPC ユーザーガイドの「インターネットゲートウェイ」を参照してください。
プロキシで設定するエンドポイントとポートは、次のとおりです。
-
エージェントを使用してメトリクスを収集する場合は、適切なリージョンの CloudWatch エンドポイントを許可リストに追加する必要があります。これらのエンドポイントは、「Amazon CloudWatch エンドポイントとクォータ」に記載されています。
-
エージェントを使用してログを収集する場合は、適切なリージョンの CloudWatch Logs エンドポイントを許可リストに追加する必要があります。これらのエンドポイントは、「Amazon CloudWatch Logs エンドポイントとクォータ」に記載されています。
-
Systems Manager を使用してエージェントをインストールするか、Parameter Store を使用して設定ファイルを保存する場合は、適切なリージョンの Systems Manager エンドポイントを許可リストに追加する必要があります。これらのエンドポイントは、「AWS Systems Manager エンドポイントとクォータ」に記載されています。
(オプション) プロキシ情報またはリージョン情報の一般的な設定を変更する
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 the on-premises 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
が使用されます。このプロファイルの作成の詳細については、「(オンプレミスサーバーへのインストール) IAM 認証情報と AWS リージョンを指定する」を参照してください。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
フィールドで指定します。
コマンドラインを使用して CloudWatch エージェントを起動する
コマンドラインを使用してサーバー上の CloudWatch エージェントを起動するには、以下のステップを実行します。
コマンドラインを使用してサーバーの CloudWatch エージェントを起動するには
-
使用するエージェント設定ファイルを、エージェントを実行するサーバーにコピーします。設定ファイルのコピー先のパス名を書き留めます。
-
このコマンドで、
-a fetch-config
によりエージェントは最新バージョンの CloudWatch エージェント設定ファイルをロードし、-s
がエージェントを開始します。以下のいずれかのコマンドを入力します。
configuration-file-path
は、エージェント設定ファイルへのパスに置き換えます。このファイルの名前は、ウィザードで作成した場合はconfig.json
になり、手動で作成した場合はamazon-cloudwatch-agent.json
になる場合があります。Linux を実行する EC2 インスタンスで、次のコマンドを入力します。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:
configuration-file-path
Linux を実行しているオンプレミスサーバーでは、次のように入力します。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -s -c file:
configuration-file-path
Windows Server を実行する EC2 インスタンスでは、PowerShell コンソールから次のように入力します。
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:
configuration-file-path
Windows Server を実行するオンプレミスサーバーでは、PowerShell コンソールから次のように入力します。
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c file:
configuration-file-path