mcpField
C
cost-optimization

cost-optimization

github.com/wshobson云与 DevOps41.9k11.6k 次安装2 周前更新
代码仓库

关于 cost-optimization

面向管理 AWS、Azure、GCP 和 OCI 支出的团队,提供云成本优化方法,涵盖成本可见性、资源规格、定价方式和架构模式。

主要功能

  1. 01成本可见性与预算提醒
  2. 02资源利用率分析与规格调整
  3. 03预留、竞价及承诺定价
  4. 04存储与架构优化
  5. 05多云成本监控

适用场景

  1. 01降低多家云服务商的支出
  2. 02依据利用率调整资源规格
  3. 03设置预算并检测成本异常
  4. 04为稳定或批处理负载选择定价方式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wshobson/agents --skill cost-optimization

安装后在 Claude Code 中输入/cost-optimization确认已加载。

附带文件references/tagging-standards.md

详细介绍

云成本优化

在 AWS、Azure、GCP 和 OCI 上优化云成本的策略与模式。

目的

实施系统化的成本优化策略,在保持性能与可靠性的同时降低云支出。

何时使用

  • 降低云支出
  • 合理配置资源规格
  • 实施成本治理
  • 优化多云成本
  • 满足预算限制

成本优化框架

1. 可视化
  • 实施成本分配标签
  • 使用云成本管理工具
  • 设置预算告警
  • 创建成本仪表板
2. 合理配置规格
  • 分析资源利用率
  • 缩减过度配置的资源
  • 使用自动扩缩容
  • 移除闲置资源
3. 定价模型
  • 使用预留容量
  • 利用 Spot/可抢占实例
  • 实施节省计划
  • 使用承诺使用折扣
4. 架构优化
  • 使用托管服务
  • 实施缓存
  • 优化数据传输
  • 使用生命周期策略

AWS 成本优化

预留实例
Savings: 30-72% vs On-Demand
Term: 1 or 3 years
Payment: All/Partial/No upfront
Flexibility: Standard or Convertible
节省计划
Compute Savings Plans: 66% savings
EC2 Instance Savings Plans: 72% savings
Applies to: EC2, Fargate, Lambda
Flexible across: Instance families, regions, OS
Spot 实例
Savings: Up to 90% vs On-Demand
Best for: Batch jobs, CI/CD, stateless workloads
Risk: 2-minute interruption notice
Strategy: Mix with On-Demand for resilience
S3 成本优化
resource "aws_s3_bucket_lifecycle_configuration" "example" {
  bucket = aws_s3_bucket.example.id

  rule {
    id     = "transition-to-ia"
    status = "Enabled"

    transition {
      days          = 30
      storage_class = "STANDARD_IA"
    }

    transition {
      days          = 90
      storage_class = "GLACIER"
    }

    expiration {
      days = 365
    }
  }
}

Azure 成本优化

预留 VM 实例
  • 1 年或 3 年期限
  • 最高节省 72%
  • 灵活调整规格
  • 可交换
Azure 混合权益
  • 使用现有的 Windows Server 许可证
  • 结合 RI 最高节省 80%
  • 适用于 Windows 和 SQL Server
Azure Advisor 建议
  • 合理配置 VM 规格
  • 删除未使用的资源
  • 使用预留容量
  • 优化存储

GCP 成本优化

承诺使用折扣
  • 1 年或 3 年承诺
  • 最高节省 57%
  • 适用于 vCPU 和内存
  • 基于资源或基于支出
持续使用折扣
  • 自动折扣
  • 运行中的实例最高节省 30%
  • 无需承诺
  • 适用于 Compute Engine、GKE
可抢占 VM
  • 最高节省 80%
  • 最长运行时间 24 小时
  • 最适合批处理工作负载

OCI 成本优化

灵活规格
  • 独立扩缩 OCPU 和内存
  • 让实例规格匹配工作负载需求
  • 减少固定 VM 规格造成的容量浪费
承诺与预算
  • 对可预测的支出使用年度承诺
  • 设置带告警的区间级预算
  • 使用 OCI 成本分析跟踪月度预测
可抢占容量
  • 对批处理和临时工作负载使用可抢占实例
  • 保留可容忍中断的自动扩缩组
  • 对关键服务与标准容量混合使用

标签策略

AWS 标签
locals {
  common_tags = {
    Environment = "production"
    Project     = "my-project"
    CostCenter  = "engineering"
    Owner       = "[email protected]"
    ManagedBy   = "terraform"
  }
}

resource "aws_instance" "example" {
  ami           = "ami-12345678"
  instance_type = "t3.medium"

  tags = merge(
    local.common_tags,
    {
      Name = "web-server"
    }
  )
}

参考: 参见 references/tagging-standards.md

成本监控

预算告警
# AWS Budget
resource "aws_budgets_budget" "monthly" {
  name              = "monthly-budget"
  budget_type       = "COST"
  limit_amount      = "1000"
  limit_unit        = "USD"
  time_period_start = "2024-01-01_00:00"
  time_unit         = "MONTHLY"

  notification {
    comparison_operator        = "GREATER_THAN"
    threshold                  = 80
    threshold_type            = "PERCENTAGE"
    notification_type         = "ACTUAL"
    subscriber_email_addresses = ["[email protected]"]
  }
}
成本异常检测
  • AWS Cost Anomaly Detection
  • Azure Cost Management 告警
  • GCP 预算告警
  • OCI 预算与成本分析

架构模式

模式 1:无服务器优先
  • 对事件驱动场景使用 Lambda/Functions
  • 仅为执行时间付费
  • 包含自动扩缩容
  • 无闲置成本
模式 2:规格合理的数据库
Development: t3.small RDS
Staging: t3.large RDS
Production: r6g.2xlarge RDS with read replicas
模式 3:多层存储
Hot data: S3 Standard
Warm data: S3 Standard-IA (30 days)
Cold data: S3 Glacier (90 days)
Archive: S3 Deep Archive (365 days)
模式 4:自动扩缩容
resource "aws_autoscaling_policy" "scale_up" {
  name                   = "scale-up"
  scaling_adjustment     = 2
  adjustment_type        = "ChangeInCapacity"
  cooldown              = 300
  autoscaling_group_name = aws_autoscaling_group.main.name
}

resource "aws_cloudwatch_metric_alarm" "cpu_high" {
  alarm_name          = "cpu-high"
  comparison_operator = "GreaterThanThreshold"
  evaluation_periods  = "2"
  metric_name         = "CPUUtilization"
  namespace           = "AWS/EC2"
  period              = "60"
  statistic           = "Average"
  threshold           = "80"
  alarm_actions       = [aws_autoscaling_policy.scale_up.arn]
}

成本优化清单

  • 实施成本分配标签
  • 删除未使用的资源(EBS、EIP、快照)
  • 根据利用率合理配置实例规格
  • 对稳定工作负载使用预留容量
  • 实施自动扩缩容
  • 优化存储类别
  • 使用生命周期策略
  • 启用成本异常检测
  • 设置预算告警
  • 每周审查成本
  • 使用 Spot/可抢占实例
  • 优化数据传输成本
  • 实施缓存层
  • 使用托管服务
  • 持续监控与优化

工具

  • AWS: Cost Explorer、Cost Anomaly Detection、Compute Optimizer
  • Azure: Cost Management、Advisor
  • GCP: Cost Management、Recommender
  • OCI: Cost Analysis、Budgets、Cloud Advisor
  • 多云: CloudHealth、Cloudability、Kubecost

相关技能

  • terraform-module-library - 用于资源预置
  • multi-cloud-architecture - 用于云选择

评论

支持 Markdown