AWS Systems Mangaer Run Command にて CloudWatch エージェントのインストールが失敗するのは何故でしょうか?
困っていた内容
SSM Run Command にて EC2 インスタンスに CloudWatch エージェントをインストールしようとしたところ、インストールに失敗しました。どうすればインストールできるでしょうか。
具体的な解決方法
CloudWatch エージェントのインストールが失敗する場合、主に以下の原因が考えられます。
- インストール先インスタンスのOSとの互換性がない
- SSM エージェントのバージョンが古い
- SSM から AWS 管理の S3 バケットへのアクセスが行えず、マニフェストを取得できない
1. インストール先の OS との互換が無い場合
CloudWatch エージェントは、以下ドキュメント記載の OS がサポートされており、それ以外の OS は 2023 年 11 月現在、サポート外となりインストールすることができません。
CloudWatchエージェントを使用してAmazon EC2インスタンスとオンプレミスサーバーからメトリクス、ログ、トレースを収集する - Amazon CloudWatch
2. SSM エージェントのバージョンが古い
インストール先インスタンス上の SSM エージェントがバージョン2.2.93.0(2023年11月時点)より以前のものである場合、インストールに失敗する可能性があります。
CloudWatchエージェントのトラブルシューティング - Amazon CloudWatch
ドキュメントに記載の SSM バージョン以前のものである場合、SSM エージェントのバージョンアップによりインストールの問題が解消する可能性があります。
3. SSM から AWS 管理の S3 バケットへのアクセスが行えず、マニフェストを取得できない
SSM の Runcommand を利用して CloudWatch エージェントのインストール等のオペレーションを実行する場合は、SSM エージェントから AWS が管理する S3 バケットにアクセスできる必要があります。また、SSM エージェントから S3 バケットへアクセスできず、インストールに必要なマニフェストが取得できない場合、インストールに失敗します。
SSM AgentとAWSマネージドS3バケットとの通信 - AWS Systems Manager
S3 バケットへアクセスできずマニフェストの取得ができない場合、RunCommand の実行結果に以下のようなエラーが出力される可能性があります。
failed to download file reliably, https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast-1/ssm-agent-manifest.json, http request failed. status:403 Forbidden statuscode:403
failed to download the manifest: failed to download manifest - failed to retrieve manifest: ValidationException: Require valid document name.
RunCommand の実行結果より、マニフェスト取得に関するエラーを確認した場合は、S3 エンドポイントのエンドポイントポリシー、インスタンスのプロキシ設定等、SSM マネージャーから AWS が管理する S3 バケットへのアクセスが可能になるよう設定を見直してください。
なお、上記を確認、設定変更を行ってもインストールができず、早急に CloudWatch エージェントを利用したい場合は、以下ドキュメントに記載のコマンドラインを使用しての直接的なダウンロード、インストールもご検討ください。
サーバーでのCloudWatchエージェントのインストールおよび実行 - Amazon CloudWatch