您可能不应直接在生产域名上开始,而应在测试或预发布域名上创建负载均衡器。根据基础设施设置,这可能需要对 monitor 和 pool 进行临时更改。
从测试域名开始可以让您在路由生产流量之前验证一切运行正常。
要在仪表板中创建 Public 或 Private 负载均衡器:
-
前往 Load Balancing(负载均衡) 并选择 Create load balancer(创建负载均衡器)。
-
在 Load Balancer Setup(负载均衡器设置) 上,选择 Public load balancer(公共负载均衡器)
-
选择要添加此负载均衡器的网站。
-
在 Hostname(主机名) 页面上:
- 输入 Hostname(主机名),即负载均衡器可用的 DNS 名称。有关记录优先级的更多详情,请参阅负载均衡的 DNS 记录。
- 从 Data Localization(数据本地化) 下拉菜单中选择要在域名上使用的区域。
- 切换橙色云图标以更新代理模式,这会影响流量路由方式和公布的 IP 地址。
- 为负载均衡器添加描述。
- 如果需要基于会话的负载均衡,切换 Session Affinity(会话亲和性) 开关。
- 如果需要 Adaptive Routing,切换 Adaptive Routing(自适应路由) 开关。
-
选择 Next(下一步)。
-
在 Add a Pool 页面上:
- 选择一个或多个现有 pool 或创建新 pool。
- 如果要将流量导向设置为 Off,请重新排序负载均衡器中的 pool 以调整故障转移顺序。
- 如有需要,更新 Fallback Pool(备用池)。
- 如果选择将流量导向设置为 Random,可以通过 API 为 pool 设置 Weights 以确定发送到每个 pool 的流量百分比。
-
选择 Next(下一步)。
-
在 Monitors(监视器) 页面上:
- 查看附加到 pool 的 monitor。
- 如有需要,可以附加现有 monitor 或创建新 monitor。
-
选择 Next(下一步)。
-
在 Traffic Steering(流量引导) 页面上,选择流量导向选项并选择 Next(下一步)。
-
在 Custom Rules 页面上,选择现有规则或创建新规则。
-
选择 Next(下一步)。
-
在 Review 页面上:
- 查看配置并进行任何更改。
- 选择 Save as Draft(保存为草稿) 或 Save and Deploy。
-
前往 Load Balancing(负载均衡) 并选择 Create load balancer(创建负载均衡器)。
-
在 Load Balancer Setup(负载均衡器设置) 上,选择 Private load balancer(私有负载均衡器)
-
将负载均衡器与 Cloudflare 私有 IP 或指定 IP 地址关联,并为负载均衡器创建描述。
-
在 Add a Pool 页面上:
- 选择一个或多个现有 pool 或创建新 pool。
- 如果要将流量导向设置为 Off,请重新排序负载均衡器中的 pool 以调整故障转移顺序。
- 如有需要,更新 Fallback Pool(备用池)。
- 如果选择将流量导向设置为 Random,可以通过 API 为 pool 设置 Weights 以确定发送到每个 pool 的流量百分比。
-
选择 Next(下一步)。
-
在 Monitors(监视器) 页面上:
- 查看附加到 pool 的 monitor。
- 如有需要,可以附加现有 monitor 或创建新 monitor。
-
选择 Next(下一步)。
-
在 Traffic Steering(流量引导) 页面上,选择流量导向选项并选择 Next(下一步)。
-
选择 Next(下一步)。
-
在 Review 页面上:
- 查看配置并进行任何更改。
- 选择 Save as Draft(保存为草稿) 或 Save and Deploy。
有关完整属性列表,请参阅 Create Load Balancer。如需 API 身份验证帮助,请参阅 Cloudflare API 文档。
Required API token permissions
At least one of the following token permissions is required:Load Balancers Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/load_balancers" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"description": "Load Balancer for lb.example.com",
"name": "lb.example.com",
"enabled": true,
"ttl": 30,
"fallback_pool": "17b5962d775c646f3f9725cbc7a53df4",
"default_pools": [
"17b5962d775c646f3f9725cbc7a53df4",
"9290f38c5d07c2e2f4df57b1f61d4196",
"00920f38ce07c2e2f4df50b1f61d4194"
],
"proxied": true,
"steering_policy": "random_steering",
"session_affinity": "cookie",
"session_affinity_attributes": {
"samesite": "Auto",
"secure": "Auto",
"drain_duration": 100,
"zero_downtime_failover": "sticky"
},
"session_affinity_ttl": 5000,
"adaptive_routing": {
"failover_across_pools": true
},
"location_strategy": {
"prefer_ecs": "always",
"mode": "resolver_ip"
},
"random_steering": {
"pool_weights": {
"de90f38ced07c2e2f4df50b1f61d4194": 0.3,
"9290f38c5d07c2e2f4df57b1f61d4196": 0.5
},
"default_weight": 0.2
}
}'响应包含新负载均衡器的完整定义。
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "699d98642c564d2e855e9661899b7252",
"created_on": "2021-01-01T05:20:00.12345Z",
"modified_on": "2021-01-01T05:20:00.12345Z",
"description": "Load Balancer for lb.example.com",
"name": "lb.example.com",
"enabled": true,
"ttl": 30,
"fallback_pool": "17b5962d775c646f3f9725cbc7a53df4",
"default_pools": [
"17b5962d775c646f3f9725cbc7a53df4",
"9290f38c5d07c2e2f4df57b1f61d4196",
"00920f38ce07c2e2f4df50b1f61d4194"
],
"proxied": true,
"steering_policy": "random_steering",
"session_affinity": "cookie",
"session_affinity_attributes": {
"samesite": "Auto",
"secure": "Auto",
"drain_duration": 100,
"zero_downtime_failover": "sticky"
},
"session_affinity_ttl": 5000,
"random_steering": {
"pool_weights": {
"de90f38ced07c2e2f4df50b1f61d4194": 0.3,
"9290f38c5d07c2e2f4df57b1f61d4196": 0.5
},
"default_weight": 0.2
}
}
}