WindowsにAmazonCloudWatch Agentをインストールしてサービスを開始すると、クラッシュと再起動が繰り返されます。
Windowsイベントログでは、クラッシュとともに次のイベントが発生します。
イベントID 7031
エラー
Amazon CloudWatchAgentサービスが予期せず終了しました。これをX回行いました。
そして:
イベントID 7039
警告
Amazon CloudWatchAgentサービスの開始時に接続されたサービスコントロールマネージャーによって起動されたもの以外のサービスプロセス。サービスコントロールマネージャーはプロセスXXXを起動し、代わりにプロセスXXXが接続されました。
の中に Amazon-cloudwatch-agent.log
ファイル最後のエラーは次のとおりです。
ec2tagger:EC2インスタンスタグを初期化できません:+ NoCredentialProviders:チェーンに有効なプロバイダーがありません。
この動作は、CloudWatchへのメトリクスの書き込みとEC2およびSystemsManagerとの通信を許可するIAMロールをインスタンスにアタッチしていない場合に発生する可能性があります。
IAMロールの作成は、次のように完了できます。
AWSマネジメントコンソールにサインインし、 https://console.aws.Amazon.com/iam/ でIAMコンソールを開きます。
左側のナビゲーションペインで、[役割]、[役割の作成]の順に選択します。
[このロールを使用するサービスを選択してください]で、[EC2]を選択します。EC2インスタンスがお客様に代わってAWSサービスを呼び出すことを許可します。次へ:権限を選択します。
ポリシーのリストで、CloudWatchAgentServerPolicyの横にあるチェックボックスを選択します。必要に応じて、検索ボックスを使用してポリシーを見つけます。
SSMを使用してCloudWatchエージェントをインストールまたは設定するには、AmazonEC2RoleforSSMの横にあるチェックボックスを選択します。必要に応じて、検索ボックスを使用してポリシーを見つけます。コマンドラインからのみエージェントを起動および設定する場合、このポリシーは必要ありません。
次を選択:レビュー。
CloudWatchAgentServerPolicyおよびオプションでAmazonEC2RoleforSSMがポリシーの横に表示されることを確認します。 「役割名」に、CloudWatchAgentServerRoleなどの役割の名前を入力します。オプションで説明を入力し、ロールの登録を選択します。
これでロールが作成されました。
IAMロールを作成したら、起動時に、またはEC2でインスタンスを右クリックし、[インスタンス設定]> [IAMロールのアタッチ/置換]を選択して、EC2インスタンスにアタッチする必要があります。