AWS
AWS 账号有两种接入方式。Cost Explorer 最快:一对访问密钥加一条只含一个操作的 策略,账单按服务、按天进来。S3 里的 Data Export 最细:每一行都有资源 ID、 标签和所属的关联账号——资源洞察给单个资源定价需要的正是这些。
Cost Explorer
- 打开 IAM 控制台,进入 Users, 点 Create user。这个用户不需要控制台登录权限。
- 在新用户上选择 Add permissions → Create inline policy,切换到 JSON 编辑器,粘贴下面的策略(也可以下载 aws-cost-explorer-policy.json)。
- 打开该用户的 Security credentials 标签页,点 Create access key。 复制 Access Key ID 和 Secret Access Key;Secret 只显示这一次。
- 在 CloudBridge 里用这对密钥添加账号。
{
"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。
