DEV 轨道聚焦:优化 AWS 成本:开发者工具与技术 (DEV318)

发布: (2025年12月28日 GMT+8 01:55)
16 min read
原文: Dev.to

Source: Dev.to

AWS re:Invent 2025 – “周五早晨预算警报”

Steph Gooch(高级解决方案架构师倡导者,AWS)& Kenneth Attard(AWS 社区英雄 & Betsson Group 企业架构师)

会话概述

随着云应用的复杂性不断提升,成本优化变得至关重要。Steph 和 Kenneth 探讨了 AWS 原生工具和编码实践,在不牺牲性能或可扩展性的前提下降低费用

观看完整会话:
[Insert video link]

1. 周五早晨预算警报

Steph 以每个开发者都害怕的情景开场:

“想象一下,今天是周五早上,你度过了轻松的一周,原本以为可以顺利度过这一天。结果收到一封邮件——你的 AWS 预算已超支。邮件抄送了你、你的经理、你的 FinOps 团队……每个人都在问到底发生了什么。”

目标: 通过实施主动的成本优化策略、利用 AI 工具,防止未来浪费,从而再也不收到这种邮件。

2. 简单优化 – 基础

Kenneth 分享了 Betsson Group(一家在 24 个市场运营的领先游戏公司)的真实案例优化。以 $100 K 的节省目标 为起点,他逐步讲解了基础性措施:

区域优化措施影响
CloudTrail 合并将多个 trail 合并为单一 organization trail,并删除多余的 trail。消除冗余日志记录费用。
EBS 卷清理删除未挂载的卷;仅在合规需要时保留快照。停止不必要的存储费用。
网络优化移除重复的面向公网的 ELB(避免对公网 IP 和负载均衡器的双重计费)。退役未使用的 NAT 和 Transit Gateway。削减双重计费和空闲网关费用。
使用 Graviton 进行右‑尺寸化将 EC2、RDS 和 Lambda 工作负载迁移至 AWS Graviton(基于 ARM)的实例。提升成本效率 并且 性能。
存储优化启用 S3 Intelligent‑Tiering;将不常访问的数据迁移至 S3 Glacier。将基于 Intel 的 RDS 实例迁移至基于 Graviton 的实例。在保持访问速度的同时降低存储支出。

3. Leveraging AI for Cost Optimization

Steph 演示了 AI 工具如何加速优化过程,重点关注 Amazon Q DeveloperKiro CLI

3.1 AWS Cost Optimization Hub

Cost Optimization Hub 提供了一个统一的视图来查看节省机会。它:

  • 操作类型、账户、区域和资源类型 对节省进行分类。
  • 显示真实、可实现的节省(而非夸大的估算)。
  • AWS Compute Optimizer 集成,提供基于数据的详细建议。

3.2 Amazon Q Developer & Kiro CLI with MCPs

Model Context Protocol (MCP) 服务器让 AI 助手直接连接到 AWS 服务。使用带 MCP 的 Kiro CLI,Steph 展示了如何:

  1. 查询 Cost Optimization Hub 以获取计算推荐。
  2. 识别具体的资源 进行优化。
  3. 自动更新基础设施代码(例如 CloudFormation 模板)。
  4. 生成并执行 AWS CLI 命令 进行部署。

“登录控制台并在 Cost Optimization Hub 中查看所有节省所需的时间,与使用 Kiro 查找推荐并进行更改的时间非常相似。”

因此,AI 工具 识别 节省点 帮助更快地实现它们。

3.3 Infrastructure Optimization with Amazon Q

Amazon Q Developer 包含内置的优化功能。当你选择基础设施代码并点击 “Optimize” 时,它会返回三个维度的建议:

DimensionWhat’s evaluated
Cost高成本资源 → 更便宜的替代方案
Architecture设计模式与服务选择
Security潜在的漏洞

在演示中,Amazon Q 分析了一个 CloudFormation 模板,突出显示了显著的成本节约机会,并生成了更新后的模板。

4. 高级优化 – 深入探讨

4.1 Amazon CloudWatch 日志优化

Kenneth 分享了削减 CloudWatch 成本的策略:

  • 删除不必要的日志组和数据。
  • 设置合适的 保留期限(避免“永不过期”)。
  • 优化应用代码以减少日志量。
  • 对很少查询的日志使用 CloudWatch Logs Infrequent Access

4.2 AWS Config 优化

对于具有自动扩缩的 Amazon EKS 集群,持续的 AWS Config 记录导致费用过高:

“我们在 EKS 上启用了 Config… 持续记录。在繁忙期间,EKS 自动扩缩,Config 记录了大量变更。”

解决方案: 将记录方式从 continuous(持续) 改为 daily(每日),显著降低 Config 成本。

4.3 数据传输优化

数据传输费用可能迅速飙升。Betsson 采用了多种策略:

策略工作原理
S3 网关端点免费的 VPC 端点将 S3 流量保持在 AWS 网络内部,避免 NAT 网关的数据传输费用。
跨可用区流量削减在每个可用区部署 NAT 网关;在可能的情况下,配置 Kubernetes 将流量保持在同一可用区内。
网络 ACL在子网层面阻止不需要的流量,防止产生不必要的数据处理费用。

5. 要点

  1. 从基础开始 – 合并日志、清理未使用的资源,并对工作负载进行合适的规模调整。
  2. 利用 Graviton 在 EC2、RDS 和 Lambda 上实现成本效益高的计算。
  3. 使用 AI 助手(Amazon Q、Kiro CLI)快速发现并应用建议。
  4. 微调可观测性和配置服务(CloudWatch、Config),以避免隐藏费用。
  5. 通过 VPC 端点、可用区感知架构和网络 ACL 优化数据传输。

实施这些做法可以帮助你避免令人头疼的“周五早晨预算警报”,并使云费用与业务目标保持一致。

关键组件

(在此添加您的组件详细信息)

AWS Lambda 优化

AWS Lambda 成本优化聚焦于三个关键领域:

  1. Graviton 迁移 – 将 Lambda 函数迁移到基于 ARM 的 Graviton 处理器。
  2. 合理调配 – 在架构更改后调整内存和 CPU 分配,以降低计算成本。
  3. 代码优化 – 简化函数逻辑并减少执行时间。

集中式 NAT 网关架构

Kenneth 介绍了一种高级网络优化方案:在专用的出站 VPC 中集中 NAT 网关,并通过 AWS Transit Gateway 进行连接。

成本比较(3 个 VPC,处理 2 TB 数据)

设置每月费用
传统$190(3 个 NAT 网关)
集中$322(3 个 NAT 网关 + Transit Gateway 附加组件 + 处理费用)

“这就是成本节省,但对小规模部署并不适用。” – Kenneth

盈亏平衡点为 10 个 VPC;超过该数量后,随着 VPC 数量的增加,节省幅度可提升至 8 %

使其生效的关键优化

  • Amazon S3 网关端点 – 将流量降低 38.5 %–45 %
  • 网络 ACL – 在源头阻止不需要的流量
  • 集中式管理与监控

区域成本优化

选择正确的 AWS 区域可以显著影响成本。Kenneth 分享了一个 数据库迁移服务 (DMS) 示例:

区域(实例:dms.c6g.6xlarge每月费用
Frankfurt (eu‑central‑1)$2,573
Ireland (eu‑west‑1)$2,300
N. Virginia (us‑east‑1)$1,619
São Paulo (sa‑east‑1)$4,057

N. Virginia 部署 DMS 实例而不是 São Paulo 可节省 $2,438 每月。相同的原则同样适用于许多其他服务,因为区域定价各不相同。

AWS WAF 成本优化

AWS WAF 提供 标准高级 功能,两者的计费模式差别很大。

标准功能(已包含在基础费用中)

  • 地理封锁规则
  • 核心规则集
  • 限速规则
  • IP 信誉列表

高级功能(费用显著更高)

  • Bot 控制
  • 账户创建欺诈防护
  • 账户劫持防护

“尽可能多地使用标准功能,如地理封锁规则、默认规则、核心规则集、限速、允许列表、阻止列表、IP 信誉,以最小化进入高级功能的流量。” – Kenneth

CAPTCHA 与 Challenge

功能成本适用场景
CAPTCHA每 10 k 请求 $4需要明确的用户交互时(例如验证人为人类)。
Silent Challenge每百万响应 $0.40可以在不显示 UI 元素的情况下阻止或缓解机器人时。

提示: 如果不需要用户交互,使用静默 Challenge 可以比 CAPTCHA 节省 > 99 % 的成本。

Web ACL 容量单元 (WCUs)

  • 标准配额: 每个 Web ACL 1,500 WCUs
  • 成本效益扩展: 将 WAF 部署在 Amazon CloudFront 以及 下游的 Application Load BalancerAPI Gateway(每个都有自己的 WAF)。
    • 这实际上为您提供了 3,000 WCUs(1,500 + 1,500),无需额外购买容量。

结论: 尽可能利用标准功能,优先使用静默挑战而非 CAPTCHA,并采用分层 WAF 部署(CloudFront + ALB/API Gateway)来在不增加费用的情况下将 WCU 预算翻倍。

Source:

防止未来浪费

服务控制策略 (SCP)

Steph 将 SCP 介绍为预防性的护栏:

“它们是防止在部署到云之前产生潜在浪费的非常有效的方式。”

组织OU 级别设置的 SCP 可以阻止代价高昂的错误:

护栏描述示例
实例类型限制在开发账户中阻止昂贵的实例系列;为合法使用场景提供绕过角色。24xlarge、金属实例
存储默认值强制对 ≤ 1 TB 的资源使用 gp3 卷(比 gp2 便宜约 20 %)。gp3 用于 EBS
NAT 网关控制当使用集中式架构时,防止在单个账户中创建 NAT 网关。在子账户中禁止 AWS::EC2::NatGateway
必需标签在资源创建前要求提供用于调度、自动化、安全和合规性的标签。EnvironmentOwnerCostCenter
Graviton 强制对托管服务默认使用基于 Graviton 的实例类型,可实现约 10 % 的自动节省。t4g.microm6g.large
区域限制阻止在成本高或非预期的区域进行部署。禁止 us‑west‑1ap‑south‑1

Steph 演示了使用 Kiro CLI 来:

  1. 创建 SCP(以编程方式)。
  2. 测试 基础设施即代码(IaC)是否符合这些策略,且在实际部署前进行验证。

这种方法让团队能够利用 SCP 的优势——防止浪费——同时在策略准备好进行生产强制执行之前,将其保持在 dry‑run(干运行)模式。

背景:教会 AI 你的偏好

Amazon Q DeveloperKiro CLI 都支持 上下文文件,用于存储有关你的偏好、项目和最佳实践的信息。

Amazon Q Developer

Steph 创建了一条规则,规定 Lambda 函数应当:

  • 使用 Graviton(ARM64 架构)
  • 始终包含 CloudWatch 日志组
  • 设置适当的保留策略

有了此上下文后,像 “create a simple test CloudFormation for Lambda” 这样的请求会自动生成优化后的代码。

Kiro CLI

上下文文件的工作方式类似。使用 context add 指定包含优化偏好的文件,可确保所有生成的基础设施从一开始就遵循成本优化的最佳实践。

“如果你发现自己一直在重复与 AI 的对话,这些真的很方便。” – Steph

关键要点

  • 更聪明地工作,而不是更辛苦 – 将 AI 工具(Amazon Q Developer、Kiro CLI)与 MCP 结合使用,加速优化实施。
  • 永远优化易得的收益 – 部署服务控制策略和上下文文件,自动强制执行最佳实践。
  • 使用 COM 节省时间Context、Optimize、MCPs 和 Save 是构建可持续成本优化实践的四个要素。
  • 从小处着手 – 从本次会议中选择一个优化点并实施;小的成功会为更大的项目积累动力。
  • 数据驱动决策 – 利用 AWS 成本优化中心和 AWS Compute Optimizer,在采取行动前了解推荐背后的数据。

终极目标

Steph 以愿景作结:一个持续优化、零浪费的 AWS 环境,治理、自动化和 AI 协同工作,以保持低成本和高性能。

“我希望你成功。我希望你节省所有这些费用,并将其重新投入。我希望你把它重新投入到新员工、新证书、新资源、应用程序的新功能上,任何能让你的业务变得更好的东西。”

成本优化并不是削减开支,而是消除浪费,从而让你能够投资于创新、增长以及为客户提供价值。

关于本系列

此帖子是 DEV Track Spotlight 系列的一部分,旨在聚焦 AWS re:Invent 2025 开发者社区(DEV)轨道 中的精彩议题。

DEV 轨道共呈现 60 场独特议程,由 93 位来自 AWS 社区的演讲者(包括 AWS Heroes、AWS Community Builders 与 AWS 用户组领袖)以及来自 AWS 与 Amazon 的演讲者共同分享。这些议程涵盖了前沿主题,包括:

  • 🤖 GenAI 与 Agentic AI – 多代理系统、Strands Agents SDK、Amazon Bedrock
  • 🛠️ 开发者工具 – K
Back to Blog

相关文章

阅读更多 »

启动 AWS EC2 实例

介绍 本指南将带您完成启动 AWS EC2 实例、安装 Docker 并在 Docker 容器中运行 NGINX 的全过程。完成后您将…