Manage origin server pools
A pool is a group of origin servers, with each origin identified by its IP address or hostname.For more background information on pools, refer to Origin pools .
Create a pool
Via the dashboard
You can create a pool within the load balancer workflow or in the Origin Pools section of the dashboard:
-
Go to Traffic > Load Balancing.
-
Click Manage Pools.
-
Click Create.
-
For your pool, enter the following information:
- A name (must be unique)
- A description to provide more detail on the name
- A choice for Origin Steering , which affects how your pool routes traffic to each origin
-
For each origin, enter the following information:
-
Repeat this process for additional origins in the pool.
-
(Optional) Set up coordinates for Proximity Steering on the pool.
-
On the origin pool, update the following information:
- Health Threshold: Number of healthy origins for the pool as a whole to be considered Healthy and receive traffic based on pool order in a load balancer
- Monitor: Attach a monitor
- Health Check Regions: Choose whether to check pool health from multiple locations , which increases accuracy but can lead to probe traffic to your origin
- Notifications: If you do or do not want to receive notifications when the pool’s status changes
-
When finished, click Save.
Via the API
For a full list of properties, refer to Create Pool. If you need help with API authentication, refer to Cloudflare API Quickstart .
---
header: Request
---
curl -X POST \
-H "X-Auth-Email: user@cloudflare.com" \
-H "X-Auth-Key: REDACTED" \
"https://api.cloudflare.com/client/v4/accounts/:account_id/load-balancers/pools" \
-H "Content-Type: application/json" \
-d '{
"description":"Primary data center - Provider XYZ",
"name":"primary-dc-1",
"enabled":false,
"load_shedding": {
"default_percent":0,
"default_policy":"random",
"session_percent":0,
"session_policy":"hash"
},
"minimum_origins":2,
"monitor":"f1aba936b94213e5b8dca0c0dbf1f9cc",
"check_regions": [
"WEU",
"ENAM"
],
"origins": [
{
"name":"app-server-1",
"address":"0.0.0.0",
"enabled":true,
"weight":0.56,
"header": {
"Host": [
"example.com"
]
}
}
],
"origin_steering": {
"policy": "random"
},
"notification_email":"someone@example.com,sometwo@example.com",
"notification_filter": {
"origin": {
"disable":false,
"healthy":null
},
"pool": {
"disable":false,
"healthy":null
}
}
}'
The response contains the complete definition of the new pool.
---
header: Response
---
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "17b5962d775c646f3f9725cbc7a53df4",
"created_on": "2021-01-01T05:20:00.12345Z",
"modified_on": "2021-01-01T05:20:00.12345Z",
"description": "Primary data center - Provider XYZ",
"name": "primary-dc-1",
"enabled": false,
"load_shedding": {
"default_percent": 0,
"default_policy": "random",
"session_percent": 0,
"session_policy": "hash"
},
"minimum_origins": 2,
"monitor": "f1aba936b94213e5b8dca0c0dbf1f9cc",
"check_regions": [
"WEU",
"ENAM"
],
"origins": [
{
"name": "app-server-1",
"address": "0.0.0.0",
"enabled": true,
"weight": 0.56,
"header": {
"Host": [
"example.com"
]
}
}
],
"origin_steering": {
"policy": "random"
},
"notification_email": "someone@example.com,sometwo@example.com",
"notification_filter": {
"origin": {
"disable": false,
"healthy": null
},
"pool": {
"disable": false,
"healthy": null
}
}
}
}
Edit a pool
Via the dashboard
To edit a pool in the dashboard:
- Go to Traffic > Load Balancing.
- Click Manage Pools.
- On a specific pool, click Edit.
- Update settings as needed.
- Click Save.
Via the API
To update specific settings without having to resubmit the entire configuration, use a PATCH request. For broader changes, use a PUT request.
Delete a pool
Via the dashboard
To delete a pool in the dashboard:
- Go to Traffic > Load Balancing.
- Click Manage Pools.
- On a specific pool, click Delete.
Via the API
To delete a pool using the API, send a DELETE request.