LoginSignup
1
1

More than 3 years have passed since last update.

EC2上で動作させるGrafanaで、CloudWatchをデータソースとして追加する(IAMロール利用)

Last updated at Posted at 2019-09-09

TL;DR

  • EC2上で動かしているGrafanaで、CloudWatch経由でメトリクスを取得したい
  • Credentialsを直接指定するのではなく、IAMロールでの指定としたい
  • IAMロールを使用する場合、Auth ProviderはCredentialsまたはAccess & secret keyを選び、profileAccess key IDSecret access keyは指定しない

Amazon CloudWatchをGrafanaのデータソースとする

Grafanaのドキュメントとしては、以下に記載があります。

CloudWatchにアクセスするための情報取得の優先順位としては、以下のようになります。

Grafana / AWS CloudWatch

If Auth Provider is Credentials file, Grafana try to get credentials by following order.

・Environment variables. (AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY)
・Hard-code credentials.
・Shared credentials file.
・IAM role for Amazon EC2.

AWS credentials

ここは、Credentialの情報を直接入力したりファイルに書いたりするのではなく、IAMロールを使ってやりたいところですね。

環境

利用するGrafana。

$ bin/grafana-server -v
Version 6.3.5 (commit: 67bad72, branch: HEAD)

OSの情報。

$ cat /etc/system-release
Amazon Linux release 2 (Karoo)

$ uname -a
Linux ip-xx-xx-xx-xx.ap-northeast-1.compute.internal 4.14.133-113.112.amzn2.x86_64 #1 SMP Tue Jul 30 18:29:50 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

IAMロールを作成してEC2にアタッチする

GrafanaからAmazon CloudWatchを利用する際に、作成が必要なIAMロール(ロールに付与すべきポリシー)は、ドキュメントに記載があります。

IAM Policies

まずは、こちらをEC2にアタッチしておきます。

Amazon CloudWatchをGrafanaのデータソースとして追加する

ここで、ついついAuth ProviderにARNを選んで、Assume Role ARNに作成したIAMロールのARNを入力したくなるのですが、これはうまくいきません。

image.png

Credentials fileまたはAccess & secret keyを選択します。

Credentials fileを選んだ場合は、Credentials profile nameを指定しない、

image.png

Access & secret keyを選んだ場合は、Access key IDおよびScret access keyを指定しないようにすれば、データソースに追加することができます。

image.png

ちょっとしたハマりどころ(?)なので、メモとして。

1
1
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
1
1