

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

# 为路由控制创建安全规则
<a name="routing-control.safety-rules"></a>

当您同时使用多个路由控制时，您可能会决定采取保障措施以避免意想不到的后果。例如，您可能希望防止无意中关闭应用程序的所有路由控制，因为这样会导致出现打开失败情况。也许为了防止自动化机制重新路由流量，您也可能想实现一个主开关机构来禁用一组路由控制。要在 ARC 中建立这样的路径控制保障措施，您需要创建*安全规则*。

请组合使用路由控制、规则和您指定的其他选项来为路由控制配置安全规则。每个安全规则都与一个控制面板相关联，但一个控制面板可以有多个安全规则。创建安全规则时，请记住在每个控制面板中安全规则名称必须是唯一的。

**Topics**
+ [安全规则的类型](#routing-control.about-safety-rule)
+ [在控制台上创建安全规则](routing-control.create-safety-rule.md)
+ [在控制台上编辑或删除安全规则](routing-control.edit-delete-safety-rule.md)
+ [覆盖安全规则以重新路由流量](routing-control.override-safety-rule.md)

## 安全规则的类型
<a name="routing-control.about-safety-rule"></a>

安全规则有两种类型，即*断言规则*和*门控规则*，您可以使用它们以不同的方式保护失效转移。

**断言规则**  
使用断言规则时，如果您更改一个或一组路由控制状态，ARC 会强制满足您在配置规则时设置的标准，否则路由控制状态不会更改。  
预防打开失败就是适合使用这种规则的一个例子。在打开失败的情况中，您会阻止流量流向一个单元格，但没有让流量开始流向另一个单元格。为了避免这种情况，断言规则确保在任何给定时间控制面板的一组路由控制中至少有一个路由控制是 `On` 状态。这样可以确保流量流向应用程序的至少一个区域或可用区。  
要查看创建断言规则以强制执行此标准的 AWS CLI 命令示例，请参阅中的*[使用 ARC 路由控制 API 操作的示例 AWS CLI](getting-started-cli-routing.md)创建安全规则*。  
有关断言规则 API 操作属性的详细信息，请参阅 [AssertionRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-assertionrule)Amazon 应用程序恢复控制器的路由控制 API 参考指南。

**门控规则**  
使用门控规则时，您可以对一组路由控制实施整体的开关，以根据您在规则中指定的一组标准来判断这些路由控制状态是否可以更改。最简单的标准是，指定为开关的单个路由控制设置为 `ON` 还是 `OFF`。  
要实现这一点，您需要创建*门控路由控制*作为整体开关，并创建*目标路由控制*，以控制流量流向不同的区域或可用区。然后，要防止手动或自动更新您为门控规则配置的目标路由控制的状态，您需要将门控路由控制状态设置为 `Off`。要允许更新，请将其设置为 `On`。  
要查看用于创建实现此类整体开关的门控规则的示例 AWS CLI 命令，请参阅中的*创建安全规则*[使用 ARC 路由控制 API 操作的示例 AWS CLI](getting-started-cli-routing.md)。  
有关门控规则 API 操作属性的详细信息，请参阅 [GatingRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-gatingrule)Amazon 应用程序恢复控制器的路由控制 API 参考指南。