如何使用 IAM Auth 为 RDS mysql 实例在 EC2 实例上设置 Grafana?

How do I setup Grafana on an EC2 instance using IAM Auth for an RDS mysql instance?

我在 EC2 实例上安装了带有 grafana 的 ELK 堆栈。我在 RDS 中创建了一个 mysql 数据库,创建了一个 grafana 数据库和一个具有适当权限的 grafana 用户。可以使用适当设置的 IAM 角色通过 mysql 访问该用户。

但是,当我尝试使用该数据库启动 Grafana 服务时,我在日志中收到以下错误:

"Fail to initialize orm engine" logger=sqlstore error="Sqlstore::Migration 
failed err: Error 1045: Access denied for user 'grafana'@'SERVERIP' (using 
password: YES)\n"

我的 grafana.ini 数据库部分如下所示:

[database]
host = aurora-cluster-ClusterName.cluster-
RandomAWSSuppliedChars.Region.rds.amazonaws.com:3306
type = mysql
name = grafanaDbName
user = grafanaUserName
password = `aws rds generate-db-auth-token --hostname aurora-cluster-
  ClusterName.cluster-RandomAWSSuppliedChars.Region.rds.amazonaws.com --
  username grafanaUserName --port 3306 --region
  Region`

我也试过不提供密码,但我很确定我需要提供生成的授权令牌。我还尝试生成一个身份验证令牌并在 15 分钟内手动粘贴它 window 虽然它适合测试目的,但我遇到了相同的访问被拒绝错误。

是否支持 IAM 身份验证?如果是这样,我如何提供所需的 Auth 令牌?

配置文件需要几个特定的​​设置才能连接。 RDS 需要 一个 ssl 证书和一个 IAM 令牌。令牌是生成的长字符串,最好设置为环境变量然后传入。证书必须 downloaded 且可访问。

[database]
host = ClusterUri:3306
type = mysql
name = grafanaDatabaseName
user = grafanaUserName
password = AwsSuppliedToken
ssl_mode=true
ca_cert_path=/CertificatePath/rds-combined-ca-bundle.pem
server_cert_name=ClusterName.cluster-RandomAwsSuppliedCharacters.AwsRegion.rds.amazonaws.com