

# SUS 5 您如何选择并使用架构中的云硬件和服务来支持自己的可持续发展目标？
<a name="sus-05"></a>

寻找机会，通过更改硬件管理实践来降低工作负载可持续性影响。最大限度地减少预置和部署所需的硬件数量，并为您的各项工作负载选择最高效的硬件和服务。 

**Topics**
+ [SUS05-BP01 使用最少的硬件来满足您的需求](sus_sus_hardware_a2.md)
+ [SUS05-BP02 使用影响最小的实例类型](sus_sus_hardware_a3.md)
+ [SUS05-BP03 使用托管服务](sus_sus_hardware_a4.md)
+ [SUS05-BP04 优化基于硬件的计算加速器的使用](sus_sus_hardware_a5.md)

# SUS05-BP01 使用最少的硬件来满足您的需求
<a name="sus_sus_hardware_a2"></a>

为您的工作负载使用最少的硬件，高效地满足您的业务需求。

 **常见反模式：** 
+  不监控资源使用率。 
+  架构中有利用率较低的资源。 
+  没有检查静态硬件的利用率以确定是否应调整大小。 
+  没有根据业务 KPI 为计算基础设施设置硬件利用率目标。 

 **建立此最佳实践的好处：**合理调整云资源的大小有助于减少工作负载对环境的影响、节省资金并保持性能基准。 

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 以最佳方式选择工作负载所需的硬件总数，以提高其整体效率。AWS 云 让您能够通过各种机制（如 [AWS Auto Scaling](https://aws.amazon.com/autoscaling/)）灵活地动态扩展或缩减资源数，并满足不断变化的需求。它还提供 [API 和 SDK](https://aws.amazon.com/developer/tools/)，让您可以轻松修改资源。使用这些功能经常更改工作负载实施。此外，按照 AWS 工具中的合理调整大小准则高效地运营您的云资源和满足您的业务需求。 

 **实施步骤** 
+  选择尽可能满足您的需求的实例类型。 
  + [ 如何为我的工作负载选择适当的 Amazon EC2 实例类型？](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/)
  + [基于属性为 Amazon EC2 实例集选择实例类型。](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html)
  + [使用基于属性的实例类型选择来创建 Auto Scaling 组。](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html)
+  通过小增量扩缩来适应可变的工作负载。 
+  使用多个计算购买选项，在实例灵活性、可扩展性和成本节省方面实现平衡。 
  +  [按需型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html)最适合新的、有状态和突增工作负载，这些工作负载不能灵活地调整实例类型、位置或时间。 
  +  [竞价型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)为容错和灵活的应用程序提供了很好的补充选择。 
  +  将 [Compute Savings Plans](https://aws.amazon.com/savingsplans/compute-pricing/) 用于稳定状态的工作负载，当您的需求（如可用区、区域、实例系列或实例类型）发生变化时，这种工作负载可以允许灵活性。 
+  使用实例和可用区多样性最大限度地提高应用程序可用性和尽可能利用过剩的容量。 
+  使用来自 AWS 工具的合理调整大小建议来调整工作负载。 
  + [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)
  + [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/)
+  协商服务等级协议（SLA），允许暂时减少容量，同时利用自动化功能部署替换资源。 

## 资源
<a name="resources"></a>

 **相关文档：** 
+ [优化您的 AWS 基础设施以实现可持续性，第 I 部分：计算](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-i-compute/)
+ [基于属性为 Amazon EC2 实例集的 Auto Scaling 选择实例类型](https://aws.amazon.com/blogs/aws/new-attribute-based-instance-type-selection-for-ec2-auto-scaling-and-ec2-fleet/)
+ [AWS Compute Optimizer 文档](https://docs.aws.amazon.com/compute-optimizer/index.html)
+  [运行 Lambda：性能优化](https://aws.amazon.com/blogs/compute/operating-lambda-performance-optimization-part-2/) 
+  [弹性伸缩文档](https://docs.aws.amazon.com/autoscaling/index.html) 

 **相关视频：** 
+ [构建成本、能源和资源高效的计算环境](https://www.youtube.com/watch?v=8zsC5e1eLCg)

 **相关示例：** 
+ [Well-Architected 实验室 - 在启用 AWS Compute Optimizer 和内存利用率的情况下合理调整大小（级别 200)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/)

# SUS05-BP02 使用影响最小的实例类型
<a name="sus_sus_hardware_a3"></a>

持续监控和使用新实例类型以充分利用能源效率改进。

 **常见反模式：** 
+  您只使用一个系列的实例。 
+  您只使用 x86 实例。 
+  您在 Amazon EC2 Auto Scaling 配置中指定一种实例类型。 
+  您使用 AWS 实例的方式与其预期用途不匹配（例如，您将计算优化的实例用于内存密集型工作负载）。 
+  您没有定期评估新的实例类型。 
+  您不查看 AWS 合理调整大小工具（如 [AWS Compute Optimizer）的建议。](https://aws.amazon.com/compute-optimizer/) 

 **建立此最佳实践的好处：** 通过使用节能且大小合适的实例，您可以大大减小工作负载对环境的影响并降低其成本。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 中 

## 实施指导
<a name="implementation-guidance"></a>

 在云工作负载中使用高效的实例对于降低资源使用率和成本效益至关重要。持续监控新实例类型的发布并利用能效改进，包括那些旨在支持特定工作负载（例如机器学习训练和推理以及视频转码）的实例类型。 

## 实施步骤
<a name="implementation-steps"></a>
+  学习和探索可以减小工作负载对环境影响的实例类型。 
  +  订阅 [AWS 新增功能](https://aws.amazon.com/new/) 及时了解新增的 AWS 技术和实例。 
  +  了解不同的 AWS 实例类型。 
  +  通过观看如下视频，了解基于 AWS Graviton 的实例（这些实例在 Amazon EC2 中每瓦能耗方面提供出色性能）： [re:Invent 2020 - 深入了解 AWS Graviton2 处理器提供支持的 Amazon EC2 实例](https://www.youtube.com/watch?v=NLysl0QvqXU) 和 [深入了解 AWS Graviton3 和 Amazon EC2 C7g 实例](https://www.youtube.com/watch?v=WDKwwFQKfSI&ab_channel=AWSEvents)。 
+  规划工作负载并将其转换为影响极小的实例类型。 
  +  定义一个流程来评估工作负载的新功能或实例。利用云中的敏捷性，快速测试新的实例类型如何改善工作负载的环境可持续性。使用代理指标来衡量完成一个单元的工作需要多少资源。 
  +  如有可能，修改工作负载以使用不同数量的 vCPU 和不同数量的内存，以最大限度地增加您的实例类型选项。 
  +  考虑将工作负载转换为基于 Graviton 的实例，以提高工作负载的性能效率。 
    +  [AWS Graviton Fast Start](https://aws.amazon.com/ec2/graviton/fast-start/) 
    +  [将工作负载转换为基于 AWS Graviton 的 Amazon Elastic Compute Cloud 实例时的注意事项](https://github.com/aws/aws-graviton-getting-started/blob/main/transition-guide.md) 
    +  [适用于 ISV 的 AWS Graviton2](https://docs.aws.amazon.com/whitepapers/latest/aws-graviton2-for-isv/welcome.html) 
  +  考虑选择 AWS Graviton 选项（在使用 [AWS 托管服务时）。](https://github.com/aws/aws-graviton-getting-started/blob/main/managed_services.md) 
  +  将工作负载迁移到提供对可持续性影响极小的实例且仍满足您的业务要求的区域。 
  +  对于机器学习工作负载，请利用特定于工作负载的专用硬件，例如 [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/)、 [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/)和 [Amazon EC2 DL1。](https://aws.amazon.com/ec2/instance-types/dl1/) Inf2 等 AWS Inferentia 实例，相比同类同类 Amazon EC2 实例，性能功耗比提升了 50% 
  +  使用 [Amazon SageMaker AI Inference Recommender](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender.html) 来合理调整机器学习推理端点的大小。 
  +  对于突增工作负载（不经常需要额外容量的工作负载），请使用 [可突增性能实例。](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) 
  +  对于无状态和容错工作负载，请使用 [Amazon EC2 竞价型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) 提高云的整体利用率并减少未使用资源对可持续性的影响。 
+  运营和优化您的工作负载实例。 
  +  对于临时工作负载，请评估 [实例 Amazon CloudWatch 指标](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html#ec2-cloudwatch-metrics) （例如 `CPUUtilization` ），以确定实例是空闲还是未充分利用。 
  +  对于稳定的工作负载，请定期检查 AWS 合理调整大小工具（如 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) ），以确定优化和合理调整实例大小的机会。 
    + [ Well-Architected 实验室 - 合理调整大小建议 ](https://wellarchitectedlabs.com/cost/100_labs/100_aws_resource_optimization/)
    + [ Well-Architected 实验室 - 使用 Compute Optimizer 合理调整大小 ](https://wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/)
    + [ Well-Architected 实验室 - 优化硬件模式并观察可持续性 KPI ](https://wellarchitectedlabs.com/sustainability/200_labs/200_optimize_hardware_patterns_observe_sustainability_kpis/)

## 资源
<a name="resources"></a>

 **相关文档：** 
+  [优化您的 AWS 基础设施以实现可持续性，第 I 部分：计算](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-i-compute/) 
+  [AWS Graviton](https://aws.amazon.com/ec2/graviton/) 
+  [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/) 
+  [Amazon EC2 容量预留实例集](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-fleets.html) 
+  [Amazon EC2 竞价型实例集](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html) 
+  [函数：Lambda 函数配置](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+ [ 基于属性为 Amazon EC2 实例集选择实例类型。 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html)
+ [在 AWS 上构建可持续、高效且优化成本的应用程序](https://aws.amazon.com/blogs/compute/building-sustainable-efficient-and-cost-optimized-applications-on-aws/)
+ [ Contino 可持续发展控制面板如何助力客户减少碳排放 ](https://aws.amazon.com/blogs/apn/how-the-contino-sustainability-dashboard-helps-customers-optimize-their-carbon-footprint/)

 **相关视频：** 
+  [深入了解 AWS Graviton2 处理器提供支持的 Amazon EC2 实例](https://www.youtube.com/watch?v=NLysl0QvqXU) 
+  [深入了解 AWS Graviton3 和 Amazon EC2 C7g 实例](https://www.youtube.com/watch?v=WDKwwFQKfSI&ab_channel=AWSEvents) 
+ [ 构建成本、能源和资源高效的计算环境 ](https://www.youtube.com/watch?v=8zsC5e1eLCg)

 **相关示例：** 
+ [ 解决方案：关于在 AWS 上优化深度学习工作负载以实现可持续性的指导 ](https://aws.amazon.com/solutions/guidance/optimizing-deep-learning-workloads-for-sustainability-on-aws/)
+  [Well-Architected 实验室 - 合理调整大小建议](https://wellarchitectedlabs.com/cost/100_labs/100_aws_resource_optimization/) 
+  [Well-Architected 实验室 - 使用 Compute Optimizer 合理调整大小](https://wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/) 
+  [Well-Architected 实验室 - 优化硬件模式并观察可持续性 KPI](https://wellarchitectedlabs.com/sustainability/200_labs/200_optimize_hardware_patterns_observe_sustainability_kpis/) 
+ [ Well-Architected 实验室 - 将服务迁移到 Graviton ](https://www.wellarchitectedlabs.com/sustainability/100_labs/100_migrate_services_to_graviton/)

# SUS05-BP03 使用托管服务
<a name="sus_sus_hardware_a4"></a>

使用托管服务在云中更高效地运营。

 **常见反模式：** 
+  使用利用率低的 Amazon EC2 实例来运行应用程序。 
+  内部团队仅管理工作负载，而没有时间专注于创新或简化。 
+  为可在托管服务上更高效运行的任务部署和维护技术。 

 **建立此最佳实践的好处：** 
+  使用托管服务将责任转移给 AWS，其拥有对数百万客户的洞察，可以帮助推动新的创新和提高效率。 
+  由于使用了多租户控制面板，托管服务将服务的环境影响分散到许多用户。 

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 托管服务将维持已部署硬件的高利用率和可持续性优化的责任转移给 AWS。托管服务还消除了维护服务的运营和管理负担，让您的团队有更多时间专注于创新。 

 审核您的工作负载，以便确定可由 AWS 托管服务替换的组件。例如，[Amazon RDS](https://aws.amazon.com/rds/)、[Amazon Redshift](https://aws.amazon.com/redshift/) 和 [Amazon ElastiCache](https://aws.amazon.com/elasticache/) 提供托管数据库服务。[Amazon Athena](https://aws.amazon.com/athena/)、[Amazon EMR](https://aws.amazon.com/emr/) 和 [Amazon OpenSearch Service](https://aws.amazon.com/opensearch-service/) 提供托管分析服务。 

 **实施步骤** 

1.  清点工作负载的服务和组件。 

1.  评测和确定可由托管服务替换的组件。以下是一些可以考虑采用托管服务的示例：     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-04-10/framework/sus_sus_hardware_a4.html)

1.  确定依赖项和创建迁移计划。相应地更新运行手册和行动手册。 
   +  [AWS Application Discovery Service](https://aws.amazon.com/application-discovery/) 会自动收集并提供有关应用程序依赖项和利用率的详细信息，帮助您在制定迁移计划时做出更明智的决策 

1.  迁移到托管服务之前测试服务。 

1.  使用迁移计划，用托管服务来代替自托管服务。 

1.  迁移完成后持续监控服务，以便根据需要进行调整并优化服务。 

## 资源
<a name="resources"></a>

 **相关文档：** 
+ [AWS 云 产品](https://aws.amazon.com/products/)
+ [AWS 总拥有成本（TCO）计算器](https://calculator.aws/#/)
+  [Amazon DocumentDB](https://aws.amazon.com/documentdb/) 
+  [Amazon Elastic Kubernetes Service（EKS）](https://aws.amazon.com/eks/) 
+  [Amazon Managed Streaming for Apache Kafka（Amazon MSK）](https://aws.amazon.com/msk/) 

 **相关视频：** 
+ [使用 AWS Managed Services 实现大规模云运营](https://www.youtube.com/watch?v=OCK8GCImWZw)

# SUS05-BP04 优化基于硬件的计算加速器的使用
<a name="sus_sus_hardware_a5"></a>

优化加速型计算实例的使用，以减少工作负载的物理基础架构需求。

 **常见反模式：** 
+  不监控 GPU 使用情况。 
+  将通用实例用于工作负载，而专用实例可以提供更高的性能、更低的成本和更高的性能功耗比。 
+  使用基于硬件的计算加速器来完成任务，而使用基于 CPU 的替代方案能更高效地完成任务。 

 **建立此最佳实践的好处：** 通过优化基于硬件的加速器的使用，您能够减少工作负载对物理基础设施的需求。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 中 

## 实施指导
<a name="implementation-guidance"></a>

 如果需要高处理能力，可以受益于使用加速型计算实例，这些实例提供对基于硬件的计算加速器的访问，例如图形处理单元（GPU）和现场可编程门阵列（FPGA）。这些硬件加速器能够比基于 CPU 的替代方案更有效地执行某些功能，例如图形处理或数据模式匹配。许多加速工作负载（如渲染、转码和机器学习）在资源使用方面变化很大。仅在需要时运行此硬件，并在不需要时自动停用它们，以最大限度地减少资源消耗。 

## 实施步骤
<a name="implementation-steps"></a>
+  确定哪些 [加速型计算实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html) 可以满足您的要求。 
+  对于机器学习工作负载，请利用特定于工作负载的专用硬件，例如 [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/)、 [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/)和 [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/)。Inf2 等 AWS Inferentia 实例相比 [同类 Amazon EC2 实例，性能功耗比提升了 50%](https://aws.amazon.com/machine-learning/inferentia/)。 
+  收集加速型计算实例的使用情况指标。例如，您可以使用 CloudWatch 代理，为 GPU 收集各种指标，例如 `utilization_gpu` 和 `utilization_memory` ，如 [使用 Amazon CloudWatch 收集 NVIDIA GPU 指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-NVIDIA-GPU.html)中所示。 
+  优化硬件加速器的代码、网络运营和设置，确保底层硬件得到充分利用。 
  +  [优化 GPU 设置](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html) 
  +  [深度学习 AMI 中的 GPU 监控和优化](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) 
  +  [优化 I/O 以实现 Amazon SageMaker AI 中深度学习训练的 GPU 性能优化](https://aws.amazon.com/blogs/machine-learning/optimizing-i-o-for-gpu-performance-tuning-of-deep-learning-training-in-amazon-sagemaker/) 
+  使用最新的高性能库和 GPU 驱动程序。 
+  使用自动化功能在不使用 GPU 实例时将其释放。 

## 资源
<a name="resources"></a>

 **相关文档：** 
+  [加速计算](https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing) 
+ [ 让我们来构建！ 使用自定义芯片和加速器来构建 ](https://aws.amazon.com/blogs/architecture/lets-architect-custom-chips-and-accelerators/)
+ [ 如何为我的工作负载选择合适的 Amazon EC2 实例类型？ ](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/)
+  [Amazon EC2 VT1 实例](https://aws.amazon.com/ec2/instance-types/vt1/) 
+  [Amazon Elastic Graphics](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html) 
+ [ 选择最佳 AI 加速器和模型编译，以使用 Amazon SageMaker AI 进行计算机视觉推理 ](https://aws.amazon.com/blogs/machine-learning/choose-the-best-ai-accelerator-and-model-compilation-for-computer-vision-inference-with-amazon-sagemaker/)

 **相关视频：** 
+ [ 如何选择 Amazon EC2 GPU 实例进行深度学习 ](https://www.youtube.com/watch?v=4bVrIbgGWEA)
+  [深入了解 Amazon EC2 弹性 GPU](https://www.youtube.com/watch?v=HbJ2xxgrcCE) 
+  [部署经济高效的深度学习推理](https://www.youtube.com/watch?v=WiCougIDRsw) 