成本优化与可持续性支柱
在成本管理中关注支出、匹配资源规模并选择合适的定价模型;缩小基础设施规模并提高能源效率,以实现可持续性
成本优化与可持续性支柱 是 CoddyKit 上的免费 AWS Solutions Architect 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AWS Solutions Architect 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AWS Solutions Architect 课程共包含 4 节课。
Cost Optimisation 支柱概述
Cost Optimisation 支柱侧重于避免不必要的成本,并从 AWS 支出中获得最大价值。这通常是最能立即产生影响的支柱,因为云资源很容易过度预配置。关键设计原则包括:实施云财务管理——将成本视为一级指标。采用按使用量计费模式——只为实际使用的资源付费。衡量整体效率——跟踪每单位业务价值对应的成本。减少无差别繁重工作上的支出——使用托管服务,而不是自行管理基础设施。
# Cost Optimisation pillars:
# 1. Expenditure awareness - visibility into what you spend
# 2. Cost-effective resources - right instance types, storage classes
# 3. Matching supply to demand - auto scaling, spot instances
# 4. Optimising over time - regularly review and adjust
# Example: undifferentiated heavy lifting
# Instead of managing your own Redis: use ElastiCache
# Instead of managing Kubernetes: use EKS or Fargate
# Managed services reduce operational overhead AND cost资源规格优化
规格优化是影响最大的成本优化措施——识别并消除过度配置的资源。常见情况是初始配置时启动大型实例,之后从未重新评估。AWS Compute Optimizer会分析利用率指标,并推荐最佳实例类型。一个常见的发现是:CPU 利用率仅为 5% 的 m5.4xlarge 应改为 t3.medium,从而节省 80% 的计算成本。规格优化适用于 EC2、Lambda(内存)、RDS 和 EBS 卷。
# Get Compute Optimizer recommendations for all EC2
aws compute-optimizer get-ec2-instance-recommendations \
--filters Name=finding,Values=Overprovisioned
# Response includes:
# currentInstanceType: m5.4xlarge
# recommendedInstanceType: t3.large
# estimatedMonthlySavings: $280
# performanceRisk: VeryLow
# Also check EBS volumes:
aws compute-optimizer get-ebs-volume-recommendations \
--filters Name=finding,Values=Overprovisioned购买模式优化
对于稳定运行的工作负载,按需定价是最昂贵的选项。您可以通过以下方式显著节省成本:预留实例(1 年或 3 年)——对于可预测的工作负载,最多可节省 72%。节省计划——灵活的承诺方案(最多可节省 66%),适用于不同的实例系列和区域。Spot 实例——对于可中断的工作负载(批处理、持续集成/持续交付、无状态工作负载),最多可节省 90%。典型的成本优化型实例群会结合使用三者:用节省计划覆盖基线容量,用 Spot 应对突发需求,用按需实例处理特殊情况。
# Purchasing model comparison:
# On-Demand: $0.192/hr (m5.large) No commitment
# 1yr Reserved: $0.114/hr $0.78/hr effective
# 3yr Reserved: $0.074/hr Highest savings
# Compute SP: ~$0.128/hr Flexible family/region
# Spot: $0.05-0.08/hr Interruptible
# Savings Plans cover:
# - Compute Savings Plans: EC2 + Lambda + Fargate
# - EC2 Instance Savings Plans: specific family in one region用于成本优化的 Spot 实例
Spot 实例使用 AWS 的闲置容量,折扣最高可达 90%;但当 AWS 需要收回容量时,实例可能会在提前 2 分钟通知后被中断。Spot 适用于:批处理(保存检查点并恢复)、持续集成/持续交付构建代理、无状态 Web 服务器(位于 ALB 后方;ELB 会将流量绕过被中断的实例),以及 EMR 和 EKS 工作节点。请使用 Spot Fleet,或使用包含多种实例类型和 AZ 的 ASG,在多个容量池之间分散实例,以降低中断风险。
# ASG with mixed instances (On-Demand + Spot)
aws autoscaling create-auto-scaling-group \
--auto-scaling-group-name my-mixed-asg \
--mixed-instances-policy '{
"LaunchTemplate": {"LaunchTemplateSpecification":{"LaunchTemplateId":"lt-12345","Version":"$Latest"},"Overrides":[{"InstanceType":"m5.large"},{"InstanceType":"m5a.large"},{"InstanceType":"m4.large"}]},
"InstancesDistribution": {
"OnDemandPercentageAboveBaseCapacity": 20,
"SpotAllocationStrategy": "capacity-optimized"
}
}' \
--min-size 2 --max-size 20 --desired-capacity 5S3 存储成本优化
通过使用合适的存储类别并自动执行转换,可以大幅降低 S3 存储成本。S3 Intelligent-Tiering会根据访问模式自动在不同访问层之间移动对象——当访问模式未知时尤其理想。生命周期规则会按计划转换对象:30 天后从 Standard → Standard-IA,90 天后转为 Glacier,180 天后转为 Deep Archive。此外,还可以考虑使用 S3 Select,只检索对象数据中所需的子集,从而降低数据传输和处理成本。
# S3 lifecycle policy for cost optimisation
aws s3api put-bucket-lifecycle-configuration \
--bucket my-data-bucket \
--lifecycle-configuration '{
"Rules": [{
"ID": "auto-archive",
"Status": "Enabled",
"Transitions": [
{"Days": 30, "StorageClass": "STANDARD_IA"},
{"Days": 90, "StorageClass": "GLACIER_IR"},
{"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
]
}]
}'标签和成本分配
如果没有正确的标签,就无法了解每个团队或项目的支出情况。成本分配标签可以让您按团队、项目、环境或您定义的任何维度拆分成本。在账单控制台中激活标签,然后使用 AWS Cost Explorer按标签筛选和分组成本。您可以在 AWS Organizations 中使用标签策略强制执行标签要求,并使用 AWS Config 规则检测未标记的资源。这样便可以实现成本展示(提供可见性)和成本分摊(将成本归属到各个团队)。
# Enforce required tags with Config rule
aws configservice put-config-rule \
--config-rule '{
"ConfigRuleName": "required-tags",
"Source": {"Owner":"AWS","SourceIdentifier":"REQUIRED_TAGS"},
"InputParameters": "{\"tag1Key\":\"Project\",\"tag2Key\":\"Environment\",\"tag3Key\":\"Owner\"}"
}'
# Query cost by tag in Cost Explorer
aws ce get-cost-and-usage \
--time-period Start=2026-06-01,End=2026-06-30 \
--granularity MONTHLY \
--group-by Type=TAG,Key=Project可持续性支柱概述
可持续性支柱于 2021 年加入,重点是通过降低能耗和提高效率,尽量减少云工作负载对环境的影响。设计原则包括:了解您的影响——衡量工作负载的碳足迹。制定可持续性目标。最大化利用率——通过规格优化避免资源闲置。预见并采用更高效的硬件——使用最新一代实例。使用托管服务——AWS 运行数据中心的效率高于大多数组织。
# Sustainability improvement areas:
# 1. Right-size instances (reduce idle energy use)
# 2. Use Graviton (ARM) instances: 60% less energy than x86
# 3. Use Spot instances: uses otherwise idle capacity
# 4. Use managed services: AWS optimises their utilisation
# 5. Use serverless: no idle servers
# 6. Move to S3/EFS instead of EC2 instance storage
# 7. Implement data lifecycle (don't store forever)用于可持续性和成本优化的 AWS Graviton
AWS Graviton 处理器(基于 ARM)与 x86 实例相比,最多可提供高 60% 的能效和高 20% 至 40% 的性价比。Graviton3/4 实例(c7g、m7g、r7g、t4g 系列)适用于大多数 EC2、Lambda 和 Fargate 工作负载。从 x86 迁移到 Graviton 可以同时改善可持续性和成本优化支柱——每次计算消耗更少的功率,实例价格也更低。大多数工作负载(Linux、容器化应用、JVM)只需进行极少更改即可迁移。
# Compare: m5.large (x86) vs m7g.large (Graviton3)
# m5.large: $0.096/hr, 2 vCPU, 8 GB
# m7g.large: $0.0808/hr, 2 vCPU, 8 GB
# Savings: ~16% cheaper + 40% better performance
# Switch Lambda function to Graviton (arm64)
aws lambda update-function-configuration \
--function-name my-function \
--architectures arm64
# Lambda arm64 is 20% cheaper than x86
# Most Python, Node.js, Java functions work unchanged消除闲置资源
不必要的成本和能源浪费的一个主要来源是闲置资源——CPU 利用率仅为 1% 的 EC2 实例、未连接的 EBS 卷、未使用的弹性 IP,以及被遗忘且全天候运行的开发/测试环境。请使用 EventBridge 规则和 Systems Manager Automation,为非生产环境实施停止/启动计划——下午 6 点停止开发实例,上午 8 点启动。使用 AWS Trusted Advisor和 Cost Explorer识别闲置实例、未使用的 EBS 卷以及利用率不足的预留实例。
# EventBridge + SSM to stop dev instances nights/weekends
aws events put-rule \
--name stop-dev-instances \
--schedule-expression 'cron(0 22 ? * MON-FRI *)'
aws events put-targets \
--rule stop-dev-instances \
--targets '[{
"Id": "StopDevInstances",
"Arn": "arn:aws:ssm:us-east-1::automation-definition/AWS-StopEC2Instance",
"RoleArn": "arn:aws:iam::123:role/EventBridgeRole",
"Input": "{\"InstanceId\":[\"i-dev1\",\"i-dev2\"]}"
}]'用于可持续性的数据生命周期
无限期存储数据会浪费能源。可持续性支柱建议实施数据生命周期策略,自动删除或归档不再需要的数据。使用带有过期日期的 S3 Lifecycle 规则,在保留期限结束后删除对象。使用 DynamoDB TTL自动使旧记录过期。使用 CloudWatch Logs 保留策略,在规定期限后删除日志组。删除不必要的数据不仅可以降低存储成本,还可以减少存储和冷却这些数据所需的能源。
# DynamoDB TTL for session data
# Add ttl attribute to items (Unix epoch timestamp)
aws dynamodb update-time-to-live \
--table-name UserSessions \
--time-to-live-specification Enabled=true,AttributeName=expiresAt
# Item will be deleted automatically after expiresAt timestamp
# Example: {'userId': 'u1', 'expiresAt': 1750000000}
# CloudWatch Logs: set 30-day retention
aws logs put-retention-policy \
--log-group-name /aws/lambda/my-function \
--retention-in-days 30成本优化与其他支柱的比较
成本优化有时会与其他支柱发生冲突。Multi-AZ RDS会使数据库成本翻倍,但这是可靠性支柱的要求。跨区域复制可以提高可靠性,但会增加存储和传输成本。主动-主动多区域架构可以降低延迟(性能效率),但成本会增加到原来的 2 至 3 倍。Well-Architected Framework 并不是要求始终选择最便宜的选项,而是要求在各支柱之间进行有意识的权衡,并记录决策依据。考试会考查您选择最具成本效益且仍能满足既定要求的解决方案的能力。
# Cost vs reliability trade-off example:
# Single-AZ RDS: $100/month, no HA
# Multi-AZ RDS: $200/month, automated failover
# Decision: if database failure = $10,000/hour of revenue loss
# Even 1 event/year justifies Multi-AZ
# ($10,000 expected loss > $1,200/year extra cost)
# SAA-C03 exam approach:
# Meet the stated requirements FIRST
# Then choose the cheapest option that meets them快速检查
测试您对本课 AWS Solutions Architect(SAA-C03)概念的理解。
课程回顾
本课介绍了:成本优化结合了规格优化、购买模式(预留实例/节省计划/Spot)和 S3 生命周期管理;可持续性侧重于最大化利用率、使用 Graviton 实例以及实施数据生命周期策略;此外,与其他支柱之间的成本权衡应根据业务要求有意识地进行。成本标签可以支持跨团队的成本展示和成本分摊。接下来,我们将学习 Well-Architected Tool 和评审流程。
用 AI 导师学习 AWS Solutions Architect — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「成本优化与可持续性支柱」课时是免费的吗?
是的 — 「成本优化与可持续性支柱」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AWS Solutions Architect 课程的其余内容,请升级到 CoddyKit PRO。 AWS Solutions Architect 课程共包含 4 节课。
「成本优化与可持续性支柱」这节课中我会学到什么?
在成本管理中关注支出、匹配资源规模并选择合适的定价模型;缩小基础设施规模并提高能源效率,以实现可持续性 你通过在浏览器中直接运行的动手代码来练习 AWS Solutions Architect,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AWS Solutions Architect 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AWS Solutions Architect 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「成本优化与可持续性支柱」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AWS Solutions Architect 课中编写并运行代码吗?
能。每节 AWS Solutions Architect 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。