LoginSignup
3
2

More than 5 years have passed since last update.

Mackerel AWSインテグレーション設定(IAMロール)

Last updated at Posted at 2016-10-12

MackerelでIAMロールでの設定が行えるようになりました。

AccessKeyでは無く、Roleを推奨ということなので、IAMロールで設定します。
AWSリソースは AWS CLI で作成します。

公式手順も更新されています。

事前準備

IAMロール作成に必要になる JSON ファイルを準備します。

ポリシーファイル作成

AssumeRolePolicyDocument.json

公式手順に記載の Account ID、External ID で作成します。

許可するAccount IDには 217452466226 、External IDには Mackerel-AWS-Integration と入力して下さい。

{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::217452466226:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "Mackerel-AWS-Integration"
        }
      }
    }
  ]
}

MackerelAWSIntegrationPolicy.json

タグ絞り込み用のインラインポリシーです。
AWSインテグレーションの対象リソースが増えた場合は適宜追加が必要になると思います。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeTags"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticloadbalancing:DescribeTags"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "rds:ListTagsForResource"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:ListTagsForResource"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

IAMロール作成

IAMロール

ポリシーファイルを使用してIAMロールを作成します。

aws iam create-role \
  --role-name "MackerelAWSIntegrationRole" \
  --assume-role-policy-document file://AssumeRolePolicyDocument.json

IAMポリシー付与

公式記載のポリシーを作成したIAMロールに付与します。
AWSインテグレーションの対象リソースが増えた場合は、ポリシーの追加が必要になると思います。

for POLICYNAME in \
AmazonEC2ReadOnlyAccess \
AmazonElastiCacheReadOnlyAccess \
AmazonRDSReadOnlyAccess
do
  aws iam attach-role-policy \
    --role-name "MackerelAWSIntegrationRole" \
    --policy-arn arn:aws:iam::aws:policy/${POLICYNAME}
  sleep 1
done

インラインポリシー付与

ポリシーファイルを使用してタグ絞り込み用のインラインポリシーを付与します。

aws iam put-role-policy \
  --role-name "MackerelAWSIntegrationRole" \
  --policy-name "MackerelAWSIntegrationPolicy" \
  --policy-document file://MackerelAWSIntegrationPolicy.json

IAMロール作成結果

  • IAM Role

20161012_Mackerel_AWS_role_01.png
20161012_Mackerel_AWS_role_02.png

Mackerel に設定

ARN取得

aws iam list-roles \
--query 'Roles[?RoleName==`MackerelAWSIntegrationRole`].Arn' \
--output text

ARNをAWSインテグレーションへ登録

20161012_Mackerel_AWS_role_03.png

タグ絞り込みを行い、意図した台数となることを確認できました。

20161012_Mackerel_AWS_role_04.png

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2