ポイント
「エージェントは動いているのに、ログが CloudWatch Logs に出ない」は、インスタンスのロールのアクセス許可を疑う定番の出題です。
・EC2 上のエージェントは、インスタンスプロファイルのロールの一時的な認証情報で API を呼び出します。エージェントを導入した人の IAM ユーザーに許可を足しても効きません。
・CloudWatch Logs のアクションは logs: で始まります。cloudwatch:PutMetricData だけでは、メトリクスは届いてもログは届きません。
・ロールのアクセス許可ポリシーで logs:CreateLogGroup、logs:CreateLogStream、logs:PutLogEvents などを許可します。CloudWatchAgentServerPolicy をアタッチすると、これらがまとめて入ります。
・信頼ポリシーはロールを引き受けられる相手を決める設定です。サービスプリンシパルを足しても、呼べる API は増えません。