# AWS Production Billing 数据分析报告

## 概述

本文档记录了对 `gcp-digital-bi.aws_prod_billing` 数据集的详细分析结果，为后续实现监控分析程序提供数据基础。

## 1. 数据表概览

`gcp-digital-bi.aws_prod_billing` 数据集中共有 **4 个数据表**，对应 **4 个独立的生产账户**：

| 表名 | AWS 账户 ID | 记录总数 | 数据范围 | 最新数据日期 |
|------|------------|----------|----------|-------------|
| `143458967504_aws_billing_data` | 143458967504 | 893,443,951 | 2022-11-03 ~ 2025-08-13 | 2025-08-13 |
| `632330501419_aws_billing_data` | 632330501419 | 110,974 | 2025-08-01 ~ 2025-08-13 | 2025-08-13 |
| `730335266318_aws_billing_data` | 730335266318 | 231,564,690 | 2024-01-26 ~ 2025-08-13 | 2025-08-13 |
| `aws_prod_billing_data` | 380838443567 | 620,400,123 | 2022-01-01 ~ 2025-08-31 | 2025-08-31 |

### 账户特征分析

- **账户 143458967504**: 主要生产账户，数据量最大，历史最悠久
- **账户 632330501419**: 新账户，从2025年8月开始有数据
- **账户 730335266318**: 中等规模账户，从2024年开始有数据
- **账户 380838443567**: 单独的生产账户（对应表 aws_prod_billing_data），数据量较大

## 2. 2025年4月1日后的数据完整性

| 表名 | 4月后首个数据日期 | 最新数据日期 | 有数据天数 | 4月后记录总数 |
|------|-----------------|-------------|-----------|-------------|
| Account_143458967504 | 2025-04-01 | 2025-08-13 | 135天 | 175,295,921 |
| Account_632330501419 | 2025-08-01 | 2025-08-13 | 13天 | 110,974 |
| Account_730335266318 | 2025-04-01 | 2025-08-13 | 135天 | 109,913,400 |
| Account_380838443567 (aws_prod_billing_data) | 2025-04-01 | 2025-08-31 | 153天 | 61,648,643 |

### 数据完整性评估

✅ **完整**: 账户 143458967504、730335266318 和 380838443567 从4月1日起数据完整  
⚠️ **部分**: 账户 632330501419 从8月1日才开始有数据（新账户）  
✅ **数据最新**: 账户 380838443567 (aws_prod_billing_data 表) 数据覆盖到8月31日

## 3. 数据表结构详解

数据表遵循 **AWS Cost and Usage Report (CUR)** 标准格式，包含以下字段类别：

### 3.1 核心标识字段
```sql
identity_line_item_id              -- 账单行项目唯一标识
identity_time_interval             -- 时间间隔
```

### 3.2 账单基本信息
```sql
bill_payer_account_id              -- 付费账户ID
bill_invoice_id                    -- 发票ID
bill_billing_period_start_date     -- 账单周期开始日期
bill_billing_period_end_date       -- 账单周期结束日期
line_item_usage_account_id         -- 实际使用账户ID
line_item_line_item_type           -- 账单项类型(Usage/Tax/Fee等)
line_item_usage_start_date         -- 使用开始时间 ⭐ 主要时间字段
line_item_usage_end_date           -- 使用结束时间
```

### 3.3 成本核心字段
```sql
line_item_unblended_cost           -- 未混合成本(实际成本) ⭐ 关键成本字段
line_item_blended_cost             -- 混合成本
line_item_usage_amount             -- 使用量
line_item_currency_code            -- 货币代码
line_item_unblended_rate           -- 未混合费率
line_item_blended_rate             -- 混合费率
```

### 3.4 产品信息字段 (product_*)
```sql
product_product_name               -- 产品名称 ⭐ 服务分类关键字段
product_servicename                -- 服务名称
product_region                     -- AWS区域 ⭐ 地域分析关键字段
product_instance_type              -- 实例类型
product_operating_system           -- 操作系统
product_usage_type                 -- 使用类型
product_product_family             -- 产品家族
product_location                   -- 位置
product_availability_zone          -- 可用区
```

### 3.5 Reserved Instance 字段 (reservation_*)
```sql
reservation_effective_cost                    -- RI有效成本
reservation_amortized_upfront_cost_for_usage  -- 摊销的预付费用
reservation_reservation_a_r_n                 -- RI ARN
reservation_start_time                        -- RI开始时间
reservation_end_time                          -- RI结束时间
```

### 3.6 Savings Plans 字段 (savings_plan_*)
```sql
savings_plan_effective_cost                          -- SP有效成本
savings_plan_savings_plan_rate                       -- SP费率
savings_plan_used_commitment                         -- SP已使用承诺
savings_plan_total_commitment_to_date                -- SP总承诺
savings_plan_savings_plan_a_r_n                      -- SP ARN
```

### 3.7 资源标签字段 (resource_tags_user_*) ⭐ 成本分摊关键
```sql
resource_tags_user_environment           -- 环境标签(prod/dev/test)
resource_tags_user_project              -- 项目标签
resource_tags_user_cluster              -- 集群标签
resource_tags_user_component             -- 组件标签
resource_tags_user_tenant                -- 租户标签
resource_tags_user_servicetype          -- 服务类型标签
resource_tags_user_usedby               -- 使用方标签
```

### 3.8 分区字段
```sql
year                                 -- 年份(用于分区查询优化)
month                               -- 月份(用于分区查询优化)
```

## 4. 监控分析程序设计要点

### 4.1 推荐的主要分析维度

1. **时间维度**: `line_item_usage_start_date`
2. **成本维度**: `line_item_unblended_cost`
3. **服务维度**: `product_product_name`, `product_servicename`
4. **区域维度**: `product_region`
5. **账户维度**: `line_item_usage_account_id`
6. **标签维度**: `resource_tags_user_*`

### 4.2 关键查询模式

#### 单账户日度成本趋势
```sql
-- 账户 380838443567
SELECT 
  DATE(line_item_usage_start_date) as date,
  SUM(line_item_unblended_cost) as daily_cost
FROM `gcp-digital-bi.aws_prod_billing.aws_prod_billing_data`
WHERE DATE(line_item_usage_start_date) >= '2025-04-01'
GROUP BY DATE(line_item_usage_start_date)
ORDER BY date
```

#### 多账户合并日度成本趋势
```sql
-- 需要 UNION 查询多个表
SELECT 
  DATE(line_item_usage_start_date) as date,
  line_item_usage_account_id as account_id,
  SUM(line_item_unblended_cost) as daily_cost
FROM (
  SELECT * FROM `gcp-digital-bi.aws_prod_billing.143458967504_aws_billing_data`
  UNION ALL
  SELECT * FROM `gcp-digital-bi.aws_prod_billing.632330501419_aws_billing_data`
  UNION ALL  
  SELECT * FROM `gcp-digital-bi.aws_prod_billing.730335266318_aws_billing_data`
  UNION ALL
  SELECT * FROM `gcp-digital-bi.aws_prod_billing.aws_prod_billing_data`
)
WHERE DATE(line_item_usage_start_date) >= '2025-04-01'
GROUP BY date, account_id
ORDER BY date, account_id
```

#### 服务成本分布（单账户示例）
```sql
-- 以账户 380838443567 为例
SELECT 
  product_product_name,
  SUM(line_item_unblended_cost) as total_cost
FROM `gcp-digital-bi.aws_prod_billing.aws_prod_billing_data`
WHERE DATE(line_item_usage_start_date) >= '2025-08-01'
GROUP BY product_product_name
ORDER BY total_cost DESC
```

#### 按环境标签分组（单账户示例）
```sql
-- 以账户 380838443567 为例
SELECT 
  resource_tags_user_environment as environment,
  SUM(line_item_unblended_cost) as env_cost
FROM `gcp-digital-bi.aws_prod_billing.aws_prod_billing_data`
WHERE DATE(line_item_usage_start_date) >= '2025-08-01'
  AND resource_tags_user_environment != ''
GROUP BY resource_tags_user_environment
```

### 4.3 数据质量监控点

1. **数据新鲜度**: 检查最新数据日期是否在预期范围内
2. **数据完整性**: 验证每日是否有数据记录
3. **成本异常**: 识别日度/服务成本的突增或突减
4. **标签覆盖率**: 监控资源标签的完整性

### 4.4 推荐的表选择策略

- **多账户分析**: 需要查询多个单独的账户表（4个独立表）
- **单账户分析**: 使用对应的单账户表
- **历史分析**: 账户 143458967504 有最长的历史数据
- **最新数据**: 账户 380838443567 (aws_prod_billing_data) 数据更新最及时

## 5. 注意事项

1. **时区**: 所有时间戳均为UTC时间
2. **货币**: 成本字段货币代码见 `line_item_currency_code`
3. **成本类型**: 建议优先使用 `line_item_unblended_cost` 进行分析
4. **数据延迟**: AWS账单数据通常有1-2天延迟
5. **标签缺失**: 部分资源可能没有完整的标签信息

## 6. 更新记录

- **2025-08-14**: 初始分析，基于2025年4月1日后的数据
- **数据截止**: 2025-08-31 (合并表最新数据)

---

*本分析为监控程序开发提供数据基础，建议定期更新数据状态*