EC2上で動作させるGrafanaで、CloudWatchをデータソースとして追加する(IAMロール利用)
TL;DR
- EC2上で動かしているGrafanaで、CloudWatch経由でメトリクスを取得したい
- Credentialsを直接指定するのではなく、IAMロールでの指定としたい
- IAMロールを使用する場合、Auth Providerは
Credentials
またはAccess & secret key
を選び、profile
やAccess key ID
、Secret access key
は指定しない
Amazon CloudWatchをGrafanaのデータソースとする
Credentials
またはAccess & secret key
を選び、profile
やAccess key ID
、Secret access key
は指定しないGrafanaのドキュメントとしては、以下に記載があります。
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.
ここは、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ロール(ロールに付与すべきポリシー)は、ドキュメントに記載があります。
まずは、こちらをEC2にアタッチしておきます。
Amazon CloudWatchをGrafanaのデータソースとして追加する
ここで、ついついAuth ProviderにARN
を選んで、Assume Role ARN
に作成したIAMロールのARNを入力したくなるのですが、これはうまくいきません。
Credentials file
またはAccess & secret key
を選択します。
Credentials file
を選んだ場合は、Credentials profile name
を指定しない、
Access & secret key
を選んだ場合は、Access key ID
およびScret access key
を指定しないようにすれば、データソースに追加することができます。
ちょっとしたハマりどころ(?)なので、メモとして。
Author And Source
この問題について(EC2上で動作させるGrafanaで、CloudWatchをデータソースとして追加する(IAMロール利用)), 我々は、より多くの情報をここで見つけました https://qiita.com/charon/items/edbf63b0488cf5b6af2a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .