跳转到内容

AWS ​

English 文档

AWS 账号有两种接入方式。Cost Explorer 最快:一对访问密钥加一条只含一个操作的 策略,账单按服务、按天进来。S3 里的 Data Export 最细:每一行都有资源 ID、 标签和所属的关联账号——资源洞察给单个资源定价需要的正是这些。

Cost Explorer ​

  1. 打开 IAM 控制台,进入 Users, 点 Create user。这个用户不需要控制台登录权限。
  2. 在新用户上选择 Add permissions → Create inline policy,切换到 JSON 编辑器,粘贴下面的策略(也可以下载 aws-cost-explorer-policy.json)。
  3. 打开该用户的 Security credentials 标签页,点 Create access key。 复制 Access Key ID 和 Secret Access Key;Secret 只显示这一次。
  4. 在 CloudBridge 里用这对密钥添加账号。
json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ce:GetCostAndUsage"
            ],
            "Resource": "*"
        }
    ]
}

它只授予 ce:GetCostAndUsage,也就是 CloudBridge 调用的唯一一个 Cost Explorer 操作。校验密钥用的是 STS GetCallerIdentity,不需要额外授权。不支持需要 session token 的临时凭据。原因和收窄范围的办法见云平台权限。

费用 ​

Cost Explorer 按请求收费。一次刷新为每个账号查询两个月——上个月和本月——各一次请求; 如果某个月数据太多,Cost Explorer 会分页返回,请求会多几次(最多 20 页)。刷新间隔 保证后台调度在每个间隔内只刷新一次,所以按默认的 24 小时,一个账号每天大约两次请求。 AWS 已经返回、但 CloudBridge 没能保存的拉取,在间隔内不会重复。Force Refresh 会绕开这些限制,它是唯一会多花钱的操作。具体价格以 AWS 当前定价为准。

从 S3 读取 Data Export ​

CloudBridge 可以从投递目标 S3 bucket 里读取 AWS Data Export(CUR 2.0,FOCUS 1.2 with AWS columns 格式)。在账号表单的 Data export S3 URI 字段填上导出的 URI——s3://bucket/prefix——之后 Refresh 就从这里读取,而不再调用 Cost Explorer。

  • Parquet 或 gzip 压缩的 CSV,按导出配置的格式读取。
  • 一个月只算一次。 只读取该账期清单(manifest)列出的文件,所以即使导出保留了 每一次投递,一个月也只计一次。
  • 没投递不等于零。 导出还没写出的账期会被跳过,不会存成空月份。
  • 没变化就不重新下载。 先比对文件的 key、大小和 ETag;AWS 已经投递完毕的月份, 每次刷新只需要一次列表请求和一次清单读取。
  • 付款账号的导出可以按成员账号拆分。 每一行都保留它所属的关联账号。

Cost Explorer 策略不包含 S3 权限,见云平台权限。 S3 的存储和请求费用仍然照常收取。

扫描资源 ​

资源洞察用同一对访问密钥扫描 AWS 账号,只做读取。为此密钥需要 资源的读取权限,例如 AWS 托管策略 ReadOnlyAccess。

基于 MIT 许可开源发布。