Grafanaをdockerで利用する †
AWS CloudWatchの設定 †
ec2等の実機の場合: IAM roleをec2等に設定する
- Authentication Provider: AWS SDK default
- セキュリティ上一番良いが、local dockerではIAM roleから値が取れないので、動作しない(はず)。
- 未検証: STSの値を環境変数(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN)に設定する
localで検証したい場合:
- Authentication Provider: Access key & secret key
- Authentication Provider: Credentials files
- GF_PATHS_HOME /usr/share/grafana なので、ここに「~/.aws/credentials」を配置すれば良さそう
- 「-v ./data:/var/lib/grafana」にマウントして、./data/.aws/credentials に配置しても動作しなかった
ログイン専用のAWSアカウントに集約している(AssumeRole)場合 †
記事:
AWS login account:
- example-login
- IAM user/group/roleの管理だけを行う
AWS another account: 顧客や、用途(dev, stg, prod)毎に複数ある
- example-dev
- example-prod
- example-loginからAssumeRoleするためのroleがある
- Configurations > Data Sources > CloudWatch
- Authentication Provider: Access key & secret key
例: example-dev の例
- Acess Key ID: ~/.aws/credentials の 「example-login」の値
- Secret Access Key: ~/.aws/credentials の 「example-login」の値
- Assume Role ARN: `~/.aws/config の「example-dev」の値
- arn:aws:iam::012345678912:role/example-assumerole-readonly