AWS Grafana/CloudWatch - 如何按 accountId 显示账单
Posted
技术标签:
【中文标题】AWS Grafana/CloudWatch - 如何按 accountId 显示账单【英文标题】:AWS Grafana/CloudWatch - How to show Bill by accountId 【发布时间】:2020-12-21 05:41:22 【问题描述】:我正在尝试在我们的 AWS 下创建一个用于计费的仪表板。我们的 AWS 设置是这样的:
masterAccount //access to all sub AWS account's billing info
subAccount1
subAccount2 //this is where Grafana is running
我有来自 masterAccount 的数据源,这是一个 cloudwatchReadOnly 访问,并已将其设置为从运行 Grafana 的 subAccount2 工作的假设角色。
我得到的数据如下(敏感数据,所以不得不把它遮住):
但是,我正在寻找的是从该数据源中获取账单数据,然后通过 AWS accountId 对其进行拆分。
我完全不知道该怎么做。对 Grafana 来说非常陌生。提前致谢!
【问题讨论】:
【参考方案1】:为每个子账户创建 Grafana CloudWatch 数据源,然后查询每个子账户/数据源。
【讨论】:
嗨,伙计。感谢您的建议。这就是我想出来的,但后来我陷入了假设角色的情况。我已经提供了完整的答案。【参考方案2】:正如 Jan Garaj 所说,解决此问题的方法是创建多个数据源,然后将它们用于不同的小部件。每个数据源都是您在子帐户中创建的角色的 ARN。
附加到 EC2 实例的实例配置文件:
"Version": "2012-10-17",
"Statement": [
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": [
"arn:aws:iam::subAccount1:role/roleName",
"arn:aws:iam::subAccount2:role/roleName",
"arn:aws:iam::subAccount3:role/roleName"
]
]
信任关系为:
"Version": "2012-10-17",
"Statement": [
"Effect": "Allow",
"Principal":
"Service": "ec2.amazonaws.com"
,
"Action": "sts:AssumeRole"
]
然后,关于 subAccounts(以 subAccount1 为例)
//AWS Created Policy
CloudWatchReadOnlyAccess
//With Trust Relationship
"Version": "2012-10-17",
"Statement": [
"Effect": "Allow",
"Principal":
"Service": "ec2.amazonaws.com",
"AWS": "arn:aws:iam::accountWhereEC2InstanceIsRunning:role/nameOfInstanceProfile"
,
"Action": "sts:AssumeRole"
]
希望这对某人有用。
【讨论】:
【参考方案3】:在查询设置中,您可以选择 LinkedAccount=* 作为维度。图表显示了主账户的关联账户的完整列表。
【讨论】:
以上是关于AWS Grafana/CloudWatch - 如何按 accountId 显示账单的主要内容,如果未能解决你的问题,请参考以下文章