

# SUS 2 您如何利用用户行为模式来支持您的可持续发展目标？
<a name="w2aac19c15b7b5"></a>

用户使用您的工作负载和其他资源的方式可以帮助您确定改进措施，以实现可持续性目标。扩展基础设施以持续匹配用户负载，并确保仅部署支持用户所需的最少资源。使服务水平与客户需求保持一致。定位资源以限制用户使用它们所需的网络。移除现有的未使用资产。识别已创建但未使用的资产并停止生成它们。为您的团队成员提供满足其需求的设备，同时最大限度地减少对可持续性的影响。 

 最佳实践： 

# SUS02-BP01 扩缩基础设施以匹配用户负载
<a name="sus_sus_user_a2"></a>

 确定利用率低或无利用率的时段，缩减资源以消除过剩容量并提高效率。 

**常见反模式：**
+ 您没有扩缩基础设施以匹配用户负载。
+ 您一直在手动扩缩基础设施。
+ 在扩展事件之后，您将保留增加的容量，而不是缩减容量。

 **建立此最佳实践的好处：** 配置和测试工作负载弹性将有助于减小工作负载环境影响，节省资金，并维护性能基准。您可以利用云中的弹性，在用户负载峰值期间和之后自动扩缩容量，以确保只使用满足客户需求所需的确切数量的资源。

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

## 实施指导
<a name="implementation-guidance"></a>
+  弹性可根据对您拥有的资源的需求来提供这些资源。实例、容器和函数都能够与自动扩展功能相结合或作为此服务的一项功能来提供可实现弹性的机制。在架构中使用弹性，以确保在用户负载较低的时期，可以快速轻松地缩减工作负载： 
  +  使用 [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 验证您拥有适量的 Amazon EC2 实例，可处理您应用程序的用户负载。 
  +  使用 [Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html) 自动扩缩 Amazon EC2 以外的各项 AWS 服务的资源，比如 Lambda 函数或 Amazon Elastic Container Service (Amazon ECS) 服务。 
  +  使用 [Kubernetes Cluster Autoscaler](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 自动扩缩 AWS 上的 Kubernetes 集群。 
+  验证衡量扩展或缩减的指标已根据所部署的工作负载类型进行了验证。如果您正在部署一个视频转码应用程序，CPU 利用率预计为 100%，并且不应将此作为您的主要指标。如果需要，您可以为您的扩缩策略使用一个 [自定义指标](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) （如内存利用率）。要选择正确的指标，请考虑以下关于 Amazon EC2 的指导： 
  +  该指标应该是有效的利用率指标，并描述实例的繁忙程度。 
  +  该指标值必须随 Auto Scaling 组中的实例数量成比例地增加或减少。 
+  使用 [动态扩展](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) 而不是 [手动扩展](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) （对于 Auto Scaling 组）。我们还建议您在动态扩展中使用 [目标跟踪扩缩策略](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) 。 
+  验证工作负载部署可以处理扩展事件和缩减事件。创建缩减事件的测试方案，以确保工作负载按预期方式运行。您可以使用 **活动历史记录** 来测试和验证 Auto Scaling 组的扩缩活动。 
+  评估您的工作负载以获得可预测的模式，并在您预期需求会发生预测和计划的变化时主动扩缩。使用 [Amazon EC2 Auto Scaling 预测式扩缩](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/) 来消除过度增加容量的需求。 

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

 **相关文档：** 
+  [开始使用 Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [由机器学习提供支持的 EC2 预测式扩缩](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 
+  [使用 Amazon OpenSearch Service、Amazon Data Firehose 和 Kibana 分析用户行为](https://aws.amazon.com/blogs/database/analyze-user-behavior-using-amazon-elasticsearch-service-amazon-kinesis-data-firehose-and-kibana/) 
+  [什么是 Amazon CloudWatch？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [什么是 AWS X-Ray？](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [VPC 流日志](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [在 Amazon RDS 上使用 Performance Insights 监控数据库负载](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+  [介绍对 Amazon EC2 Auto Scaling 预测式扩缩的原生支持](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/) 
+  [如何基于内存利用率指标创建 Amazon EC2 Auto Scaling 策略（Linux）](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) 
+  [介绍 Karpenter - 高性能开源 Kubernetes Cluster Autoscaler](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 

 **相关视频：** 
+  [更好、更快、更便宜的计算：Amazon EC2 成本优化（CMP202-R1）](https://www.youtube.com/watch?v=_dvh4P2FVbw) 

 **相关示例：** 
+  实验室：Amazon EC2 Auto Scaling 组示例 
+  [实验室：使用 Karpenter 实施自动扩展](https://www.eksworkshop.com/beginner/085_scaling_karpenter/) 

# SUS02-BP02 使 SLA 与可持续性目标保持一致
<a name="sus_sus_user_a3"></a>

 定义和更新服务等级协议（SLA，Service Level Agreements），例如可用性或数据留存期，以最大限度地减少支持工作负载所需的资源数量，同时继续满足业务需求。 

 **未建立此最佳实践暴露的风险等级：** 低 

## 实施指导
<a name="implementation-guidance"></a>
+  定义 SLA，在支持可持续性目标的同时满足您的业务需求。 
+  重新定义 SLA 以满足业务需求，而不是超越它们。 
+  做出权衡，显著降低可持续性影响，以换取可接受的服务等级降低幅度。 
+  使用优先考虑业务关键功能的设计模式，并允许非关键功能具有较低的服务等级（例如响应时间或恢复时间目标）。 

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

 **相关文档：** 
+  [AWS 服务等级协议（SLA）](https://aws.amazon.com/legal/service-level-agreements/?aws-sla-cards.sort-by=item.additionalFields.serviceNameLower&aws-sla-cards.sort-order=asc&awsf.tech-category-filter=*all) 
+  [Importance of Service Level Agreement for SaaS Providers](https://aws.amazon.com/blogs/apn/importance-of-service-level-agreement-for-saas-providers/) 

 **相关视频：** 
+  [AWS 上的可持续构建](https://www.youtube.com/watch?v=ARAitMSIxc8) 

# SUS02-BP03 停止创建和维护未使用的资产
<a name="sus_sus_user_a4"></a>

 分析应用程序资产（例如预编制的报告、数据集和静态图像）和资产访问模式，以识别冗余、利用率低下的情况和潜在的淘汰目标。整合具有冗余内容的生成资产（例如，具有重叠或共用数据集和输出的月度报告），以消除重复输出时消耗的资源。淘汰未使用的资产（例如，已停售产品的图片）以释放消耗的资源，并减少用于支持工作负载的资源数量。 

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

## 实施指导
<a name="implementation-guidance"></a>
+  管理静态资产并移除不再需要的资产。 
+  管理生成的资产并停止生成和删除不再需要的资产。 
+  整合生成的重叠资产以消除冗余处理。 
+  指示第三方停止生成和存储代您管理但不再需要的资产。 
+  指示第三方整合代表您生成的多余资产。 

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

 **相关文档：** 
+  [优化您的 AWS 基础设施以实现可持续性，第 II 部分：存储](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-ii-storage/) 

 **相关视频：** 
+  [AWS 上的可持续构建](https://www.youtube.com/watch?v=ARAitMSIxc8) 

# SUS02-BP04 针对用户位置优化工作负载的地理位置
<a name="sus_sus_user_a5"></a>

 分析网络访问模式以识别您的客户建立连接的地理位置。选择可减少网络流量必须传输的距离的区域和服务，以减少支持您的工作负载所需的总网络资源。 

 ** 常见反模式： ** 
+  您根据自己所在的位置选择工作负载的区域。 

 **建立此最佳实践的好处：** 将工作负载放在接近客户的地方可以提供极低的延迟，同时减少网络中的数据移动并减小对环境的影响。 

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

## 实施指导
<a name="implementation-guidance"></a>
+  请根据以下关键元素，为您的工作负载部署选择区域： 
  +  **您的可持续发展目标：** 如 [区域选择](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/region-selection.html)中所述。
  +  **数据所在位置：** 对于数据密集型应用程序（如大数据和机器学习），应用程序代码的执行应尽量接近数据。 
  +  **用户所在位置：** 对于面向用户的应用程序，选择一个接近您工作负载的客户群的区域。
  + **其他制约：** 考虑安全性和合规性等制约，如 [为工作负载选择区域时应考虑的事项](https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/)中所述。
+  使用 [AWS Local Zones](https://aws.amazon.com/global-infrastructure/localzones/) 运行视频渲染和图形密集型虚拟桌面应用程序等工作负载。Local Zones 使计算和存储资源更接近终端用户，从而使您受益。
+  对常用资源使用本地缓存或 [AWS 缓存解决方案](https://aws.amazon.com/caching/aws-caching/) ，以提高性能，减少数据移动并减小对环境的影响。
  + 使用 [Amazon CloudFront](https://aws.amazon.com/cloudfront/) 缓存静态内容（如图像、脚本和视频）以及动态内容（如 API 响应或 Web 应用程序）。
  + 使用 [Amazon ElastiCache](https://aws.amazon.com/elasticache/) 缓存 Web 应用程序的内容。
  + 使用 [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/) 将内存中加速添加到您的 DynamoDB 表。
+  使用可帮助您在更接近工作负载用户的位置运行代码的服务：
  + 使用 [Lambda@Edge](https://aws.amazon.com/lambda/edge/) 执行计算密集型操作，当对象不在缓存中时执行这些操作。
  + 使用 [Amazon CloudFront Functions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-functions.html) 处理简单使用场景，如 HTTP(s) 请求或响应操作，这些操作可由短期运行的函数执行。
  + 使用 [AWS IoT Greengrass](https://aws.amazon.com/greengrass/) 为互联设备运行本地计算、消息收发和数据缓存。
+  使用连接池来实现连接重用并减少所需资源。 
+  使用不依赖于持久连接和同步更新的分布式数据存储来保持一致性，从而为区域人口提供服务。 
+  用共享的动态容量代替预先配置的静态网络容量，并与其他用户共享网络容量的可持续性影响。 

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

 **相关文档：** 
+  [优化您的 AWS 基础设施以实现可持续性，第 III 部分：联网](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-iii-networking/) 
+  [Amazon ElastiCache 文档](https://docs.aws.amazon.com/elasticache/index.html) 
+  [什么是 Amazon CloudFront？](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 
+  [Amazon CloudFront 主要功能](https://aws.amazon.com/cloudfront/features/) 
+  [Lambda@Edge](https://aws.amazon.com/lambda/edge/) 
+  [CloudFront Functions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-functions.html) 
+ [AWS IoT Greengrass](https://aws.amazon.com/greengrass/)

 **相关视频：** 
+  [AWS 上的可持续构建](https://www.youtube.com/watch?v=ARAitMSIxc8) 

 **相关示例：** 
+  [AWS 联网研讨会](https://catalog.workshops.aws/networking/en-US) 

# SUS02-BP05 针对执行的活动优化团队成员资源
<a name="sus_sus_user_a6"></a>

 优化提供给团队成员的资源，在支持其需求的同时最大程度地降低对可持续性的影响。例如，在利用率高的共享云桌面上，而不是在利用率不高的强力单用户系统上，执行渲染和编译等复杂的操作。 

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

## 实施指导
<a name="implementation-guidance"></a>
+  按照工作站和其他设备的使用方式对它们进行预置。 
+  使用虚拟桌面和应用程序串流来限制升级和设备要求。 
+  将处理器或内存密集型任务移至云端。 
+  评估流程和系统对您的设备生命周期的影响，并选择在满足业务需求的同时最大限度减少设备更换需求的解决方案。 
+  对设备实施远程管理以减少所需的商务旅行。 

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

 **相关文档：** 
+  [什么是 Amazon WorkSpaces？](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) 
+  [Amazon AppStream 2.0 文档](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 
+  [AWS Systems Manager Fleet Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet.html) 

 **相关视频：** 
+  [AWS 上的可持续构建](https://www.youtube.com/watch?v=ARAitMSIxc8) 