

# 具有成本效益的资源
<a name="a-cost-effective-resources"></a>

**Topics**
+ [COST 5. 您在选择服务时如何评估成本？](cost-05.md)
+ [COST 6. 在选择资源类型、规模和数量时，如何实现成本目标？](cost-06.md)
+ [COST 7. 如何使用定价模式来降低成本？](cost-07.md)
+ [COST 8. 如何规划数据传输费用？](cost-08.md)

# COST 5. 您在选择服务时如何评估成本？
<a name="cost-05"></a>

Amazon EC2、Amazon EBS 和 Amazon S3 属于基础 AWS 服务。托管服务（如 Amazon RDS 和 Amazon DynamoDB）属于更高级别或应用程序级别的 AWS 服务。通过选择适当的基础服务和托管服务，您可以优化此工作负载，从而降低成本。例如，使用托管服务，您可以节省或消除大部分管理和运营开销，让您有精力从事应用程序和业务相关活动。

**Topics**
+ [COST05-BP01 确定组织对成本的要求](cost_select_service_requirements.md)
+ [COST05-BP02 分析工作负载的所有组件](cost_select_service_analyze_all.md)
+ [COST05-BP03 对每个组件进行全面分析](cost_select_service_thorough_analysis.md)
+ [COST05-BP04 选择具有成本效益许可的软件](cost_select_service_licensing.md)
+ [COST05-BP05 选择此工作负载的组件，以便根据组织的优先事项优化成本](cost_select_service_select_for_cost.md)
+ [COST05-BP06 对不同时间的不同使用情况执行成本分析](cost_select_service_analyze_over_time.md)

# COST05-BP01 确定组织对成本的要求
<a name="cost_select_service_requirements"></a>

 与团队成员合作，为此工作负载确定成本优化与其他支柱（例如性能和可靠性）之间的平衡。

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

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

 在大多数组织中，信息技术（IT）部门由多个小型团队组成，每个小团队都有自己的议程和重点领域，这反映了其团队成员的专长和技能。您需要了解组织的总体目标、优先事项、具体目标以及每个部门或项目如何为这些总体目标做出贡献。对所有基本资源（包括人员、设备、技术、材料和外部服务）进行分类，是实现组织目标和全面预算规划的重要一环。采用这种系统化的方法来确定和了解成本，对于组织制定切合实际且稳健的成本计划至关重要。

 在为工作负载选择服务时，了解组织的优先要务至关重要。在成本优化和 AWS Well-Architected Framework 的其他支柱（例如性能和可靠性）之间取得平衡。这一过程应系统性地定期进行，以反映组织目标、市场条件和运营动态的变化。完全成本优化的工作负载是最符合组织要求的解决方案，但不一定是成本最低的。与组织内的所有团队（例如产品、业务、技术和财务）会面以收集信息。在有冲突的利益或替代方法之间做出权衡并评估其影响，以便在确定工作重心或选择行动方案时作出明智的决策。

 例如，加快新功能上市的速度可能会比成本优化更重要，或者您可以为非关系数据选择关系数据库，以简化迁移系统的工作，而不是迁移到针对数据类型优化的数据库和更新应用程序。

### 实施步骤
<a name="implementation-steps"></a>
+ **确定组织对成本的要求：**与组织中的团队成员会面，这些成员包括产品管理、应用程序负责人、开发和运营团队、管理和财务人员。对此工作负载及其组件的 Well-Architected 支柱进行优先级排序，输出应该是一个按顺序排列的支柱列表。您还可以为每个支柱添加一个权重，指示该支柱体现的额外关注程度，或者两个支柱之间的关注点的相似程度。
+  **解决技术债务并记录下来：**在工作负载审核期间，解决技术债务。记录积压工作项以便将来重新审视工作负载，目标是重构或重新构建以进一步优化工作负载。必须向其他利益相关方明确说明所做的权衡取舍。

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

 **相关最佳实践：**
+ [REL11-BP07 构建产品以满足可用性目标和正常运行时间服务水平协议（SLA）](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_withstand_component_failures_service_level_agreements.html)
+ [OPS01-BP06 评估权衡](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_priorities_eval_tradeoffs.html)

 **相关文档：**
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 

# COST05-BP02 分析工作负载的所有组件
<a name="cost_select_service_analyze_all"></a>

 确认已分析工作负载的每个组件，无论当前大小或当前成本如何。审核工作应该体现可能带来的好处，例如当前成本和预期成本。

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

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

 旨在为组织提供业务价值的工作负载组件可能包含各种服务。对于每个组件，组织可以选择特定的 AWS 云 服务来满足业务需求。对这些服务的熟悉程度，或以往的使用经验等因素，可能会影响这种选择。

 按照 [COST05-BP01 确定组织对成本的要求](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/cost_select_service_requirements.html)中的说明确定组织的要求后，对工作负载中的所有组件进行全面分析。根据当前和预计的成本和规模，分析每个组件。结合工作负载在其生命周期内可能实现的节省来考虑分析成本。分析此工作负载的所有组件所花费的精力，应与优化该特定组件预期能产生的潜在节省或改进相匹配。例如，如果拟议资源的成本为每月 10 美元，在预测的负载下不会超过每月 15 美元，那么为了将成本降低 50%（每月 5 美元）而耗费的一天时间，其价值可能已经超过系统使用寿命内的潜在收益。使用更快、更高效的基于数据的预估，可为该组件带来出色的总体结果。

 工作负载可能会随时间变化，如果工作负载架构或使用情况发生变化，原本合适的服务集可能不再是最优之选。为甄选服务进行分析时，必须考虑工作负载当前和未来的状态以及使用水平。为将来的工作负载状态或使用情况实施服务，可以减少或消除未来进行更改所需的工作量，从而降低总体成本。例如，最初使用 EMR Serverless 可能是合适的选择。但是，随着该服务使用情况的增加，过渡到 EC2 上的 EMR 可以降低该工作负载组件的成本。

 [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) 和 AWS 成本和使用情况报告（[CUR](https://aws.amazon.com/aws-cost-management/aws-cost-and-usage-reporting/)）可以分析概念验证（PoC）或运行环境的成本。您还可以使用 [AWS 定价计算器](https://calculator.aws/#/) 估算工作负载成本。

 编写一个工作流程以供技术团队用来审核其工作负载。此工作流程不仅要简单，还要涵盖所有必要步骤，以确保团队了解工作负载的每个组件及其定价。之后，组织可以遵循此工作流程，并根据每个团队的具体需求自定义此工作流程。

1.  **列出用于工作负载的每项服务：**这是一个很好的起点。确定当前使用的所有服务以及成本的来源。

1.  **了解这些服务的定价方式：**了解每项服务的[定价模式](https://aws.amazon.com/pricing/)。不同的 AWS 服务具有不同的定价模式，具体取决于使用量、数据传输和功能特定的定价等因素。

1.  **重点关注那些工作负载成本不符合预期且与您的预期使用情况和业务成果不一致的服务：**通过使用 AWS Cost Explorer或 AWS 成本和使用情况报告找出成本与价值或使用情况不成比例的异常值或服务。将成本与业务成果关联起来以确定优化工作的优先顺序，这一点很重要。

1.  **使用 AWS Cost Explorer、CloudWatch Logs、VPC 流日志和 Amazon S3 Storage Lens 存储统计管理工具了解这些高成本的根本原因：**这些工具有助于诊断高成本。每项服务都提供一种不同的分析功能来查看和分析使用情况和成本。例如，Cost Explorer 有助于确定总体成本趋势，CloudWatch Logs 可提供运营见解，VPC 流日志可显示 IP 流量，Amazon S3 Storage Lens 存储统计管理工具有助于存储分析。

1.  **使用 AWS Budgets 为服务或账户设置特定金额的预算：**设置预算是一种主动管理成本的方法。使用 AWS Budgets 可以设置自定义预算阈值，并在成本超过这些阈值时接收警报。

1.  **配置 Amazon CloudWatch 警报以发送账单和使用情况警报：**设置成本和使用情况指标的监控和警报。CloudWatch 警报可在达到特定阈值时通知您，从而缩短干预响应时间。

 对所有工作负载组件（无论其当前属性如何）进行战略审核，从而推动实现显著的改进和财务节省。应仔细考量审核过程中投入的精力，同时认真考虑可能实现的潜在优势。

### 实施步骤
<a name="implementation-steps"></a>
+  **列出工作负载组件：**构建工作负载组件的列表。使用此列表来验证是否已分析每个组件。应基于工作负载对企业优先事项的重要程度，来投入相应的工作量。按功能将资源分组可以提高效率（例如，将多个数据库合并为生产数据库存储）。
+  **确定组件列表的优先级：**选择组件列表并按工作量顺序对其进行优先级排序。通常按照组件的成本从最昂贵到最便宜的顺序排列，或者按照组件对组织优先事项的重要程度排列。
+  **执行分析：**对于列表中的每个组件，检查可用的选项和服务，然后选择最符合组织优先事项的选项。

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

 **相关文档：**
+  [AWS 定价计算器](https://calculator.aws/#/) 
+  [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [AWS 云 产品](https://aws.amazon.com/products/) 

 **相关视频：**
+  [AWS 成本优化系列：CloudWatch](https://www.youtube.com/watch?v=6imTJUGEzjU) 

# COST05-BP03 对每个组件进行全面分析
<a name="cost_select_service_thorough_analysis"></a>

 分析组织为每个组件付出的总体成本。通过考虑运营和管理成本（尤其是在使用云提供商提供的托管服务时）来计算总拥有成本。审核工作量应该体现可能带来的好处（例如分析时间与组件成本成正比）。

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

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

 利用节省下来的时间，您的团队将能够专注于解决技术债务、创新和增值功能，并打造企业的竞争优势。例如，您可能需要尽快将数据库从本地环境直接迁移（也称为重新托管）到云，然后再进行优化。值得探索的是，通过使用 AWS 上可消除或减少许可成本的托管服务，您可以节省多少成本。AWS 上的托管服务消除了维护服务的运营和管理负担（例如修补或更新操作系统），让您可以专注于创新和业务。

 由于托管服务在云级运行，它们可以提供更低的单位事务或服务成本。您可以在不改变应用程序核心架构的情况下进行潜在优化，以获得一些切实的优势。例如，您可能希望通过迁移到 [Amazon Relational Database Service（Amazon RDS）](https://aws.amazon.com/rds/)等数据库即服务平台或将应用程序迁移到完全托管式平台（例如 [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/)），来减少管理数据库实例所花费的时间。

通常，可以设置托管服务的部分属性，以确保容量足够。您必须设置和监控这些属性，以便最大限度地减少多余容量，并最大限度地提高性能。您可以使用 AWS 管理控制台 或 AWS API 和 SDK 来修改 AWS Managed Services 的属性，使资源需求匹配不断变化的要求。例如，可以增加或减少 Amazon EMR 集群（或 Amazon Redshift 集群）上的节点数量，以横向扩展或缩减集群。

您还可以在 AWS 资源上打包多个实例，实现更高密度的使用情况。例如，您可以在单个 Amazon Relational Database Service（Amazon RDS）数据库实例上预置多个小型数据库。随着使用量的增长，您可以使用快照和还原过程，将其中一个数据库迁移到专用 Amazon RDS 数据库实例。

在托管服务上预置工作负载时，必须了解调整服务容量的要求。这些要求通常是时间、工作量和对正常工作负载运营的任何影响。预置的资源必须留出时间来进行任何更改，并预置所需开销以允许这样做。通过使用与系统和监控工具（如 Amazon CloudWatch）集成的 API 和软件开发工具包，可以将修改服务所需的持续工作量减少至接近零。

[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/) 提供托管式分析服务。

[AMS](https://aws.amazon.com/managed-services/) 是代表企业客户和合作伙伴运营 AWS 基础设施的服务。该服务提供了一个安全且合规的环境，您可以将工作负载部署到其中。AMS 使用具有自动化功能的企业云运营模型，让您可以满足组织要求，更快地迁移到云中并降低持续的管理成本。

**实施步骤**
+ **执行全面的分析：**使用组件列表，从最高优先级到最低优先级遍历每个组件。对于优先级较高且成本较高的组件，执行额外分析并评测所有可用选项及其长期影响。对于优先级较低的组件，评测使用情况的变化是否会更改组件的优先级，然后以适当的工作量进行分析。
+  **比较托管资源和非托管资源：**考虑您管理的资源的运营成本，并将其与 AWS 托管资源进行比较。例如，审查在 Amazon EC2 实例上运行的数据库，并与 Amazon RDS 选项（AWS 托管服务）进行比较，或将 Amazon EMR 与在 Amazon EC2 上运行 Apache Spark 进行比较。当从自我管理的工作负载迁移到 AWS 完全托管的工作负载时，请仔细研究您的选择。需要考虑的三个最重要的因素是您要使用的[托管服务的类型](https://aws.amazon.com/products/?&aws-products-all.q=managed)、要用于[迁移数据](https://aws.amazon.com/big-data/datalakes-and-analytics/migrations/)的流程以及了解 [AWS 责任共担模式](https://aws.amazon.com/compliance/shared-responsibility-model/)。

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

 **相关文档：**
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [AWS 云 产品](https://aws.amazon.com/products/) 
+ [AWS 责任共担模式](https://aws.amazon.com/compliance/shared-responsibility-model/)

 **相关视频：**
+ [为什么要迁移到托管数据库？](https://www.youtube.com/watch?v=VRFdc-MVa4I)
+ [什么是 Amazon EMR，如何才能使用它来处理数据？](https://www.youtube.com/watch?v=jylp2atrZjc)

 **相关示例：**
+ [为什么要迁移到托管数据库？](https://aws.amazon.com/getting-started/hands-on/move-to-managed/why-move-to-a-managed-database/)
+ [使用 AWS DMS 将相同 SQL Server 数据库中的数据整合到单个 Amazon RDS for SQL Server 数据库中](https://aws.amazon.com/blogs/database/consolidate-data-from-identical-sql-server-databases-into-a-single-amazon-rds-for-sql-server-database-using-aws-dms/)
+ [将数据大规模传输到 Amazon Managed Streaming for Apache Kafka（Amazon MSK）](https://aws.amazon.com/getting-started/hands-on/deliver-data-at-scale-to-amazon-msk-with-iot-core/?ref=gsrchandson)
+ [将 ASP.NET Web 应用程序迁移到 AWS Elastic Beanstalk](https://aws.amazon.com/getting-started/hands-on/migrate-aspnet-web-application-elastic-beanstalk/?ref=gsrchandson&id=itprohandson)

# COST05-BP04 选择具有成本效益许可的软件
<a name="cost_select_service_licensing"></a>

 开源软件无需软件许可成本，从而大大节省了工作负载的成本。如果需要许可软件，应避免使用绑定到任意属性（如 CPU）的许可，而应使用绑定到输出或结果的许可。这些许可的成本与所提供的效益更为相当。

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

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

 开源起源于软件开发，表示软件符合某些自由发布的标准。任何人都可以检查、修改和增强开源软件的源代码。根据业务要求、工程师技能、预测的使用情况或其他技术依赖关系，组织可以考虑在 AWS 上使用开源软件来最大限度地降低许可成本。换言之，使用[开源软件](https://aws.amazon.com/what-is/open-source/)可以降低软件许可成本。随着工作负载规模的扩展，这可能对工作负载成本产生重大影响。

 将许可软件能够带来的好处与总成本进行比较，以优化工作负载。对许可的任何更改以及更改对工作负载成本的影响建模。如果供应商更改了数据库许可的成本，请调查这会如何影响工作负载的整体效率。考虑供应商的历史定价公告，了解其产品中的许可更改趋势。许可成本也可以独立于吞吐量或使用情况进行扩缩，例如按硬件扩缩的许可（CPU 绑定许可）。应避免使用这些许可，因为成本会迅速增加，而且无法取得相应的结果。

 例如，与在 Windows 上运行 Amazon EC2 实例相比，使用 Linux 操作系统在 us-east-1 中运行另一个 Amazon EC2 实例可以将成本降低大约 45%。

 [AWS 定价计算器](https://calculator.aws/) 提供了一种全面的方法来比较具有不同许可选项的各种资源的成本，例如 Amazon RDS 实例和不同的数据库引擎。此外，AWS Cost Explorer 为现有工作负载（尤其是附带不同许可的工作负载）的成本提供了宝贵的视角。对于许可管理，[AWS License Manager](https://aws.amazon.com/license-manager) 提供了一种简化的方法来监督和处理软件许可。客户可以在 AWS 云 中部署和运行他们首选的开源软件。

### 实施步骤
<a name="implementation-steps"></a>
+ **分析许可选项：**查看可用软件的许可条款。查看具有所需功能的开源版本，以及许可软件提供的效益是否大于成本。优惠条款可确保软件成本与所提供的效益相符。
+ **分析软件提供商：**查看供应商的任何历史定价或许可更改。了解与成果不符的任何更改，例如在特定供应商硬件或平台上运行的惩罚性条款。此外，还要了解他们如何执行审核和处罚。

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

 **相关文档：**
+ [Open Source at AWS](https://aws.amazon.com/opensource/)
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 

 **相关示例：**
+ [开源博客](https://aws.amazon.com/blogs/opensource/)
+ [AWS 开源博客](https://aws.github.io/)
+ [优化与许可评测](https://aws.amazon.com/optimization-and-licensing-assessment/)

# COST05-BP05 选择此工作负载的组件，以便根据组织的优先事项优化成本
<a name="cost_select_service_select_for_cost"></a>

 为工作负载选择所有组件时考虑成本因素。这包括使用应用程序级服务和托管服务或无服务器、容器或事件驱动型架构，以降低总体成本。使用开源软件、没有许可费用的软件或替代方案来尽可能减少许可成本，从而减少开支。

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

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

 在选择所有组件时考虑服务和选项的成本。这包括使用应用程序级服务和托管服务（例如 [Amazon Relational Database Service](https://aws.amazon.com/rds/)（Amazon RDS）、[Amazon DynamoDB](https://aws.amazon.com/dynamodb/)、[Amazon Simple Notification Service](https://aws.amazon.com/sns/)（Amazon SNS）和 [Amazon Simple Email Service](https://aws.amazon.com/ses/)（Amazon SES）来降低总体组织成本。

 使用无服务器和容器进行计算，例如将 [AWS Lambda](https://aws.amazon.com/lambda/) 和 [Amazon Simple Storage Service（Amazon S3）](https://aws.amazon.com/s3/)用于静态网站。尽可能将应用程序容器化，并使用 AWS 托管容器服务，例如 [Amazon Elastic Container Service（Amazon ECS）](https://aws.amazon.com/ecs/)和 [Amazon Elastic Kubernetes Service](https://aws.amazon.com/eks/)（Amazon EKS）。

 使用开源软件或没有许可费用的软件，尽可能减少许可成本：例如，对计算工作负载使用 Amazon Linux 或将数据库迁移到 Amazon Aurora。

 可以使用无服务器服务或应用程序级服务，例如 [Lambda](https://aws.amazon.com/lambda/)、[Amazon Simple Queue Service（Amazon SQS）](https://aws.amazon.com/sqs/)、[Amazon SNS](https://aws.amazon.com/sqs/) 和 [Amazon SES](https://aws.amazon.com/ses/)。这些服务消除了管理资源的需要，并提供代码执行、服务排队和消息传递功能。另一个好处是，这些服务可以根据使用情况横向缩减性能和成本，从而实现有效的成本分配和归属。

 对于无服务器服务，也可以使用[事件驱动型架构](https://aws.amazon.com/what-is/eda/)。事件驱动型架构是推送式的，所以当事件在路由器中出现时，一切都按需发生。这样，您就不会为检查事件的连续轮询而付费。这意味着更少的网络带宽消耗、更低的 CPU 利用率、更少的闲置实例集容量，以及更少的 SSL/TLS 握手次数。

 有关无服务器的更多信息，请参阅《[Well-Architected 无服务器应用程序剖析白皮书](https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/welcome.html)》。

### 实施步骤
<a name="implementation-steps"></a>
+  **选择每项服务以优化成本：**使用经过优先级排序的列表和分析，选择最符合组织优先事项的每个选项。与其增加容量来满足需求，不如考虑其他可以提供更高性价比的选项。例如，您需要审查数据库在 AWS 上的预期流量，并考虑增加实例大小或使用 Amazon ElastiCache 服务（Redis 或 Memcached），为数据库提供缓存机制。
+  **评估事件驱动型架构：**通过使用无服务器架构，您还可以为基于微服务的分布式应用程序构建事件驱动型架构，这有助于您构建可扩展、有韧性、敏捷且具有成本效益的解决方案。

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

 **相关文档：**
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [AWS 无服务器](https://aws.amazon.com/serverless/) 
+  [什么是事件驱动型架构](https://aws.amazon.com/what-is/eda/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 
+  [Amazon ElastiCache（Redis OSS）](https://aws.amazon.com/elasticache/redis) 

 **相关示例：**
+  [Getting started with event-driven architecture](https://aws.amazon.com/blogs/compute/getting-started-with-event-driven-architecture/) 
+  [事件驱动型架构](https://aws.amazon.com/event-driven-architecture/) 
+  [How Statsig runs 100x more cost-effectively using Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/blogs/database/how-statsig-runs-100x-more-cost-effectively-using-amazon-elasticache-for-redis/) 
+  [Best practices for working with AWS Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html) 

# COST05-BP06 对不同时间的不同使用情况执行成本分析
<a name="cost_select_service_analyze_over_time"></a>

 工作负载可能会随时间而变化。某些服务或功能在不同的使用水平下更具成本效益。通过根据预期使用情况对一段时间内的每个组件执行分析，工作负载可在其生命周期内保持成本效益。

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

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

随着 AWS 发布新的服务和功能，适用于工作负载的最佳服务可能会发生变化。所需的工作量应体现可能带来的好处。工作负载审核频率取决于组织要求。如果工作负载的成本很高，则尽早实施新服务可最大限度地节省成本，因此提高审核频率可能是有利的。审核的另一个启动因素是使用模式发生变化。使用情况发生重大变化可能表明备用服务更加理想。

 如果您需要将数据移入 AWS 云，可以选择 AWS 提供的任何种类的服务和合作伙伴工具，帮助您迁移数据集，无论它们是文件、数据库、机器映像、数据块卷，还是磁带备份。例如，要将大量数据移入和移出 AWS，或者要在边缘处理数据，可以使用 AWS 专用设备之一，经济高效地离线移动 PB 级数据。再例如，对于更高的数据传输率，直接连接服务可能比 VPN 更便宜，而 VPN 可以为业务提供所需的稳定一致的连接。

 根据一段时间内针对不同使用情况的成本分析，审查您的扩缩活动。分析结果，看看是否可以调整扩缩策略，以增加具有多种实例类型和购买选项的实例。审查设置，看看是否可以减小最小值，用较小的实例集大小满足用户请求，并增加更多资源来满足预期的高需求。

 通过与组织中的利益相关方讨论，对不同使用情况执行成本分析，并使用 [AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-forecast.html) 预测功能来预测服务变更的潜在影响。使用 AWS Budgets、CloudWatch 计费警报和 AWS Cost Anomaly Detection 监控使用水平启动因素，以尽早确定和实施最具成本效益的服务。

**实施步骤**
+ **定义预计使用模式：**与组织中的相关人员（例如营销和产品负责人）合作，记录哪些预期和预计使用模式适用于工作负载。与业务利益相关方讨论历史和预测的成本及使用量的增加，并确保增加幅度与业务要求一致。确定预计会有更多用户使用您的 AWS 资源的日历日、周或月，这表明您应该增加现有资源的容量，或采用额外的服务来降低成本和提高性能。
+ **对预测的使用情况执行成本分析：**使用定义的使用模式，在每个点执行分析。分析工作量应该体现潜在的成果，例如，如果使用情况变化很大，应执行彻底分析，以验证任何成本和变化。换句话说，当成本增加时，企业的使用量也应该增加。

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

 **相关文档：**
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 
+ [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)
+ [云数据迁移](https://aws.amazon.com/cloud-data-migration/)
+ [AWS Snow Family](https://aws.amazon.com/snow/)

 **相关视频：**
+ [AWS OpsHub for Snow Family](https://www.youtube.com/watch?v=0Q7s7JiBCf0)

# COST 6. 在选择资源类型、规模和数量时，如何实现成本目标？
<a name="cost-06"></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-BP04 考虑使用共享资源](cost_type_size_number_resources_shared.md)

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

确定组织要求（如业务需求和现有承诺），并对工作负载及其每个组件进行成本建模（总体成本）。对不同预计负载下的工作负载执行基准测试活动，并比较成本。建模工作应该体现可能带来的好处，例如花费的时间与组件成本成正比。

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

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

 对工作负载及其每个组件执行成本建模，以了解资源之间的平衡，并在给定的具体性能水平下，确定工作负载中各项资源的适当规模。在评估计划的工作负载部署的价值实现结果时，了解成本考虑因素可为组织的业务案例和决策过程提供依据。

 对不同预计负载下的工作负载执行基准测试活动，并比较成本。建模工作量应该体现可能带来的好处，例如，花费的时间与组件成本或预计可节省的成本成正比。有关最佳实践，请参阅[《AWS Well-Architected Framework 的性能效率支柱》的“审核”部分](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/review.html)。

 例如，要为由计算资源组成的工作负载创建成本建模，[AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 可以协助对正在运行的工作负载进行成本建模。它根据历史使用情况为计算资源提供合理调整大小的建议。确保将 CloudWatch 代理部署到 Amazon EC2 实例，以收集内存指标，这会通过 AWS Compute Optimizer 内更准确的建议为您提供帮助。这是计算资源的理想数据来源，因为它是一项免费服务，并且使用机器学习根据风险等级提出多项建议。

 您可以使用[多项服务](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/identifying-opportunities-to-right-size.html)将自定义日志作为数据来源，用于合理调整其它服务和工作负载组件（例如 [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/)、[Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 和 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)）的操作的规模。AWS Trusted Advisor 会检查资源并标记利用率低的资源，这有助于您合理调整资源大小并创建成本模型。

 以下是成本建模数据和指标的建议：
+  监控必须准确反映用户体验。为时间段选择正确的粒度，并仔细选择最大值或第 99 个百分位值而不是平均值。
+  为覆盖任何工作负载周期所需的分析时间段选择正确的粒度。例如，如果执行为期两周的分析，您可能会忽略高利用率的月度周期，这可能导致预置不足。
+  通过考虑现有的承诺、为其他工作负载选择的定价模式，以及更快地创新和专注于核心业务价值的能力，为计划的工作负载选择合适的 AWS 服务。

**实施步骤**
+ **执行资源的成本建模：**将工作负载或概念验证部署到具有特定资源类型和规模的单独账户，然后执行测试。使用测试数据运行工作负载，并记录输出结果以及测试运行时段的成本数据。然后，重新部署工作负载或更改资源类型和规模，并再次运行测试。在创建成本模型时，考虑您可能与这些资源一起使用的任何产品的许可费用，以及用于部署和管理这些资源的估计运营（劳动力或工程师）成本。考虑对一个时间段（每小时、每天、每月、每年或三年）进行成本建模。

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

 **相关文档：**
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+ [确定合理调整大小的机会](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/identifying-opportunities-to-right-size.html)
+  [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/) 
+ [AWS 定价计算器](https://calculator.aws/#/)

 **相关示例：**
+ [执行数据驱动型成本建模](https://aws.amazon.com/blogs/mt/how-to-use-aws-well-architected-with-aws-trusted-advisor-to-achieve-data-driven-cost-optimization/)
+ [估算计划的 AWS 资源配置的成本](https://aws.amazon.com/premiumsupport/knowledge-center/estimating-aws-resource-costs/)
+ [选择合适的 AWS](https://www.learnaws.org/2019/09/27/choose-right-aws-tools/) 工具

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

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

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

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

 Amazon EC2 提供许多实例类型，它们具有不同的 CPU、内存、存储和联网容量级别，适合不同的应用场景。这些实例类型具有不同的 CPU、内存、存储和联网容量组合，让您在为项目选择正确的资源组合时有更多的备选方案。每种实例类型都有多种大小，因此您可以根据工作负载的需求调整资源。要确定您需要哪种实例类型，请根据您计划在实例上运行的应用程序或软件，收集相关的系统要求详细信息。这些详细信息应包括以下各项：
+  操作系统 
+  CPU 核心数量 
+  GPU 核心数 
+  系统内存（RAM）容量 
+  存储类型和空间 
+  网络带宽要求 

 确定计算要求的目的以及需要哪个实例，然后探索各种 Amazon EC2 实例系列。Amazon 提供以下实例类型系列：
+  通用 
+  计算优化 
+  内存优化 
+  存储优化 
+  加速计算 
+  HPC 优化型 

 要更深入地了解特定 Amazon EC2 实例系列可以实现的具体目的和应用场景，请参阅 [AWS 实例类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)。

 想要选择最能满足需求的特定实例系列和实例类型，系统要求的收集至关重要。实例类型名称由系列名称和实例大小组成。例如，t2.micro 实例属于 T2 系列，而且是微型实例。

 根据工作负载和资源特征（例如计算、内存、吞吐量或写入密集型）选择资源规模或类型。选择的依据通常是使用成本建模、工作负载的上一个版本（例如本地版本）、文档或关于工作负载的其它信息源（白皮书或发布的解决方案）。使用 AWS 定价计算器或成本管理工具有助于就实例类型、规模和配置作出明智的决策。

### 实施步骤
<a name="implementation-steps"></a>
+ **根据数据选择资源：**使用成本建模数据选择预期的工作负载使用水平，然后选择指定的资源类型和规模。根据成本建模数据，确定虚拟 CPU 的数量、总内存（GiB）、本地实例存储卷（GB）、Amazon EBS 卷和网络性能级别，同时考虑实例所需的数据传输速率。务必根据详细的分析和准确的数据做出选择，这样不仅能够优化性能，还能有效管理成本。

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

 **相关文档：**
+ [AWS 实例类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
+  [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) 

 **相关视频：**
+ [Selecting the right Amazon EC2 instance for your workloads](https://www.youtube.com/watch?v=q5Dn9gcmpJg)
+ [Right size your service](https://youtu.be/wcp1inFS78A)

 **相关示例：**
+ [It just got easier to discover and compare Amazon EC2 instance types](https://aws.amazon.com/blogs/compute/it-just-got-easier-to-discover-and-compare-ec2-instance-types/)

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

使用当前运行的工作负载的指标选择正确的规模和类型，从而优化成本。为计算、存储、数据和网络服务适当地预置吞吐量、规模和存储。这可以通过自动扩缩等反馈环路进行，也可以在工作负载中使用自定义代码来实现。

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

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

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

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

**实施步骤**
+ **通过配置工作负载指标来提高可观测性：**捕获工作负载的关键指标。这些指标指明了客户体验（例如工作负载输出），并适应资源类型和规模之间的差异（例如 CPU 和内存使用情况）。对于计算资源，请分析性能数据以合理调整 Amazon EC2 实例大小。确定空闲实例和未充分利用的实例。要查找的关键指标是 CPU 利用率和内存利用率（例如，在 90% 的时间内为 40% 的 CPU 利用率，如 [Rightsizing with AWS Compute Optimizer and Memory Utilization Enabled](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 中所述）。确定四周内最大 CPU 使用率和内存利用率低于 40% 的实例。这些是大小适当能够降低成本的实例。对于诸如 Amazon S3 之类的存储资源，可以使用 [Amazon S3 Storage Lens 存储统计管理工具](https://aws.amazon.com/getting-started/hands-on/amazon-s3-storage-lens/)，它允许您在存储桶级别查看不同类别的 28 个指标，并在控制面板中默认查看 14 天的历史数据。可以按摘要和成本优化或事件筛选 Amazon S3 Storage Lens 存储统计管理工具控制面板，以分析特定指标。
+ **查看合理调整大小建议：**使用 AWS Compute Optimizer 中的合理调整大小建议和成本管理控制台中的 Amazon EC2 合理调整大小工具，或者查看 AWS Trusted Advisor 如何合理调整资源大小以调整工作负载。无论是 Amazon EC2 实例、AWS 存储类还是 Amazon RDS 实例类型，都必须使用[正确的工具](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/identifying-opportunities-to-right-size.html)来调整不同资源的大小，并遵循[合理调整大小指南](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/identifying-opportunities-to-right-size.html)。对于存储资源，可以使用 Amazon S3 Storage Lens 存储统计管理工具，它可以让您了解对象存储使用情况、活动趋势，并提出可行的建议，以优化成本并应用数据保护最佳实践。使用 [Amazon S3 Storage Lens 存储统计管理工具](https://aws.amazon.com/getting-started/hands-on/amazon-s3-storage-lens/)通过对整个组织指标的分析得出的上下文建议，您可以立即采取措施来优化存储。
+ **根据指标自动选择资源类型和大小：**使用工作负载指标，手动或自动选择工作负载资源。对于计算资源，配置 AWS Auto Scaling 或在应用程序中实现代码，可以减少频繁更改所需的工作量，而且实施更改的速度可能比手动操作更快。您可以启动并自动扩展单个 Auto Scaling 组中的一组按需实例和竞价型实例。除了享受使用竞价型实例的折扣外，您还可以使用预留实例或 Savings Plan 获得常规按需实例定价的折扣费率。将所有这些因素相结合，可帮助您优化 Amazon EC2 实例的成本节约，并确定应用程序所需的规模和性能。还可以在[自动扩缩组（ASG）](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html)中使用[基于属性的实例类型选择（ABS）](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html)策略，该策略允许您将实例要求表示为一组属性，例如 vCPU、内存和存储。您可以在发布新一代实例类型时自动使用它们，并通过 Amazon EC2 竞价型实例获得更广泛的容量。Amazon EC2 Fleet 和 Amazon EC2 Auto Scaling 会选择并启动符合指定属性的实例，无需手动选择实例类型。对于存储资源，可以使用 [Amazon S3 Intelligent Tiering](https://aws.amazon.com/s3/storage-classes/intelligent-tiering/) 和 [Amazon EFS 不频繁访问](https://aws.amazon.com/efs/features/infrequent-access/)功能，它们允许您自动选择存储类，以便在数据访问模式变更时自动节省存储成本，而不会影响性能或运营开销。

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

 **相关文档：**
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS 合理调整大小](https://aws.amazon.com/aws-cost-management/aws-cost-optimization/right-sizing/) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 
+  [Amazon CloudWatch 功能](https://aws.amazon.com/cloudwatch/features/) 
+  [CloudWatch Getting Set Up](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/GettingSetup.html) 
+  [CloudWatch Publishing Custom Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 
+  [Getting Started with Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [Amazon S3 Storage Lens 存储统计管理工具](https://aws.amazon.com/getting-started/hands-on/amazon-s3-storage-lens/) 
+  [Amazon S3 Intelligent-Tiering](https://aws.amazon.com/about-aws/whats-new/2018/11/s3-intelligent-tiering/) 
+  [Amazon EFS 不频繁访问](https://aws.amazon.com/efs/features/infrequent-access/) 
+  [Launch an Amazon EC2 Instance Using the SDK](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/run-instance.html) 

 **相关视频：**
+  [Right Size Your Services](https://www.youtube.com/watch?v=wcp1inFS78A) 

 **相关示例：**
+  [基于属性选择实例类型用于 Amazon EC2 Fleet 的自动扩缩](https://aws.amazon.com/blogs/aws/new-attribute-based-instance-type-selection-for-ec2-auto-scaling-and-ec2-fleet/) 
+  [Optimizing Amazon Elastic Container Service for cost using scheduled scaling](https://aws.amazon.com/blogs/containers/optimizing-amazon-elastic-container-service-for-cost-using-scheduled-scaling/) 
+  [Predictive scaling with Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/) 
+  [利用 Amazon S3 Storage Lens 存储统计管理工具优化成本并深入了解使用情况](https://aws.amazon.com/getting-started/hands-on/amazon-s3-storage-lens/) 

# COST06-BP04 考虑使用共享资源
<a name="cost_type_size_number_resources_shared"></a>

 对于已经在组织级别为多个业务部门部署的服务，可以考虑使用共享资源来提高利用率，并降低总拥有成本（TCO）。使用共享资源是一种经济实惠的选择，可以通过使用现有解决方案和/或共享组件，实现集中管理和成本优化。在账户边界内或专用账户中管理监控、备份和连接等常见功能。还可以通过实施标准化、减少重复和降低复杂性来降低成本。

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

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

 如果多个工作负载产生相同的功能，则使用现有解决方案和共享组件，改善管理和优化成本。考虑使用现有资源（尤其是共享资源），例如非生产数据库服务器或目录服务，通过遵循安全最佳实践和组织法规来降低云成本。为了更好地实现价值和提高效率，将成本分配（使用对账和扣款）给产生使用情况的相关业务领域至关重要。

 *对账*是指将云成本分为可归属类别的报告，例如消费者、业务部门、总分类账账户或其他责任实体。对账的目标是向团队、业务部门或个人展示其使用的云资源的成本。

 *扣款*是指根据适合特定财务管理流程的策略，将中央服务支出分配给成本单位。对于客户而言，扣款会将一个共享服务账户产生的成本，分别计入适用于客户报告流程的不同财务成本类别。通过建立扣款机制，您可以报告不同业务部门、产品和团队产生的成本。

 工作负载可以分类为关键和非关键工作负载。根据此分类，使用常规配置的共享资源来处理不太关键的工作负载。为了进一步优化成本，请仅为关键工作负载预留专用服务器。跨多个账户共享或预置资源，对资源进行高效管理。即使在不同的开发、测试和生产环境中，安全共享也是可行的，不会破坏组织结构。

 为了加强您的了解，并优化容器化应用程序的成本和使用情况，请使用拆分成本分配数据，采用这种做法，有助于您根据应用程序对共享计算和内存资源的使用情况，将成本分配给各个业务实体。拆分成本分配数据可帮助您在容器工作负载中实现任务级对账和扣款，这些工作负载在 Amazon Elastic Container Service（Amazon ECS）或 Amazon Elastic Kubernetes Service（Amazon EKS）上运行。

 对于分布式架构，请构建共享服务 VPC，集中访问每个 VPC 中的工作负载所需的共享服务。这些共享服务可以包括目录服务或 VPC 端点等资源。为了减少管理开销和成本，请从中心位置共享资源，而不是在每个 VPC 中构建资源。

 使用共享资源时，可以节省运营成本、大幅提高资源利用率并提高一致性。在多账户设计中，可以集中托管一些 AWS 服务，并在中心使用多个应用程序和账户访问这些服务，此举有助于节省成本。可以使用 [AWS Resource Access Manager（AWS RAM）](https://aws.amazon.com/ram/)共享其它公用资源，如 [VPC subnets and AWS Transit Gateway attachments](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html#shareable-vpc)、[AWS Network Firewall](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html#shareable-network-firewall) 或 [Amazon SageMaker AI pipelines](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html#shareable-sagemaker)。在多账户环境中，使用 AWS RAM 一次性创建资源并与其他账户共享。

 组织应有效地标记共享成本，并确认其没有大量成本未标记或未分配。如果您未有效地分配共享成本，也没有人对共享成本管理负责，则共享云成本可能会急剧增加。您应当知道自己在资源、工作负载、团队或组织层面产生了哪些成本，因为这些信息有助于您进一步了解相较于实现的业务成果，在适当层面所实现的价值。最终，通过共享云基础设施，组织将实现成本节省。建议对共享云资源进行成本分配，以优化云支出。

### 实施步骤
<a name="implementation-steps"></a>
+  **评估现有资源：**审核对您的工作负载使用类似服务的现有工作负载。根据工作负载的组件，如果业务逻辑或技术要求允许，考虑现有平台。
+  **在 AWS RAM 中使用资源共享并进行相应的限制：**使用 AWS RAM 与组织内的其他 AWS 账户共享资源。共享资源时，无需在多个账户中重复构建资源，这样可以大幅减少资源维护的运营负担。此过程还有助于您与账户中的角色和用户，以及与其他 AWS 账户 安全地共享已创建的资源。
+  **标记资源：**标记比较适合成本报告的资源，并将其在成本类别中归类。激活这些与成本相关的资源标签来进行成本分配，以实现 AWS 资源使用情况的可见性。专注于在成本和使用情况可见性方面创建适当的粒度级别，并通过成本分配报告和 KPI 跟踪来影响云使用行为。

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

 **相关最佳实践：**
+ [SEC03-BP08 在组织内安全地共享资源](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_permissions_share_securely.html)

 **相关文档：**
+ [什么是 AWS Resource Access Manager？](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)
+ [AWS services that you can use with AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html)
+ [Shareable AWS resources](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html)
+ [AWS Cost and Usage (CUR) Queries](https://catalog.workshops.aws/cur-query-library/en-US)

 **相关视频：**
+ [AWS Resource Access Manager - granular access control with managed permissions ](https://www.youtube.com/watch?v=X3HskbPqR2s)
+ [How to design your AWS cost allocation strategy](https://pages.awscloud.com/aws-cfm-talks-how-to-design-your-AWS-cost-allocation-strategy-01122022.html)
+ [AWS Cost Categories](https://www.youtube.com/watch?v=84GYnBBM0Cg)

 **相关示例：**
+ [How-to chargeback shared services: An AWS Transit Gateway example](https://aws.amazon.com/blogs/aws-cloud-financial-management/gs-chargeback-shared-services-an-aws-transit-gateway-example/)
+ [How to build a chargeback/showback model for Savings Plans using the CUR](https://aws.amazon.com/blogs/aws-cloud-financial-management/how-to-build-a-chargeback-showback-model-for-savings-plans-using-the-cur/)
+ [Using VPC Sharing for a Cost-Effective Multi-Account Microservice Architecture](https://aws.amazon.com/blogs/architecture/using-vpc-sharing-for-a-cost-effective-multi-account-microservice-architecture/)
+ [Improve cost visibility of Amazon EKS with AWS Split Cost Allocation Data](https://aws.amazon.com/blogs/aws-cloud-financial-management/improve-cost-visibility-of-amazon-eks-with-aws-split-cost-allocation-data/)
+ [利用 AWS 拆分成本分配数据提高 Amazon ECS 和 AWS Batch 的成本可见性](https://aws.amazon.com/blogs/aws-cloud-financial-management/la-improve-cost-visibility-of-containerized-applications-with-aws-split-cost-allocation-data-for-ecs-and-batch-jobs/)

# COST 7. 如何使用定价模式来降低成本？
<a name="cost-07"></a>

使用最适合的资源定价模式可以尽可能减少支出。

**Topics**
+ [COST07-BP01 执行定价模式分析](cost_pricing_model_analysis.md)
+ [COST07-BP02 根据成本选择区域](cost_pricing_model_region_cost.md)
+ [COST07-BP03 选择具有经济实惠条款的第三方协议](cost_pricing_model_third_party.md)
+ [COST07-BP04 针对此工作负载的所有组件实施定价模式](cost_pricing_model_implement_models.md)
+ [COST07-BP05 在管理账户级别执行定价模式分析](cost_pricing_model_master_analysis.md)

# COST07-BP01 执行定价模式分析
<a name="cost_pricing_model_analysis"></a>

分析工作负载的每个组件。确定组件和资源是长时间运行（享受承诺折扣），还是短时间动态运行（采用竞价型或按需型实例定价）。使用成本管理工具中的建议对工作负载执行分析，并对这些建议应用业务规则以实现高回报。

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

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

AWS 有多种[定价模式](https://aws.amazon.com/pricing/)，您可以根据产品，以符合组织需求且最具成本效益的方式支付资源费用。与团队合作确定最适合的定价模式。定价模式通常包含多种选项的组合，根据供应情况来决定 

 **按需型实例**支持您只需按小时或按秒（最低 60 秒）支付计算或数据库容量费用，具体取决于您运行的实例，而无需做出长期承诺或预先付款。

 **节省计划**是灵活的定价模式，支持以较低的 Amazon EC2、Lambda 和 AWS Fargate 使用价格换取一年或三年期的持续使用量承诺（以美元/小时为单位）。

 **竞价型实例**是一种 Amazon EC2 定价机制，允许您以折扣小时费率（最高比按需价格低 90%）申请备用计算容量，无需预先承诺。

 **预留实例**通过预付容量费用，允许您享受高达 75% 的折扣。有关更多详细信息，请参阅[使用预留优化成本](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/aws-cost-optimization.html)。

 可以选择为与生产、质量和开发环境关联的资源纳入节省计划。另外，由于沙盒资源仅在需要时才会启用，因此您可以为该环境中的资源选择按需模式。使用 Amazon [竞价型实例](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/amazon-elastic-compute-cloud-amazon-ec2.html#spot-instances)降低 Amazon EC2 成本，或者使用[计算类节省计划](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/amazon-elastic-compute-cloud-amazon-ec2.html#savings-plans)降低 Amazon EC2、Fargate 和 Lambda 成本。[AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) 建议工具提供通过节省计划获得承诺折扣的机会。

 如果您过去曾购买过 Amazon EC2 的[预留实例](https://aws.amazon.com/aws-cost-management/aws-cost-optimization/reserved-instances/?track=costop)，或者组织内部已经建立成本分配实践，则可以暂时继续使用 Amazon EC2 预留实例。但是，我们建议制定一项战略，以便在未来使用节省计划，它是一种更灵活的成本节省机制。您可以在 AWS Cost Management 中刷新节省计划（SP）建议，以便随时生成新的节省计划建议。使用预留实例（RI）降低 Amazon RDS、Amazon Redshift、Amazon ElastiCache 和 Amazon OpenSearch Service 成本。节省计划和预留实例提供三个选项：全额预付、部分预付和无预付款。使用 AWS Cost Explorer RI 和 SP 购买建议中提供的建议。

 要为竞价型实例工作负载寻找机会，请查看总体使用情况的小时视图，并确定使用情况或弹性的定期变化周期。您可以为各种容错和灵活的应用程序使用 Spot 实例。示例包括无状态 Web 服务器、API 端点、大数据和分析应用程序、容器化工作负载、CI/CD 及其他灵活工作负载。

 分析 Amazon EC2 和 Amazon RDS 实例，确定在不使用时（下班后和周末）是否可以将其关闭。与 24/7 全天候使用这些实例相比，您可以使用这种方法将成本降低 70% 或更多。如果您的 Amazon Redshift 集群只需要在特定时间内可用，则可以暂停集群并在稍后恢复它。停止 Amazon Redshift 集群或 Amazon EC2 和 Amazon RDS 实例时，计算计费会停止，仅收取存储费用。

 请注意，[按需容量预留](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-pricing-billing.html)（ODCR）不是定价折扣。无论您是否在预留容量中运行实例，都按等同的按需费率为您计算容量预留费用。当您需要为计划运行的资源提供足够的容量时，应该考虑使用这种模式。ODCR 不必做出长期承诺，因为当您不再需要时可以取消它们，但它们也可以享受节省计划或预留实例提供的折扣。

**实施步骤**
+  **分析工作负载弹性：**在 Cost Explorer 中使用每小时粒度或者使用自定义控制面板分析工作负载弹性。确定正在运行的实例数量的规律性变化。短期实例比较适合采用竞价型实例或竞价型实例集。
  +  [Well-Architected Lab：Cost Explorer](https://wellarchitectedlabs.com/Cost/Cost_Fundamentals/100_5_Cost_Visualization/Lab_Guide.html#Elasticity) 
  +  [Well-Architected Lab：成本可视化](https://wellarchitectedlabs.com/Cost/Cost_Fundamentals/200_5_Cost_Visualization/README.html) 
+  **查看现有定价合同：**查看当前合同或对长期需求的承诺。分析您目前拥有的承诺以及这些承诺中有多少正在使用。利用已有的合同折扣或企业协议。[企业协议](https://aws.amazon.com/pricing/enterprise/)让客户可以选择定制最适合其需求的协议。对于长期承诺，请考虑预留定价折扣、特定实例类型的预留实例或节省计划、实例系列、AWS 区域 和可用区。
+ **执行承诺折扣分析**：使用账户中的 Cost Explorer 查看节省计划和预留实例建议。要验证您是否实施了具有所需折扣和风险的正确建议，请按照 [Well-Architected Lab](https://wellarchitectedlabs.com/cost/costeffectiveresources/) 的说明操作。

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

 **相关文档：**
+  [Accessing Reserved Instance recommendations](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ri-recommendations.html) 
+  [实例购买选项](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) 
+ [AWS Enterprise](https://aws.amazon.com/pricing/enterprise/)

 **相关视频：**
+  [Save up to 90% and run production workloads on Spot](https://www.youtube.com/watch?v=BlNPZQh2wXs) 

 **相关示例：**
+  [Well-Architected Lab：Cost Explorer](https://wellarchitectedlabs.com/Cost/Cost_Fundamentals/100_5_Cost_Visualization/Lab_Guide.html#Elasticity) 
+  [Well-Architected Lab：成本可视化](https://wellarchitectedlabs.com/Cost/Cost_Fundamentals/200_5_Cost_Visualization/README.html) 
+  [Well-Architected Lab：定价模式](https://wellarchitectedlabs.com/Cost/CostEffectiveResources.html) 

# COST07-BP02 根据成本选择区域
<a name="cost_pricing_model_region_cost"></a>

资源定价在每个区域中可能各不相同。确定区域成本差异，仅当需要满足延迟、数据驻留和数据主权要求时，才在成本较高的区域部署。考虑区域成本有助于您为此工作负载支付最低的总体费用。

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

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

[AWS 云 基础设施](https://aws.amazon.com/about-aws/global-infrastructure/)是全球性的，托管在[世界各地的多个地点](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)，围绕 AWS 区域、可用区、Local Zones、AWS Outposts 和 Wavelength Zones 构建。区域是世界上的一个物理位置，每个区域都是一个独立的地理位置，而 AWS 有多个可用区。可用区是每个区域内多个相互隔离的位置，由一个或多个独立的数据中心组成，每个数据中心都拥有冗余的电力、联网和连接。

每个 AWS 区域 都在当地市场条件下运作，由于土地、光纤、电力和税收等成本的不同，每个区域的资源定价也不同。选择特定区域来运行解决方案组件或整个解决方案，以便可以在全球范围内以尽可能低的价格运行。使用 [AWS](https://calculator.aws/#/) Calculator 按位置类型（区域、Wavelength Zone 和 Local Zone）和区域搜索服务，估算工作负载在不同区域的成本。

在构建解决方案时，最佳实践是设法将计算资源放在更接近用户的位置，以提供更低的延迟和强大的数据主权。根据您的业务、数据隐私、性能和安全要求来选择地理位置。对于具有全球终端用户的应用程序，请使用多个位置。

 如果您不存在数据隐私、安全和业务要求方面的义务，请使用 AWS 服务价格较低的区域来部署工作负载。例如，如果您的默认区域是亚太地区（悉尼）（`ap-southwest-2`），并且不存在使用其他区域的限制（例如数据隐私、安全），则在美国东部（弗吉尼亚州北部）（`us-east-1`）部署非关键（开发和测试）Amazon EC2 实例成本更少。

![\[图表中显示了不同区域的合规性、延迟、成本以及服务和功能。\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/latest/framework/images/region-feature-matrix.png)


 

 前面的矩阵表显示，区域 6 是这种给定场景的最佳选择，因为与其他区域相比，其延迟较低，可以使用相应服务，而且是最便宜的区域。

## 实施步骤
<a name="implementation-steps"></a>
+ **查看 AWS 区域 定价：**分析当前区域的工作负载成本。首先使用按服务和使用类型划分的最高成本，计算其他可用区域的成本。如果预测的节省额超过迁移组件或工作负载的成本，则迁移到新区域。
+  **审查多区域部署的要求：**分析您的业务要求和义务（数据隐私、安全或性能），确认是否存在任何会阻止您使用多个区域的限制。如果不存在要求您只能使用单个区域的限制，则使用多个区域。
+  **分析所需的数据传输：**在选择区域时考虑数据传输成本。让您的数据靠近客户和资源。在数据流动和数据传输非常少时，选择成本较低的 AWS 区域。根据数据传输业务要求，您可以使用 [Amazon CloudFront](https://aws.amazon.com/cloudfront/)、[AWS PrivateLink](https://aws.amazon.com/privatelink/)、[AWS Direct Connect](https://aws.amazon.com/directconnect/) 和 [AWS Virtual Private Network](https://aws.amazon.com/vpn/) 来降低联网成本、提高性能和增强安全性。

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

 **相关文档：**
+  [Accessing Reserved Instance recommendations](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ri-recommendations.html) 
+  [Amazon EC2 定价](https://aws.amazon.com/ec2/pricing/) 
+  [实例购买选项](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) 
+  [区域表](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) 

 **相关视频：**
+  [Save up to 90% and run production workloads on Spot](https://www.youtube.com/watch?v=BlNPZQh2wXs) 

 **相关示例：**
+ [Overview of Data Transfer Costs for Common Architectures](https://aws.amazon.com/blogs/architecture/overview-of-data-transfer-costs-for-common-architectures/)
+ [Cost Considerations for Global Deployments](https://aws.amazon.com/blogs/aws-cloud-financial-management/cost-considerations-for-global-deployments/)
+ [What to Consider when Selecting a Region for your Workloads](https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/)

# COST07-BP03 选择具有经济实惠条款的第三方协议
<a name="cost_pricing_model_third_party"></a>

 经济实惠的协议和条款可确保这些服务的成本与所提供的效益相称。选择与可为组织带来额外效益相称的协议和定价。

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

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

 市场上有多种产品可用于管理云环境中的成本。根据客户需求，它们在功能方面可能有一些差异，例如有些侧重于成本治理或成本可见性，而有些则侧重于成本优化。想要得到有效的成本优化和治理，一个关键因素是使用具有必要功能的正确工具和正确的定价模式。这些产品有不同的定价模式。有些产品按每月账单的一定比例收费，有些则按所实现节省额的一定比例收费。理想情况下，您应该只为需要的资源付费。

 当您在云中使用第三方解决方案或服务时，确保定价结构契合期望结果非常重要。定价应与其带来的结果和价值成比例。例如，可带来一定百分比节省额的软件中，节省额（结果）越高，其价格也就越高。许可协议规定，随着开支的增加，您需要支付更多的费用，这可能并不总是有利于您优化成本。但是，如果供应商为您的账单的所有部分都提供明显的效益，那么这种按比例收费可能是合理的。

 例如，如果您使用的其他服务没有带来任何效益，提供 Amazon EC2 相关建议并按整体账单一定比例收取费用的解决方案将会变得更加昂贵。另一个示例是根据托管资源的成本，按一定百分比收费的托管服务。实例越大并不一定意味着需要更多的管理工作，但会收取更多费用。验证这些服务定价安排是否在其服务中包含了成本优化计划或功能，以提高效率。

 客户可能会发现市场上的这些产品更先进或更易于使用。您需要考虑这些产品的成本，并考虑长期潜在的成本优化结果。

### 实施步骤
<a name="implementation-steps"></a>
+  **分析第三方协议和条款：**查看第三方协议中的定价。基于不同的使用水平执行建模，并将新成本（例如使用新服务，或当前服务由于工作负载增长导致使用量增加）纳入考量。确定额外成本能否为业务提供所需效益。

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

 **相关文档：**
+  [Accessing Reserved Instance recommendations](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ri-recommendations.html) 
+  [实例购买选项](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) 

 **相关视频：**
+  [Save up to 90% and run production workloads on Spot](https://www.youtube.com/watch?v=BlNPZQh2wXs) 

# COST07-BP04 针对此工作负载的所有组件实施定价模式
<a name="cost_pricing_model_implement_models"></a>

 永久运行的资源应利用预留容量，如节省计划或预留实例。短期容量配置为使用竞价型实例或竞价型实例集。按需型实例仅用于无法中断并且运行时长不足以使用预留容量的短期工作负载（根据具体的资源类型，时长介于 25% 到 75% 之间）。

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

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

 为了提高成本效率，AWS 根据过去的使用情况提供多项承诺建议。您可以使用这些建议，了解可以节省的金额以及如何使用承诺。使用这些服务的方式可以是按需型实例、竞价型实例，或在一定时间内承诺使用量，通过预留实例（RI）和节省计划（SP）降低按需成本。您不仅需要了解每个工作负载组件和多项 AWS 服务，还需要了解这些服务的承诺折扣、购买选项和竞价型实例，以优化工作负载。

 考虑工作负载组件的要求，并了解这些服务的不同定价模式。定义这些组件的可用性要求。确定工作负载中是否存在执行功能的多个独立资源，以及工作负载随着时间推移的要求。使用默认的按需定价模式和其他适用模式比较资源成本。考虑资源或工作负载组件的任何潜在更改。

 例如，让我们看一下 AWS 上的这个 Web 应用程序架构。此示例工作负载由多项 AWS 服务组成，例如 Amazon Route 53、AWS WAF、Amazon CloudFront、Amazon EC2 实例、Amazon RDS 实例、负载均衡器、Amazon S3 存储和 Amazon Elastic File System（Amazon EFS）。您需要审查每项服务，并确定使用不同定价模式带来的潜在成本节省机会。其中一些服务可能有资格使用 RI 或 SP，而另一些可能只能使用按需方案。如下图所示，一些 AWS 服务可以使用 RI 或 SP 来承诺。

![\[图表中显示了使用预留实例和节省计划承诺的 AWS 服务\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/latest/framework/images/ri-sp-services.png)


### 实施步骤
<a name="implementation-steps"></a>
+  **实施定价模式：**使用分析结果，购买节省计划、预留实例或实施竞价型实例。如果是首次承诺购买，请选择列表中的前 5 项或 10 项建议，然后在接下来的一到两个月内监控并分析结果。AWS Cost Management Console 会指导您完成整个过程。查看控制台中的 RI 或 SP 建议，自定义建议（类型、付款和期限），查看每小时承诺（例如每小时 20 美元），然后添加到购物车。折扣将自动应用于符合条件的使用情况。定期购买少量承诺折扣（例如每 2 周或每月一次）。对可以中断或者无状态的工作负载实施竞价型实例。最后，选择按需型 Amazon EC2 实例并为其余需求分配资源。
+  **工作负载审核周期：**实施工作负载审核周期，用于专门分析定价模式覆盖范围。工作负载达到所需覆盖范围后，可部分（每几个月）购买额外的承诺折扣，或者随着组织的使用情况变化进行购买。

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

 **相关文档：**
+ [Understanding your Savings Plans recommendations](https://docs.aws.amazon.com/savingsplans/latest/userguide/sp-recommendations.html)
+  [Accessing Reserved Instance recommendations](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ri-recommendations.html) 
+  [如何购买预留实例](https://aws.amazon.com/ec2/pricing/reserved-instances/buyer/) 
+  [实例购买选项](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) 
+  [竞价型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) 
+ [其他 AWS 服务的预留模型](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-reservation-models/reservation-models-for-other-aws-services.html)
+ [Savings Plans Supported Services](https://docs.aws.amazon.com/savingsplans/latest/userguide/sp-services.html)

 **相关视频：**
+  [Save up to 90% and run production workloads on Spot](https://www.youtube.com/watch?v=BlNPZQh2wXs) 

 **相关示例：**
+ [What should you consider before purchasing Savings Plans?](https://repost.aws/knowledge-center/savings-plans-considerations)
+ [How can I use Cost Explorer to analyze my spending and usage?](https://repost.aws/knowledge-center/cost-explorer-analyze-spending-and-usage)

# COST07-BP05 在管理账户级别执行定价模式分析
<a name="cost_pricing_model_master_analysis"></a>

 检查账单和成本管理工具，并查看承诺和预留的建议折扣，以便在管理账户级别执行定期分析。

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

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

 定期执行成本建模可帮助您跨多个工作负载进行优化。例如，如果总体上多个工作负载使用按需型实例，则变更的风险较低，并且实施基于承诺的折扣可降低总体成本。建议每两周到一个月定期执行一次分析。这样您可以进行少量调整性采购，因此定价模式的覆盖范围会随着工作负载及其组件的变化而不断变化。

 使用 [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) 建议工具，寻找在管理账户中享受承诺折扣的机会。在计算管理账户级别的建议时，考虑 AWS 组织中具有预留实例（RI）或节省计划（SP）的所有账户的使用情况。它们也是在启用折扣共享的情况下计算的，以便推荐可在不同账户中最大限度实现节省的承诺。

 虽然在许多情况下，在管理账户级别购买可以进行优化以最大限度地节省开支，但在某些情况下，您可能会考虑在关联账户级别购买 SP，例如当您希望首先对该特定关联账户中的资源使用情况应用折扣时。成员账户建议在个人账户级别计算，以最大限度地节省每个独立账户的成本。如果您的账户同时拥有 RI 和 SP 承诺，则它们将按以下顺序应用：

1.  区域 RI 

1.  标准 RI 

1.  可转换 RI 

1.  实例节省计划 

1.  计算类节省计划 

 如果您在管理账户级别购买 SP，则将根据从最高到最低的折扣百分比来应用节省额。管理账户级别的 SP 会查看所有关联账户，并在任何可以实现最高折扣的地方应用节省额。如果您希望限制应用节省额的位置，则可以在关联账户级别购买节省计划，而只要该账户在运行符合条件的计算服务，就会首先在其上应用折扣。当账户未运行符合条件的计算服务时，将在同一管理账户下的其他关联账户之间共享折扣。默认情况下，折扣共享处于启用状态，不过您可以根据需要关闭。

 在整合账单系列中，节省计划首先应用于所有者账户的使用量，然后应用于其他账户的使用量。只有在启用共享时才会发生这种情况。您的节省计划将首先应用于您的最高节省百分比。如果有多个节省百分比相等的使用量，则节省计划将应用于节省计划费率最低的第一个使用量。节省计划将继续适用，直到没有剩余的使用情况或承诺用量用完为止。任何剩余的使用量按照按需费率收费。您可以在 AWS Cost Management 中刷新节省计划建议，以便随时生成新的节省计划建议。

 分析实例的灵活性之后，可以按照建议进行承诺。创建成本模型：使用可能的不同资源选项分析工作负载的短期成本、分析 AWS 定价模式并使其与业务要求保持一致，以发现总拥有成本和[成本优化](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/aws-cost-optimization.html)机会。

### 实施步骤
<a name="implementation-steps"></a>

 **执行承诺折扣分析**：使用账户中的 Cost Explorer 查看节省计划和预留实例建议。确保了解节省计划建议，估算每月支出以及每月节省额。查看管理账户级别的建议，这些建议根据 AWS 组织中启用了 RI 或节省计划折扣共享的所有成员账户的使用情况计算得出，以便各账户实现最大限度的节省。您可以按照 Well-Architected Lab 的说明操作，确认您实施了具有所需折扣和风险的正确建议。

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

 **相关文档：**
+  [AWS 如何定价？](https://aws.amazon.com/pricing/?nc2=h_ql_pr_ln) 
+  [实例购买选项](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) 
+  [Saving Plan Overview](file:///Users/mergenf/Documents/WELL%20ARCHITECTED/COST%20OPT%20PILLAR/phase3a/COST06/•%09https:/docs.aws.amazon.com/savingsplans/latest/userguide/sp-overview.html) 
+  [Saving Plan recommendations](https://docs.aws.amazon.com/savingsplans/latest/userguide/sp-recommendations.html) 
+  [Accessing Reserved Instance recommendations](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ri-recommendations.html) 
+  [Understanding your Saving Plans recommendation](https://docs.aws.amazon.com/savingsplans/latest/userguide/sp-recommendations.html) 
+  [How Savings Plans apply to your AWS usage](https://docs.aws.amazon.com/savingsplans/latest/userguide/sp-applying.html) 
+  [节省计划与整合账单](https://aws.amazon.com/premiumsupport/knowledge-center/savings-plans-consolidated-billing/) 
+  [开启共享的预留实例和节省计划折扣](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ri-turn-on-process.html) 

 **相关视频：**
+  [Save up to 90% and run production workloads on Spot](https://www.youtube.com/watch?v=BlNPZQh2wXs) 

 **相关示例：**
+  [在购买节省计划之前我应该考虑什么？](https://aws.amazon.com/premiumsupport/knowledge-center/savings-plans-considerations/) 
+  [How can I use rolling Savings Plans to reduce commitment risk?](https://aws.amazon.com/blogs/aws-cloud-financial-management/how-can-i-use-rolling-savings-plans-to-reduce-commitment-risk/)
+  [何时使用竞价型实例](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-leveraging-ec2-spot-instances/when-to-use-spot-instances.html) 

# COST 8. 如何规划数据传输费用？
<a name="cost-08"></a>

确保规划并监控数据传输费用，以便制定架构决策，尽可能降低成本。持续以小步迭代的方式进行架构优化可以实现运营成本的大幅降低。

**Topics**
+ [COST08-BP01 执行数据传输建模](cost_data_transfer_modeling.md)
+ [COST08-BP02 选择组件以便优化数据传输成本](cost_data_transfer_optimized_components.md)
+ [COST08-BP03 实施服务以便降低数据传输成本](cost_data_transfer_implement_services.md)

# COST08-BP01 执行数据传输建模
<a name="cost_data_transfer_modeling"></a>

 收集组织要求，并对工作负载及其每个组件执行数据传输建模。这样可以确定满足当前数据传输要求的最低成本点。

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

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

 在云端设计解决方案时，由于习惯于设计使用本地数据中心的架构或者缺乏相应的知识，数据传输费用常常会被忽视。AWS 中的数据传输费用由流量的来源、目的地和数量决定。在设计阶段将这些费用考虑在内可以节省成本。了解工作负载中的哪些环节需要进行数据传输、传输成本及其相关好处，对于准确估算总拥有成本（TCO）非常重要。因此，您可以作出明智的决定来修改或接受架构决策。例如，您可能有一个多可用区配置，可以在可用区之间复制数据。

 您可以对在工作负载中传输数据的服务组件进行建模，并确定这是可接受的成本（类似于在两个可用区中支付计算和存储费用），以实现所需的可靠性和韧性。对不同使用水平的成本进行建模。工作负载的使用情况可能随时间而变化，不同的服务可能在不同的水平上更具有成本效益。

 在对数据传输进行建模时，需考虑摄取了多少数据以及这些数据来自哪里。此外，还需考虑处理了多少数据以及需要多少存储或计算容量。在建模期间，应遵循工作负载架构的联网最佳实践，以优化潜在的数据传输成本。

 可利用 AWS 定价计算器 查看特定 AWS 服务和预期数据传输的估计成本。如果您已有工作负载在运行（用于测试目的或在预生产环境中），请使用 [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) 或 [AWS 成本和使用情况报告](https://aws.amazon.com/aws-cost-management/aws-cost-and-usage-reporting/)（CUR）来了解数据传输成本并对其建模。配置概念验证（PoC）或测试您的工作负载，并在实际的模拟负载下运行测试。可以根据不同的工作负载需求对成本进行建模。

### 实施步骤
<a name="implementation-steps"></a>
+  **确定要求：**计划在来源和目的地之间传输数据的主要目标和业务要求是什么？ 预期的最终业务成果是什么？ 收集业务要求并定义预期结果。
+  **确定来源和目的地：**数据传输的数据来源和目的地是什么，例如在 AWS 区域 内部、传输到 AWS 服务或传出到互联网？ 
  + [AWS 区域 内部的数据传输](https://docs.aws.amazon.com/cur/latest/userguide/cur-data-transfers-charges.html#data-transfer-within-region)
  + [AWS 区域 之间的数据传输](https://docs.aws.amazon.com/cur/latest/userguide/cur-data-transfers-charges.html#data-transfer-between-regions)
  + [将数据传输到互联网](https://docs.aws.amazon.com/cur/latest/userguide/cur-data-transfers-charges.html#data-transfer-out-internet)
+  **确定数据分类：**此数据传输的数据分类是什么？ 这是什么样的数据？ 数据量有多大？ 必须多久传输一次数据？ 数据是否敏感？ 
+  **确定要使用的 AWS 服务或工具：**此数据传输使用哪些 AWS 服务？ 是否可以将已经预置的服务用于其他工作负载？ 
+  **计算数据传输成本：**结合使用 [AWS 定价](https://aws.amazon.com/pricing/)和您之前创建的数据传输建模，计算工作负载的数据传输成本。计算不同使用水平的数据传输成本，包括工作负载使用情况的增加和减少这两种情况。如果工作负载架构有多个传输选项，则计算每个选项的成本以便进行比较。
+  **将成本与成果关联：**对于产生的每项数据传输成本，指定其实现的工作负载成果。如果在组件之间传输，可能是为了实现解耦；如果在可用区之间传输，则可能是为了实现冗余。
+  **创建数据传输建模：**收集所有信息后，为多个应用场景和不同的工作负载创建概念性基础数据传输建模。

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

 **相关文档：**
+  [AWS 缓存解决方案](https://aws.amazon.com/caching/aws-caching/) 
+  [AWS 定价](https://aws.amazon.com/pricing/) 
+  [Amazon EC2 定价](https://aws.amazon.com/ec2/pricing/on-demand/) 
+  [Amazon VPC 定价](https://aws.amazon.com/vpc/pricing/) 
+ [Understanding data transfer charges](https://docs.aws.amazon.com/cur/latest/userguide/cur-data-transfers-charges.html)

 **相关视频：**
+ [Monitoring and Optimizing Your Data Transfer Costs](https://www.youtube.com/watch?v=UjliYz25_qo)
+ [S3 Transfer Acceleration](https://youtu.be/J2CVnmUWSi4)

 **相关示例：**
+ [Overview of Data Transfer Costs for Common Architectures](https://aws.amazon.com/blogs/architecture/overview-of-data-transfer-costs-for-common-architectures/)
+ [AWS Prescriptive Guidance for Networking ](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortDate&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23network&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all)

# COST08-BP02 选择组件以便优化数据传输成本
<a name="cost_data_transfer_optimized_components"></a>

 选择所有组件然后设计架构，以便降低数据传输成本。其中包括使用广域网（WAN）优化和多可用区（AZ）配置等组件 

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

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

 针对数据传输进行构建，可最大限度地降低数据传输成本。这可能涉及使用内容分发网络来定位更靠近用户的数据，或者使用从您的本地设施到 AWS 的专用网络链接。您还可以使用 WAN 优化和应用程序优化来减少组件之间传输的数据量。

 向 AWS 云 传输数据或在其中传输数据时，必须根据不同的应用场景、数据的性质和可用的网络资源来了解目的地，以便选择正确的 AWS 服务来优化数据传输。AWS 提供一系列针对不同数据迁移要求量身定制的数据传输服务。根据组织内的业务需求，选择合适的[数据存储](https://aws.amazon.com/products/storage/)和[数据传输](https://aws.amazon.com/cloud-data-migration/)选项。

 在规划或审查您的工作负载架构时，请考虑以下几点：
+  **在 AWS 中使用 VPC 端点：**VPC 端点允许您在 VPC 与支持的 AWS 服务之间建立私有连接。这让您可以避免使用公共互联网，而使用公共互联网会产生数据传输成本。
+  **使用 NAT 网关：**使用 [NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)，以便私有子网中的实例可以连接到互联网或 VPC 以外的服务。检查发送流量最多的 NAT 网关后面的资源是否与 NAT 网关位于同一可用区。如果未在同一可用区，则在与资源相同的可用区中创建新的 NAT 网关，从而降低跨可用区传输数据的费用。
+  **使用 AWS Direct Connect**Direct Connect 绕过公共互联网，并在您的本地网络和 AWS 之间建立直接的私有连接。与通过互联网传输大量数据相比，这可能更具成本效益且更加一致。
+  **避免跨区域边界传输数据：**AWS 区域 之间（从一个区域到另一个区域）的数据传输通常会产生费用。采用多区域方法应是一项深思熟虑的决定。有关更多详细信息，请参阅[多区域场景](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/multi-region-scenarios.html)。
+  **监控数据传输：**使用 Amazon CloudWatch 和 [VPC 流日志](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)，捕获有关数据传输和网络使用情况的详细信息。分析 VPC 中捕获的网络流量信息，例如进出网络接口的 IP 地址或范围。
+  **分析网络使用情况：**使用 AWS Cost Explorer、CUDOS 控制面板或 CloudWatch 等计量和报告工具来了解工作负载的数据传输成本。

### 实施步骤
<a name="implementation-steps"></a>
+  **选择用于数据传输的组件：**使用 [COST08-BP01 执行数据传输建模](cost_data_transfer_modeling.md) 中介绍的数据传输建模，关注产生最多数据传输成本之处，或者工作负载使用情况发生变化时产生最多数据传输成本之处。寻找替代架构或其他组件，以消除或减少数据传输的需要（或降低其成本）。

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

 **相关最佳实践：**
+  [COST08-BP01 执行数据传输建模](cost_data_transfer_modeling.md) 
+  [COST08-BP03 实施服务以便降低数据传输成本](cost_data_transfer_implement_services.md) 

 **相关文档：**
+ [云数据迁移](https://aws.amazon.com/cloud-data-migration/)
+  [AWS 缓存解决方案](https://aws.amazon.com/caching/aws-caching/) 
+  [使用 Amazon CloudFront 更快地交付内容](https://aws.amazon.com/getting-started/tutorials/deliver-content-faster/) 

 **相关示例：**
+ [Overview of Data Transfer Costs for Common Architectures](https://aws.amazon.com/blogs/architecture/overview-of-data-transfer-costs-for-common-architectures/)
+ [AWS Network Optimization Tips](https://aws.amazon.com/blogs/networking-and-content-delivery/aws-network-optimization-tips/)
+ [Optimize performance and reduce costs for network analytics with VPC Flow Logs in Apache Parquet format](https://aws.amazon.com/blogs/big-data/optimize-performance-and-reduce-costs-for-network-analytics-with-vpc-flow-logs-in-apache-parquet-format/)

# COST08-BP03 实施服务以便降低数据传输成本
<a name="cost_data_transfer_implement_services"></a>

 实施服务以减少数据传输。例如，使用边缘站点或内容分发网络（CDN）向终端用户交付内容，在应用程序服务器或数据库前构建缓存层，并使用专用网络连接而不是 VPN 连接到云端。

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

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

 可以利用多种 AWS 服务来优化网络数据传输使用情况。根据工作负载组件、类型和云架构，这些服务有助于您在云端压缩、缓存、共享和分发流量。
+  [Amazon CloudFront](https://aws.amazon.com/cloudfront/) 是一个全球内容分发网络，可提供低延迟、高传输速度的数据。它在世界各地的边缘站点缓存数据，从而减少资源负担。通过使用 CloudFront，您可以减少向全球大量用户分发内容的管理工作，同时将延迟降到最低。如果您计划随着时间的推移增加使用量，[安全防御节省套餐](https://aws.amazon.com/about-aws/whats-new/2021/02/introducing-amazon-cloudfront-security-savings-bundle/?sc_channel=em&sc_campaign=Launch_mult_OT_awsroadmapemail_20200910&sc_medium=em_whats_new&sc_content=launch_ot_ot&sc_country=mult&sc_geo=mult&sc_category=mult&sc_outcome=launch)有助于您节省高达 30% 的 CloudFront 使用量。
+  [AWS Direct Connect](https://aws.amazon.com/directconnect/) 允许您建立到 AWS 的专用网络连接。与基于互联网的连接相比，这可以降低网络成本、增加带宽并提供更一致的网络体验。
+  [Site-to-Site VPN](https://aws.amazon.com/vpn/) 允许您在专用网络和 AWS 全球网络之间建立安全的专用连接。此网络是小型办公室或业务合作伙伴的理想之选，因其提供简化的连接，并且是完全托管的弹性服务。
+  [VPC 端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)允许通过专用网络在 AWS 服务之间建立连接，可用于减少公共数据传输和 [NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)成本。[网关 VPC 端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html)不按小时收费，支持 Amazon S3 和 Amazon DynamoDB。[接口 VPC 端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)由 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html) 提供，有小时费和每 GB 使用成本。
+  与独立的 NAT 实例相比，[NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)提供内置的扩展和管理功能，可降低成本。将 NAT 网关放置在与高流量实例所在的同一可用区中，并考虑对需要访问 Amazon DynamoDB 或 Amazon S3 的实例使用 VPC 端点，以降低数据传输和处理成本。
+  使用具有计算资源的 [AWS Snow Family](https://aws.amazon.com/snow/) 设备在边缘采集和处理数据。AWS Snow Family 设备（[Snowball Edge](https://aws.amazon.com/snowcone/)、[Snowball Edge](https://aws.amazon.com/snowball/) 和 [Snowmobile](https://aws.amazon.com/snowmobile/)）可让您经济高效地将 PB 级数据离线迁移到 AWS 云。

### 实施步骤
<a name="implementation-steps"></a>
+  **实施服务：**使用数据传输建模并查看 VPC 流日志，根据服务工作负载类型选择适用的 AWS 网络服务。了解产生最多成本和最多数据流之处。了解 AWS 服务并评测是否存在一种服务，可以减少或消除传输，特别是网络和内容分发。如有需要重复访问数据或存在大量数据的情况，则应了解缓存服务。

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

 **相关文档：**
+  [AWS Direct Connect](https://aws.amazon.com/directconnect/) 
+  [AWS 探索我们的产品](https://aws.amazon.com/) 
+  [AWS 缓存解决方案](https://aws.amazon.com/caching/aws-caching/) 
+  [Amazon CloudFront](https://aws.amazon.com/cloudfront/) \$1 
+  [AWS Snow Family](https://aws.amazon.com/snow/) 
+  [Amazon CloudFront 安全防御节省套餐](https://aws.amazon.com/about-aws/whats-new/2021/02/introducing-amazon-cloudfront-security-savings-bundle/) 

 **相关视频：**
+  [Monitoring and Optimizing Your Data Transfer Costs](https://www.youtube.com/watch?v=UjliYz25_qo) 
+  [AWS Cost Optimization Series: CloudFront](https://www.youtube.com/watch?v=k8De2AfAN3k) 
+  [How can I reduce data transfer charges for my NAT gateway?](https://www.youtube.com/watch?v=hq4KtPRezus)

 **相关示例：**
+  [How-to chargeback shared services: An AWS Transit Gateway example](https://aws.amazon.com/blogs/aws-cloud-financial-management/gs-chargeback-shared-services-an-aws-transit-gateway-example/) 
+  [Understand AWS data transfer details in depth from cost and usage report using Athena query and QuickSight](https://aws.amazon.com/blogs/networking-and-content-delivery/understand-aws-data-transfer-details-in-depth-from-cost-and-usage-report-using-athena-query-and-quicksight/) 
+  [Overview of Data Transfer Costs for Common Architectures](https://aws.amazon.com/blogs/architecture/overview-of-data-transfer-costs-for-common-architectures/) 
+  [Using AWS Cost Explorer to analyze data transfer costs](https://aws.amazon.com/blogs/mt/using-aws-cost-explorer-to-analyze-data-transfer-costs/) 
+  [Cost-Optimizing your AWS architectures by utilizing Amazon CloudFront features](https://aws.amazon.com/blogs/networking-and-content-delivery/cost-optimizing-your-aws-architectures-by-utilizing-amazon-cloudfront-features/) 
+  [How can I reduce data transfer charges for my NAT gateway?](https://aws.amazon.com/premiumsupport/knowledge-center/vpc-reduce-nat-gateway-transfer-costs/)