AWS Grafana / CloudWatch-如何按accountId显示账单

问题描述

我正在尝试创建一个仪表板以在我们的AWS下计费。我们的AWS设置如下:

masteraccount //access to all sub AWS account's billing info
  subAccount1
  subAccount2 //this is where Grafana is running

我有masteraccount的数据源,该数据源是cloudwatchReadOnly访问,并已从运行Grafana的subAccount2设置了acceptRole的工作。

我得到以下数据(敏感数据,所以必须将其掩盖):

enter image description here

但是,我正在寻找的是从此数据源中获取账单数据,然后按AWS accountId对其进行拆分。

我根本不知道该怎么做。 Grafana的新手。预先感谢!

解决方法

为每个子帐户创建Grafana CloudWatch数据源,然后查询每个子帐户/数据源。

,

正如Jan Garaj所说的,实现此目的的方法是创建多个数据源,然后将它们用于不同的小部件。每个数据源都是您在subAccounts中创建的角色的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","Principal": {
        "Service": "ec2.amazonaws.com","AWS": "arn:aws:iam::accountWhereEC2InstanceIsRunning:role/nameOfInstanceProfile"
      },"Action": "sts:AssumeRole"
    }
  ]
}

希望这对某人很方便。

,

在查询设置中,您可以选择LinkedAccount = *作为维。该图比显示主帐户关联帐户的完整列表。

enter image description here