

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 优化机器人控制策略的成本
<a name="optimizing-costs"></a>

网络流量的性质是动态的。这意味着用于缓解威胁的技术和服务可能会有所不同，并且会随着时间的推移而进行调整。在考虑机器人控制策略和其中包含的控件时，这是关键。随着时间的推移进行优化是要记住的主要原则，它来自Well-Architecte AWS d Framework [的成本优化支柱](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html)。

AWS WAF Web ACLs 可以是动态的，尤其是在发布新功能或您正在尝试缓解新威胁时。密切关注您的成本需要了解 AWS WAF 服务[的成本规模，以及每个维](https://aws.amazon.com/waf/pricing/)度如何影响您的最终支出。主要的驱动成本是服务评估的请求数量。如果您使用[机器人控制](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)和[账户盗用防护 (ATP)](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-atp.html) 托管规则组，或者使用高级操作，例如[验证码](https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha-and-challenge.html)或质询，则需要支付额外费用。

由于专门的机器人控制需要付出高昂的代价，因此主要的成本优化目标是减少这些高级控件检查的请求数量。适用的技术包括分离高价值内容、首先应用成本较低的衡量标准、缩小评估范围以及将机器人保护与其他类型的控制措施相结合。成本监控技术可提高整个组织的可见性。

## 将动态和静态内容分开
<a name="separating-content"></a>

一种降低成本的方法是将静态内容与动态应用程序隔离开来。对典型 Web 应用程序的大多数请求都是对静态对象的请求。减少应用程序服务器负载的一种常用方法是将静态内容移动到其自己的 URL，例如`static.example.com`。 这通常是通过创建独特的内容分发来实现的，其缓存配置针对静态内容进行了优化。 如果网站或应用程序中通常不以静态内容为目标，则此技术还可以帮助降低机器人控制成本。 将静态内容与动态应用程序分开可以更精确地应用高级机器人控件。

## 首先应用成本较低的规则
<a name="lower-cost-rules"></a>

另一种技术是应用成本较低的基准规则，在使用更昂贵的高级控件之前过滤掉不需要的流量。 实际上，这通常意味着将机器人控制缓解措施作为最后一层防御，并使用之前的控制措施来过滤掉不需要的流量。 本指南之前曾讨论过这种金字塔方法。[机器人控制技术](techniques.md)主要目标是使用这些成本较低的选项来阻止不需要的流量，从而减少由高级、成本更高的缓解技术处理的请求数量。

## 缩小评估领域的范围
<a name="scoping-down"></a>

AWS WAF[scope-down 语句](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-scope-down-statements.html)为减少高级规则检查的请求数量提供了一种强大的技术。 如果无法实现将静态内容分成自己的 URL，那么 scope-down 语句是过滤掉不需要高级缓解技术的请求的另一种方法。这可以通过定义特定的应用程序路径、HTTP 方法（例如 POST）或类似的组合来完成。

## 将机器人保护与其他控件相结合
<a name="combining-controls"></a>

在保护应用程序免受不必要的爬虫程序流量之外的多种威胁时，还应考虑其他成本控制注意事项。 例如，防范分布式拒绝服务 (DDoS) 攻击和账户盗用需要额外的配置，这可能会影响成本。建议使用 [Shield Advanc](https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html) ed 来帮助保护应用程序免 DDo受 S 攻击。 特别是，它的应用层缓解措施可以自动解决请求洪水问题，从而减少在评估顺序中将规则放在前面时， AWS WAF 机器人控制规则组可能处理的请求数量。Shield Advanced 还有其他好处；对于受 Shield Advanced 保护的资源，标准托管 AWS WAF 规则和自定义规则不收取额外费用。 请注意，包括机器人控制在内的智能威胁缓解规则组确实会产生额外费用，即使对于受 Shield Advanced 保护的资源也是如此。

需要防止账户接管的应用程序可以使用防 AWS WAF [欺诈控制账户接管 (ATP) 规则组](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-acfp.html)。 ATP 规则组的每次请求检查成本高于机器人控制规则组的检查成本。 更高的成本使得尽可能精确地应用ATP规则组变得至关重要。 将 Bot Control 规则组与 ATP 结合使用可以帮助实现这一目标。在 Web ACL 中，机器人控制规则组应位于 ATP 之前，以过滤掉机器人请求并减少 ATP 检查的请求数量。

为了持续优化，最重要的活动是监控与 Bot Control 规则组相关的[CloudWatch指标](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html)。 随着时间的推移，目标是将机器人控制规则组评估的请求数量减少到仅针对您需要的资源以防范不必要的机器人活动的请求。 通过构建 CloudWatch 仪表板，可以查看应用程序的最关键指标，包括 AWS WAF 成本和使用情况。 

## 监控成本
<a name="monitoring-costs"></a>

[AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html) 是一个可让您查看和分析成本与使用情况的工具。Cost Explorer 便于分析 AWS AWS WAF 成本，包括产生的成本。该工具提供最近 12 个月的成本信息，并预测未来 12 个月的支出。

[AWS 成本异常检测](https://docs.aws.amazon.com/cost-management/latest/userguide/manage-ad.html)是另一种可用于监控 AWS WAF 成本的成本管理控制工具。它使用先进的机器学习技术来识别异常支出和根本原因。这可以帮助您在成本意外增加时迅速采取行动或接收警报。要在达到特定成本阈值时收到提醒，[AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html)可以提供跟踪和监控功能。