統合 Amazon CloudWatch エージェントを使用し、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスから CloudWatch にメトリクスとログを送信したいです。
解決策
前提条件: 必ず、Amazon EC2 インスタンスでインターネット接続を確立して、必要なエンドポイントに接続するか、仮想プライベートクラウド (VPC) エンドポイントにプライベート接続してください。
EC2 インスタンスで CloudWatch エージェントを実行するための IAM ロールを作成する
次の手順を実行します。
- AWS Identity and Access Management (IAM) コンソールを開きます。
- ナビゲーションペインで、[ロール] をクリックします。
- [ロールの作成] を選択します。
- [このロールを使用するサービスを選択] で [EC2] を選択します。
- [次へ:** アクセス許可**] をクリックします。
- ポリシーのリストで CloudWatchAgentServerPolicy を選択します。
- [次へ:** タグ**] を選択し、[次へ: 確認] をクリックします。
- [ロール名] に、ロールの名前 (CloudWatchAgentServerRole など) を入力します。
- (オプション) ロールの説明を入力します。
- CloudWatchAgentServerPolicy が、[ポリシー] の横に表示されていることを確認します。
- [ロールの作成] を選択します。
- 新しい IAM ロールを EC2 インスタンスにアタッチします。
統合 CloudWatch エージェントをダウンロードしてインストールする
Linux EC2 インスタンス
次の手順を実行します。
-
次のコマンドを実行し、CloudWatch エージェントをダウンロードします。
wget https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
-
次のコマンドを実行し、CloudWatch エージェントをインストールします。
sudo rpm -U ./amazon-cloudwatch-agent.rpm
Windows EC2 インスタンス
Windows PowerShell で、管理者として次の手順を実行します。
-
次のコマンドを実行し、インストーラーをダウンロードするフォルダーを開きます。
cd "path"
注: path をインストーラーのダウンロード先フォルダへのパスに置き換えてください。
-
次のコマンドを実行し、CloudWatch エージェントをダウンロードします。
Invoke-WebRequest -Uri https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi -outFile amazon-cloudwatch-agent.msi
Transport Layer Security (TLS) バージョン 1.2 以前を使用している場合、上記の Invoke-WebRequest コマンドを実行すると、次のエラーメッセージが表示されます。
"Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel"
次のコマンドを実行し、TLS バージョンを設定します。
[Net.ServicePointManager]::SecurityProtocol = "Tls, Tls11, Tls12, Ssl3"
次に、前述の Invoke-WeRequest コマンドをもう一度実行します。
-
次のコマンドを実行し、エージェントインストーラーを起動します。
msiexec /i amazon-cloudwatch-agent.msi
エージェント設定ファイルを作成する
エージェント設定ファイルを作成するには、エージェント設定ウィザードを使用します。次にファイルを手動で編集し、メトリクスやログの追加、削除を行います。
ウィザードを使用するときは、次の設定を行います。
- EC2 インスタンスに StatsD と collectd プラグインをインストールした場合は、[StatsD デーモンを有効にしますか?] と [collectd のメトリクスをモニタリングしますか?] で [はい] を選択します。
- awslogs エージェントをインストールして実行中の場合は、[移行用にインポートする既存の CloudWatch Logs Agent 設定ファイルはありますか?] で [はい] を選択します。
注: [はい] を選択した場合、ウィザードは awslogs エージェント設定ファイル (/etc/awslogs/awslogs.conf または /var/awslogs/etc/awslogs.conf) を読み取って、監視する必要のあるログファイルを決定します。
- [AWS Systems Manager の機能である Parameter Store に設定を保存しますか?] で [はい] を選択すると、エージェント設定ファイルが Parameter Store に保存され、後でそのファイルを再利用できます。
注: エージェント設定ファイルを Parameter Store に保存する場合、エージェントを起動するためのコマンドは別のものになります。
ウィザードで設定を行った後、エージェント設定ファイルはデフォルトで /opt/aws/amazon-cloudwatch-agent/bin/config.json に保存されます。メトリクスまたはログを追加または削除するには、ファイルを手動で編集します。
カスタム設定ファイルの例については、「CloudWatch エージェント設定ファイルを手動で作成または編集する」の「CloudWatch エージェント設定ファイルの Systems Manager Parameter Store へのアップロード」を参照してください。
注: エージェント設定ファイルを変更する場合、fetch-config コマンドを使用してエージェントを起動して、変更がエージェントに反映されていることを確認します。
Linux EC2 インスタンス
次のコマンドを実行します。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
Windows EC2 インスタンス
次のコマンドを、Windows PowerShell で管理者として実行します。
cd "C:\Program Files\Amazon\AmazonCloudWatchAgent" .\amazon-cloudwatch-agent-config-wizard.exe
デフォルトでは、ウィザードはエージェント設定ファイルをパス C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json で作成します。
CloudWatch エージェントを起動する
Linux EC2 インスタンス
次のコマンドを実行します。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:configuration-file-path -s
注: configuration-file-path を実際の設定ファイルのパスに置き換えてください。
Windows EC2 インスタンス
次のコマンドを、Windows PowerShell で管理者として実行します。
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -c file:configuration-file-path -s
注: configuration-file-path を実際の設定のパスに置き換えてください。
デフォルトでは、エージェントは、NameSpace CWAgent にメトリクスを送信します。
エージェントのステータスを確認する
エージェントが CloudWatch で設定したメトリクスを入力するまでには、時間がかかります。エージェントがメトリクスを入力する前にエージェントが実行中になっているかどうかを確認するには、次のコマンドを実行します。
Linux EC2 インスタンス:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
Windows EC2 インスタンス:
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -m ec2 -a status
CloudWatch エージェントを起動、停止する
詳細については、「CloudWatch エージェントの停止および再起動」を参照してください。