

# COST 6  在选择资源类型、规模和数量时，如何实现成本目标？
<a name="w2aac19c13b9b7"></a>

确保选择适合当前任务的资源规模和资源数量。选择最经济实惠的资源类型、规模和数量可以尽可能减少浪费。

**Topics**
+ [COST06-BP01 执行成本建模](cost_type_size_number_resources_cost_modeling.md)
+ [COST06-BP02 根据数据选择资源类型、规模和数量](cost_type_size_number_resources_data.md)
+ [COST06-BP03 根据指标自动选择资源类型、规模和数量](cost_type_size_number_resources_metrics.md)

# COST06-BP01 执行成本建模
<a name="cost_type_size_number_resources_cost_modeling"></a>

 确定组织要求，并对工作负载及其每个组件执行成本建模。对不同预计负载下的工作负载执行基准测试活动，并比较成本。建模工作应该反映出可能带来的好处，例如花费的时间与组件成本成正比。 

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

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

对工作负载及其每个组件执行成本建模，以了解资源之间的平衡，并在给定的具体性能水平下，确定工作负载中每个资源的正确规模。对不同预计负载下的工作负载执行基准测试活动，并比较成本。建模工作应该反映可能带来的好处，例如花费的时间与组件成本或预计可节省的成本成正比。有关最佳实践，请参阅 *《性能效率支柱》白皮书* 的 [“审核”部分](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/review.html)。

[AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 可协助对正在运行的工作负载进行成本建模。它根据历史使用量为计算资源提供合理调整大小的建议。这是计算资源的理想数据源，因为它是一项免费的服务，并且会利用机器学习根据风险等级提出多个建议。您还可以将 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 和 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 与自定义日志一起用作数据源，用于其他服务和工作负载组件的合理调整大小操作。

以下是成本建模数据和指标的建议：
+ 监控必须准确反映最终用户体验。为时间段选择正确的粒度，并仔细选择最大值或第 99 个百分位值而不是平均值。
+ 为覆盖任何工作负载周期所需的分析时间段选择正确的粒度。例如，如果执行为期两周的分析，您可能会忽略高利用率的月度周期，这可能导致预置不足。

**实施步骤 **
+ ** 执行成本建模： **将工作负载或概念验证部署到具有特定资源类型和规模的单独账户，然后执行测试。使用测试数据运行工作负载，并记录输出结果以及运行测试时段的成本数据。然后，重新部署工作负载或更改资源类型和规模并重新运行测试。

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

 **相关文档：** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [Amazon CloudWatch 功能](https://aws.amazon.com/cloudwatch/features/) 
+  [成本优化：合理调整 Amazon EC2 的大小](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 

# COST06-BP02 根据数据选择资源类型、规模和数量
<a name="cost_type_size_number_resources_data"></a>

根据工作负载和资源特征的相关数据选择资源规模或类型，例如计算、内存、吞吐量或写入密集型资源。通常使用工作负载的上一个版本（本地版本）、文档或关于工作负载的其他信息源进行选择。

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

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

根据工作负载和资源特征选择资源规模或类型，例如计算、内存、吞吐量或写入密集型资源。通常使用成本建模、工作负载的上一个版本（例如本地版本）、文档或关于工作负载的其他信息源（白皮书、发布的解决方案）进行选择。

**实施步骤**
+ **根据数据选择资源：** 使用成本建模数据，选择预期的工作负载使用情况水平，然后选择指定的资源类型和规模。

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

 **相关文档：** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [Amazon CloudWatch 功能](https://aws.amazon.com/cloudwatch/features/) 
+  [成本优化：合理调整 EC2 的大小](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html) 

# COST06-BP03 根据指标自动选择资源类型、规模和数量
<a name="cost_type_size_number_resources_metrics"></a>

 使用当前运行的工作负载的指标选择正确的规模和类型，从而优化成本。针对 Amazon Elastic Compute Cloud（Amazon EC2）、Amazon DynamoDB、Amazon Elastic Block Store（Amazon EBS）（PIOPS）、Amazon Relational Database Service（Amazon RDS）、Amazon EMR 和联网等服务适当预置吞吐量、规模和存储。这可以通过自动扩展等反馈环路进行，也可以在工作负载中使用自定义代码来实现。 

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

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

在工作负载中创建一个反馈循环，此循环使用正在运行的工作负载中的活动指标来对该工作负载进行更改。您可以使用托管服务（如 [AWS Auto Scaling](https://aws.amazon.com/autoscaling/)），将其配置为代您执行合理调整大小的操作。AWS 还提供 [API、开发工具包](https://aws.amazon.com/developer/tools/)和功能，让您可以轻松修改资源。您可以对工作负载进行编程以停止和启动 Amazon Elastic Compute Cloud（Amazon EC2）实例，从而允许更改实例大小或实例类型。这带来双重好处：既合理调整了大小，又几乎消除了进行更改所需的所有运营成本。

某些 AWS 服务内置了自动类型或大小选项，如 [Amazon Simple Storage Service（Amazon S3）Intelligent-Tiering](https://aws.amazon.com/about-aws/whats-new/2018/11/s3-intelligent-tiering/)。Amazon S3 Intelligent-Tiering 会根据您的使用模式，自动在两个访问层之间移动数据：频繁访问和非频繁访问。

**实施步骤**
+ ** 配置工作负载指标： **确保捕获工作负载的关键指标。这些指标指明了客户体验（例如工作负载输出），并适应资源类型和规模之间的差异（例如 CPU 和内存使用情况）。
+ ** 查看合理调整规模建议： **在 AWS Compute Optimizer 中使用合理调整规模建议来调整工作负载。
+ ** 根据指标自动选择资源类型和规模： **使用工作负载指标，手动或自动选择工作负载资源。配置 AWS Auto Scaling 或在应用程序中实施代码可以减少频繁更改所需的工作量，而且实现更改的速度可能比手动操作更快。

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

 **相关文档：** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 
+  [Amazon CloudWatch 功能](https://aws.amazon.com/cloudwatch/features/) 
+  [CloudWatch 开始设置](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/GettingSetup.html) 
+  [CloudWatch 发布自定义指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 
+  [成本优化：合理调整 Amazon EC2 的大小](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html) 
+  [开始使用 Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [Amazon S3 Intelligent-Tiering](https://aws.amazon.com/about-aws/whats-new/2018/11/s3-intelligent-tiering/) 
+  [使用 SDK 启动 EC2 实例](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/run-instance.html) 