Scale a MongoDB Cluster Horizontally
DBaaS allows you to scale up and down the number of database replicas. Increased replica count may result in a cluster with improved availability, performance (capacity to handle more data reads), and fault tolerance for upgrades. A new IP address must be provided for each new instance.
To do so, send a PATCH
request with the new instances
count (supported values are: 1, 3):
Endpoint
Use the following endpoint to request the new instance count: https://api.ionos.com/databases/mongodb/clusters/{clusterId}
Request
curl --include \
--request PATCH \
--user "[email protected]:Mb2.r5oHf-0t" \
--header "Content-Type: application/json" \
--data-binary '{
"properties": {
"instances": 3,
"connections": [
{
"datacenterId": "b72ebcf5-6158-4ddb-8f65-31b20d82b6c7",
"lanId": "2",
"cidrList": [
"10.7.222.3/24",
"10.7.222.4/24",
"10.7.222.5/24"
]
}
]
}
}'
https://api.ionos.com/cloudapi/databases/mongodb/clusters/d02de413-d5af-4104-a6f9-3a3c2766ee61
Response
{
"type": "cluster",
"id": "d02de413-d5af-4104-a6f9-3a3c2766ee61",
"metadata": {
"state": "BUSY",
"health": "HEALTHY",
"createdDate": "2020-12-10T12:37:50.000Z",
"createdBy": "[email protected]",
"createdByUserId": "012342f-411f-1eeb-9d07-046c59cc737e"
},
"properties": {
"type": "replicaset",
"edition": "enterprise",
"cores": 2,
"ram": 2048,
"storageSize": 10240,
"storageType": "HDD",
"displayName": "Represents database name",
"location": "de/fra",
"connections": [
{
"datacenterId": "b72ebcf5-6158-4ddb-8f65-31b20d82b6c7",
"lanId": "2",
"cidrList": [
"10.1.1.3/24",
"10.1.1.4/24",
"10.1.1.5/24"
]
}
],
"instances": 3,
"maintenanceWindow": {
"time": "16:30:59",
"dayOfTheWeek": "Monday"
},
"connectionString": "mongodb+srv://m-65f4a879f126e3c4.mongodb.de-fra.ionos.com"
}
}
The patch example takes a previous cluster with one replica and adds two more replicas to it.
The two new IP addresses are added to the connection properties cidrList
, and the instances property receives the total number of replicas.
New servers are provisioned and added one at a time to the pool of replicas, implying an incremental rollout.
Downgrading a cluster follows the same pattern, with replica sets being removed one at a time and the desired replica set is reached.
For more information, see Replica Set Elections.
Last updated
Was this helpful?