跳转到内容
搜索文档

在测试域上创建负载均衡器

最后更新 查看 MarkdownAgent 设置

您可能不应直接在生产域名上开始,而应在测试或预发布域名上创建负载均衡器。根据基础设施设置,这可能需要对 monitor 和 pool 进行临时更改。

从测试域名开始可以让您在路由生产流量之前验证一切运行正常。

创建负载均衡器

要在仪表板中创建 Public 或 Private 负载均衡器:

创建 Public 负载均衡器

  1. 前往 Load Balancing(负载均衡) 并选择 Create load balancer(创建负载均衡器)。

  2. 在 Load Balancer Setup(负载均衡器设置) 上,选择 Public load balancer(公共负载均衡器)

  3. 选择要添加此负载均衡器的网站。

  4. 在 Hostname(主机名) 页面上:

    • 输入 Hostname(主机名),即负载均衡器可用的 DNS 名称。有关记录优先级的更多详情,请参阅负载均衡的 DNS 记录。
    • 从 Data Localization(数据本地化) 下拉菜单中选择要在域名上使用的区域。
    • 切换橙色云图标以更新代理模式,这会影响流量路由方式和公布的 IP 地址。
    • 为负载均衡器添加描述。
    • 如果需要基于会话的负载均衡,切换 Session Affinity(会话亲和性) 开关。
    • 如果需要 Adaptive Routing,切换 Adaptive Routing(自适应路由) 开关。
  5. 选择 Next(下一步)。

  6. 在 Add a Pool 页面上:

    • 选择一个或多个现有 pool 或创建新 pool。
    • 如果要将流量导向设置为 Off,请重新排序负载均衡器中的 pool 以调整故障转移顺序。
    • 如有需要,更新 Fallback Pool(备用池)。
    • 如果选择将流量导向设置为 Random,可以通过 API 为 pool 设置 Weights 以确定发送到每个 pool 的流量百分比。
  7. 选择 Next(下一步)。

  8. 在 Monitors(监视器) 页面上:

    • 查看附加到 pool 的 monitor。
    • 如有需要,可以附加现有 monitor 或创建新 monitor。
  9. 选择 Next(下一步)。

  10. 在 Traffic Steering(流量引导) 页面上,选择流量导向选项并选择 Next(下一步)。

  11. 在 Custom Rules 页面上,选择现有规则或创建新规则。

  12. 选择 Next(下一步)。

  13. 在 Review 页面上:

    • 查看配置并进行任何更改。
    • 选择 Save as Draft(保存为草稿) 或 Save and Deploy。

创建 Private 负载均衡器

  1. 前往 Load Balancing(负载均衡) 并选择 Create load balancer(创建负载均衡器)。

  2. 在 Load Balancer Setup(负载均衡器设置) 上,选择 Private load balancer(私有负载均衡器)

  3. 将负载均衡器与 Cloudflare 私有 IP 或指定 IP 地址关联,并为负载均衡器创建描述。

  4. 在 Add a Pool 页面上:

    • 选择一个或多个现有 pool 或创建新 pool。
    • 如果要将流量导向设置为 Off,请重新排序负载均衡器中的 pool 以调整故障转移顺序。
    • 如有需要,更新 Fallback Pool(备用池)。
    • 如果选择将流量导向设置为 Random,可以通过 API 为 pool 设置 Weights 以确定发送到每个 pool 的流量百分比。
  5. 选择 Next(下一步)。

  6. 在 Monitors(监视器) 页面上:

    • 查看附加到 pool 的 monitor。
    • 如有需要,可以附加现有 monitor 或创建新 monitor。
  7. 选择 Next(下一步)。

  8. 在 Traffic Steering(流量引导) 页面上,选择流量导向选项并选择 Next(下一步)。

  9. 选择 Next(下一步)。

  10. 在 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
Create Load Balancerbash
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
		}
	}'

响应包含新负载均衡器的完整定义。

Responsejson
{
  "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
    }
  }
}

这篇文档对您有帮助吗?