# AWS Non-Production Billing 数据分析报告

## 概述

本文档记录了对 `gcp-digital-bi.aws_nonprod_billing_native` 数据集的详细分析结果，为后续实现非生产环境监控分析程序提供数据基础。该数据集包含50个AWS非生产账户的账单数据。

## 1. 数据集概览

`gcp-digital-bi.aws_nonprod_billing_native` 数据集特征：

- **账户总数**: 50个AWS非生产账户
- **表命名模式**: `{account_id}_aws_billing_data`
- **表类型**: TABLE (与生产环境的EXTERNAL表不同)
- **分区策略**: 按日分区 (DAY field: line_item_usage_start_date)

### 1.1 非生产账户列表

| 序号 | 账户ID | 表名 |
|------|--------|------|
| 1 | 013690006788 | 013690006788_aws_billing_data |
| 2 | 024848481520 | 024848481520_aws_billing_data |
| 3 | 131464424160 | 131464424160_aws_billing_data |
| 4 | 154343023214 | 154343023214_aws_billing_data |
| 5 | 166681434446 | 166681434446_aws_billing_data |
| ... | ... | ... |
| 50 | 986330900858 | 986330900858_aws_billing_data |

*完整50个账户列表详见附录*

## 2. 代表性账户数据分析

基于5个代表性账户的数据分析：

| 账户ID | 记录总数 | 数据范围 | 最新数据日期 | 4月后记录数 |
|--------|----------|----------|-------------|-------------|
| 013690006788 | 2,996,363 | 2024-08-14 ~ 2025-08-13 | 2025-08-13 | 651,881 |
| 024848481520 | 955,376 | 2024-08-14 ~ 2025-08-13 | 2025-08-13 | 234,008 |
| 470438934515 | 246,068 | 2024-08-14 ~ 2025-08-13 | 2025-08-13 | 97,175 |
| 790636686964 | 336,667 | 2025-06-26 ~ 2025-08-13 | 2025-08-13 | 336,667 |
| 986330900858 | 13,411,398 | 2024-08-14 ~ 2025-08-13 | 2025-08-13 | 6,121,643 |

### 2.1 数据特征分析

- **数据新鲜度**: 所有账户数据最新至2025-08-13，数据及时性良好
- **数据历史**: 大部分账户从2024-08-14开始有数据
- **规模差异**: 账户986330900858数据量最大(1341万条)，是主要的非生产账户
- **新账户**: 790636686964从2025-06-26开始，可能是新创建的账户

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

| 账户类型 | 特征 | 4月后数据占比 | 状态 |
|---------|------|---------------|------|
| 大型账户 | 986330900858 | 45.7% | ✅ 完整 |
| 中型账户 | 013690006788 | 21.8% | ✅ 完整 |
| 小型账户 | 024848481520 | 24.5% | ✅ 完整 |
| 新账户 | 790636686964 | 100% | ⚠️ 6月后 |

**完整性评估**：
- ✅ **数据完整**: 大部分账户4月1日后数据完整
- ⚠️ **部分账户**: 个别账户为新创建，数据起始时间较晚
- ✅ **时效性**: 所有账户数据都更新到8月中旬

## 4. 数据表结构分析

### 4.1 表结构特点

非生产环境表与生产环境表结构**基本一致**，遵循AWS CUR标准格式：

- **表类型**: TABLE (非EXTERNAL)
- **分区方式**: 按 `line_item_usage_start_date` 日分区
- **字段结构**: 与生产环境完全相同的CUR格式

### 4.2 核心字段分类

#### 身份和时间字段
```sql
identity_line_item_id              -- 账单行项目唯一标识
identity_time_interval             -- 时间间隔
line_item_usage_start_date         -- 使用开始时间 ⭐ 主要时间字段
line_item_usage_end_date           -- 使用结束时间
```

#### 账单核心信息
```sql
bill_payer_account_id              -- 付费账户ID
line_item_usage_account_id         -- 实际使用账户ID
line_item_unblended_cost           -- 未混合成本 ⭐ 主要成本字段
line_item_blended_cost             -- 混合成本
line_item_usage_amount             -- 使用量
```

#### 产品和服务信息
```sql
product_product_name               -- 产品名称 ⭐ 服务分类
product_servicename                -- 服务名称
product_region                     -- AWS区域 ⭐ 地域分析
product_instance_type              -- 实例类型
```

#### 非生产环境特有标签
```sql
resource_tags_user_environment     -- 环境标签 ⭐ 非生产环境分类关键
resource_tags_user_project         -- 项目标签
resource_tags_user_cluster         -- 集群标签
resource_tags_user_component       -- 组件标签
```

## 5. 非生产环境数据特征

基于样本账户986330900858的8月份数据分析：

- **环境标签数量**: 3种不同环境标签
- **产品种类**: 15种不同AWS产品
- **8月总成本**: $3,727.95
- **成本特点**: 相比生产环境成本较低，符合非生产环境特征

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

### 6.1 非生产环境特有的监控维度

1. **多账户聚合**: 50个账户的统一监控
2. **环境分类**: 基于 `resource_tags_user_environment` 进行dev/test/staging分类
3. **成本控制**: 非生产环境成本异常检测
4. **资源利用**: 开发测试资源的使用效率监控

### 6.2 推荐查询模式

#### 非生产环境总成本趋势
```sql
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 `gcp-digital-bi.aws_nonprod_billing_native.*_aws_billing_data`
WHERE DATE(line_item_usage_start_date) >= '2025-08-01'
GROUP BY date, account_id
ORDER BY date, account_id
```

#### 环境标签成本分析
```sql
SELECT 
  resource_tags_user_environment as environment,
  product_product_name,
  SUM(line_item_unblended_cost) as total_cost
FROM `gcp-digital-bi.aws_nonprod_billing_native.986330900858_aws_billing_data`
WHERE DATE(line_item_usage_start_date) >= '2025-08-01'
  AND resource_tags_user_environment != ''
GROUP BY environment, product_product_name
ORDER BY total_cost DESC
```

#### 跨账户服务使用分析
```sql
SELECT 
  product_product_name,
  COUNT(DISTINCT line_item_usage_account_id) as account_count,
  SUM(line_item_unblended_cost) as total_cost
FROM `gcp-digital-bi.aws_nonprod_billing_native.*_aws_billing_data`
WHERE DATE(line_item_usage_start_date) >= '2025-08-01'
GROUP BY product_product_name
ORDER BY total_cost DESC
```

### 6.3 非生产环境监控重点

1. **成本预警**:
   - 单账户日成本超过阈值
   - 总非生产成本占比异常
   - 长期运行的开发资源

2. **资源优化**:
   - 未使用的测试资源
   - 过度配置的开发环境
   - 忘记清理的临时资源

3. **标签治理**:
   - 标签缺失率监控
   - 环境标签规范性检查
   - 项目归属准确性

### 6.4 数据质量特点

1. **分区优化**: 使用日分区，查询性能更好
2. **数据一致性**: TABLE类型保证数据一致性
3. **多账户复杂性**: 需要处理50个独立表的数据聚合

## 7. 生产vs非生产环境对比

| 特征 | 生产环境 | 非生产环境 |
|------|----------|------------|
| 账户数量 | 3个 + 1个合并表 | 50个独立账户 |
| 表类型 | EXTERNAL | TABLE |
| 分区策略 | 无明显分区 | 日分区(line_item_usage_start_date) |
| 数据规模 | 大(6亿+记录) | 中等(平均300万/账户) |
| 成本特征 | 高成本生产工作负载 | 低成本开发测试负载 |
| 监控重点 | 服务稳定性和成本效率 | 资源浪费和成本控制 |

## 8. 监控程序实现建议

### 8.1 架构设计

```mermaid
graph TD
    A[50个非生产账户表] --> B[数据聚合层]
    B --> C[环境分类]
    B --> D[账户级监控]
    B --> E[服务级监控]
    C --> F[Dev环境监控]
    C --> G[Test环境监控]
    C --> H[Staging环境监控]
```

### 8.2 关键指标定义

1. **账户级指标**:
   - 日成本、周成本、月成本
   - 成本增长率
   - 主要服务占比

2. **环境级指标**:
   - 环境成本分布
   - 资源利用率
   - 标签完整性

3. **跨账户指标**:
   - 非生产总成本
   - 账户成本排名
   - 异常账户识别

## 9. 注意事项

1. **查询性能**: 50个表的联合查询需要优化
2. **成本控制**: 非生产环境成本控制更为重要
3. **数据延迟**: TABLE类型数据延迟可能比EXTERNAL略低
4. **标签治理**: 非生产环境标签管理更需要规范

## 10. 附录

### 10.1 完整账户列表

```
013690006788, 024848481520, 131464424160, 154343023214, 166681434446,
178851224597, 182399704004, 200683210682, 215018566524, 219248915861,
225664694250, 227896186585, 238000375016, 239023060546, 316218510314,
335771843383, 373771598235, 378955295993, 385595570414, 398894451188,
448141240262, 470438934515, 482894109814, 484464460052, 487575298759,
487825215408, 494090988690, 495580073302, 503448922830, 510387698298,
552185537300, 557537366020, 571336270049, 577523860935, 646528577659,
654654515588, 676546228356, 720353139560, 729581434105, 790636686964,
795292582174, 801626783489, 813266824626, 834466568056, 835830315734,
886436925895, 886436949658, 907562331187, 945698639225, 946646677266,
986330900858
```

## 11. 更新记录

- **2025-08-14**: 初始分析，基于50个非生产账户数据
- **数据截止**: 2025-08-13 (所有账户最新数据)

---

*本分析为非生产环境监控程序开发提供数据基础，建议定期更新数据状态和账户变化*