以下の記事は、WindowsオンプレミスサーバーやWorkSpacesにCloudWachAgentを導入する際、いくつか自分の中で躓いたポイントがあったので備忘です。

1. SSM Agentを利用する方法

SSM Agentがインストールされている場合、AWSコンソールからRun Commandを使用してCloudWatch Agentをセットアップできる

  1. AWSコンソールにログインし、Systems Managerサービスに移動
  2. 左側メニューから「Run Command」を選択
  3. 「AWS-ConfigureAWSPackage」コマンドを実行し、CloudWatch Agentをインストール
  4. 「AmazonCloudWatch-ManageAgent」コマンドを実行し、設定ファイルをセットアップ

2. SSM Agentを利用しない方法

SSM Agentがインストールされていない場合は、以下の手順でCloudWatch Agentを手動でセットアップする

2.1 CloudWatch Agentのインストール

  1. CloudWatch Agent installerをダウンロード
  2. ダウンロードしたMSIファイルを実行してインストール

2.2 IAMユーザーの作成とクレデンシャルの設定

  1. AWSコンソールでIAMユーザーを作成し、「CloudWatchAgentAdminPolicy」ポリシーをアタッチ
  2. 作成したユーザーのアクセスキーとシークレットアクセスキーを取得
  3. Windowsのシステム環境変数に以下を設定:
  4. AWS_REGION(ex.ap-northeast-1)
  5. AWS_ACCESS_KEY_ID(作成したIAMユーザーのアクセスキーID)
  6. AWS_SECRET_ACCESS_KEY(作成したIAMユーザーのシークレットアクセスキー)

3. 設定ファイルのセットアップ

3.1 ウィザードを使用する方法

  1. PowerShellを管理者権限で開く
  2. 以下のコマンドを実行: cd 'C:\Program Files\Amazon\AmazonCloudWatchAgent' .\amazon-cloudwatch-agent-config-wizard.exe
  3. ウィザードの指示に従って設定を行う

3.2 設定ファイルを手動で作成する方法

  1. C:\Program Files\Amazon\AmazonCloudWatchAgentconfig.json ファイルを作成
  2. 必要な設定を config.json に記述
  3. PowerShellを管理者権限で開き、以下のコマンドを実行: cd 'C:\Program Files\Amazon\AmazonCloudWatchAgent' .\amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -c file:config.json
  4. "Succeeded" と表示されれば完了
  5. サービスからCloudWatch Agentが起動していることを確認

4. 躓いたポイント

  1. CloudWatch Agentがエラー1053で起動しない場合:
  2. レジストリを編集してサービス起動時間を延長する必要がある可能性

  3. PowerShellでコマンドがエラーになる場合:

  4. PowerShellを管理者権限で開く必要あり

  5. スクリプトの実行が制限されている場合: Set-ExecutionPolicy RemoteSigned -Scope Process Get-ExecutionPolicy -List を実行し、Processスコープが "RemoteSigned" になっていることを確認する

終わりに

未来の自分が必ずやこの記事に助けられることと思います。