CloudWatchモニタリングスクリプト(mon-put-instance-data.pl)を使用すると、AWS認証情報を提供するIAMロール名を指定できます(--aws-iam-role = VALUE)。
この目的のために(AWSインスタンスでmon-put-instance-data.plを実行するために)IAMロールを作成していますが、このロールにどのアクセス許可/ポリシーを付与する必要がありますか?
ご協力ありがとうございました
LinuxのAmazon CloudWatchモニタリングスクリプト は2つのPerlスクリプトで構成され、どちらも1つのPerlモジュールを使用します。ソースを少し覗くと、次のAWS APIアクションが使用されていることがわかります。
CloudWatchClient.pm
- DescribeTagsmon-get-instance-stats.pl
- GetMetricStatistics 、 ListMetricsmon-put-instance-data.pl
- PutMetricDataこの情報を使用して、 IAMポリシー を組み立てることができます。 AWSポリシージェネレーター を介して、すべての包括的なポリシーは次のようになります。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics",
"cloudwatch:PutMetricData",
"ec2:DescribeTags"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
もちろん、ドロップすることもできますcloudwatch:GetMetricStatistics
cloudwatch:ListMetrics
だけを使用する場合mon-put-instance-data.pl
-ただし、実際にはコードをテストしていません。
CloudWatchには、Amazon提供のIAMポリシーがあります。独自に構築する必要はありません。 CloudWatchFullAccess
上記のポリシーでは、バージョンを要求するエラーが発生します。
以下はうまくいくはずです:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1426849513000",
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics",
"cloudwatch:PutMetricAlarm",
"cloudwatch:PutMetricData",
"cloudwatch:SetAlarmState"
],
"Resource": [
"*"
]
}
]
}