我需要通过创建流量策略,使用 Amazon Route 53 流量将 DNS 流量路由到多个资源。如何使用 AWS 命令行界面 (AWS CLI) 在 Route 53 中创建流量策略记录?
注意:您也可以通过 Route 53 控制台创建流量策略。
使用 AWS CLI 创建流量策略
创建用于定义流量策略配置的 JSON 文件。参阅流量策略文档格式了解基本语法、终端节点和规则。
在命令 create-traffic-policy 中使用您自己的参数在 AWS CLI 中创建流量策略:
$ aws route53 create-traffic-policy --name <Value> --document file://<Full Path for JSON file>
以下参数为必需参数:
- --name
- --document
以下参数为可选参数:
- --comment
- --cli-input-json
- --generate-cli-skeleton
在输出中,记下流量策略 ID 和版本号。
示例输出格式:
{ "TrafficPolicy": { "Document": <JSON_Document>, "Version": <Version_Number>, "Type": "<Policy_Type>", "Id": "<Traffic_Policy_ID>", "Name": "<Policy_Name>" } }
使用 create-traffic-policy-instance API 调用创建流量策略记录:
$ aws route53 create-traffic-policy-instance --hosted-zone-id <value> --name <value> --ttl <value> --traffic-policy-id <value> --traffic-policy-version <value>
示例流量策略
下面的示例流量策略创建指向两个终端节点的加权记录。
请注意,该策略指定:
- 当前策略格式版本 (AWSPolicyFormatVersion)
- 记录类型 (RecordType)。根据终端节点类型配置此值。在此示例中,记录类型为 A。
- 指向 IP 地址 (Type) 的两个终端节点 (EndPointReference)
- 加权规则 (RuleType) 每个终端节点的另一个权重 (Weight)
- 流量策略的起点。在此示例中,StartRule 指定策略从规则而不是终端节点 (StartEndpoint) 开始。
- 运行状况检查设置 (EvaluateTargetHealth),您可以通过 HealthCheck 进一步配置。在此示例中,未执行运行状况检查。
{ "AWSPolicyFormatVersion": "2015-10-01", "RecordType": "A", "Endpoints": { "endpoint-1": { "Type": "value", "Value": "192.0.1.1" }, "endpoint-2": { "Type": "value", "Value": "192.0.1.2" } }, "Rules": { "weighted-rule-name": { "RuleType": "weighted", "Items": [ {"Weight": "30", "EvaluateTargetHealth": true, "EndpointReference": "endpoint-1" }, {"Weight": "20", "EvaluateTargetHealth": false, "EndpointReference": "endpoint-2" } ] } }, "StartRule": "weighted-rule-name" }