#はじめに
皆さんは CloudWatch Agent を利用し、EC2サーバー上のメトリクスやログを監視したことがありますでしょうか?
今回はプライベートサブネット内のEC2から、CloudWatch Agentを利用し、メトリクスやログをCloudWatchへ転送したい場合の利用手順を公開したいと思います。
なお、CloudWatch Agentのインストール仕方は、以前の記事で書いたことがありますので、下記の記事をご覧いただければ幸いです。
#エンドポイント
プライベートサブネット内のEC2から、CloudWatch Agentを利用し、メトリクスやログをCloudWatchへ転送したい場合は、エンドポイントの利用が必要となります。
結論から言うと、下記の三条エンドポイントを実装していただければと思います。
1.com.amazonaws.ap-northeast-1.monitoring
2.com.amazonaws.ap-northeast-1.ec2
3.com.amazonaws.ap-northeast-1.logs
#エンドポイントのポリシー
エンドポイントのポリシーは、AWS公式サイトを参考の上、下記まとめました。
まずはcom.amazonaws.ap-northeast-1.monitoring
のポリシーです。
CloudWatch のエンドポイントポリシーの例を次に示します。このポリシーは、VPC を介して CloudWatch に接続するユーザーに対して、CloudWatch にメトリクスデータを送信することを許可し、他の CloudWatch アクションを実行することを禁止します。
{
"Statement": [
{
"Sid": "PutOnly",
"Principal": "*",
"Action": [
"cloudwatch:PutMetricData"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
参考URL:
次にcom.amazonaws.ap-northeast-1.logs
のエンドポイントのポリシーです。
CloudWatch Logs のエンドポイントポリシーの例を次に示します。このポリシーでは、VPC を介して CloudWatch Logs に接続するユーザーはログストリームを作成してログを CloudWatch Logs に送信できますが、他の CloudWatch Logs アクションは実行できません。
{
"Statement": [
{
"Sid": "PutOnly",
"Principal": "*",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
参考URL:
最後はcom.amazonaws.ap-northeast-1.ec2
のポリシーです。
基本的には、私はこれをデフォルトポリシーとして使用しております。
#セキュリティグループ
セキュリティグループの内に入れるルールは、下記となります。
・プロトコル:HTTPS
・CIDR:VPCで使用しているCIDR
#参考
今回はClassmethodさんの記事が大変参考になりました。