Creating a Capacity Reservation
When you create a Capacity Reservation, you specify a DB instance class, database engine, and one or more Availability Zones in a single AWS Region, along with the amount of capacity to reserve in each Availability Zone. You can create the reservation for immediate use, or schedule it to begin on a future date ahead of a planned event. After the reservation becomes active, you reference it by name or by identifier to place DB instances into the reserved capacity.
Creating a reservation without a start date makes it immediately active. Capacity is reserved and billing begins immediately.
To create a Capacity Reservation
Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/
. -
In the navigation pane, choose Capacity reservations.
-
Choose Create capacity reservation.
-
Under Engine options, choose the engine type for your Capacity Reservation.
-
Under Instance configuration, choose the DB instance configuration.
-
Under Capacity reservation details, do the following:
-
For DB capacity reservation name, enter a name for the reservation. The name must start with a lowercase letter and can contain lowercase letters, digits, and hyphens, up to 63 characters. It can't end with a hyphen or contain two consecutive hyphens.
-
Under Availability Zones, select one or more Availability Zones in the current Region. Select at least two if you plan to place Multi-AZ DB instances.
-
For Reserved capacity per AZ, enter the number of DB instances to reserve in each Availability Zone.
-
Under Capacity reservation starts, choose Immediately.
-
(Optional) Under Capacity reservation ends, choose No end time to keep the reservation until you cancel it, or At a specific time to set an end date.
-
-
(Optional) Add tags.
-
Choose Create capacity reservation.
The reservation appears in the list. When its state becomes active,
capacity is reserved and you can launch DB instances into it by referencing the reservation
by name or by identifier. Creating a reservation does not change the placement of
DB instances that don't target it.
Billing for an immediately active reservation starts when you create it. To stop the charges, cancel the reservation when you no longer need it. For more information, see Canceling a Capacity Reservation.
Create an immediately active reservation with the create-db-capacity-reservation command.
aws rds create-db-capacity-reservation \ --db-capacity-reservation-namemy-reservation\ --enginepostgres\ --db-instance-classdb.r7g.large\ --availability-zonesus-east-1a\ --capacity-per-availability-zone3
To reserve capacity for Multi-AZ DB instances, list two or more Availability Zones. The same capacity is reserved in each one.
aws rds create-db-capacity-reservation \ --db-capacity-reservation-namemy-multi-az-reservation\ --enginepostgres\ --db-instance-classdb.r7g.large\ --availability-zonesus-east-1aus-east-1b\ --capacity-per-availability-zone2
Example response:
{
"DBCapacityReservation": {
"DBCapacityReservationName": "my-multi-az-reservation",
"DBInstanceClass": "db.r7g.large",
"Engine": "postgres",
"ReservedCapacityPerAvailabilityZone": 2,
"AvailableCapacityPerAvailabilityZoneList": [
{
"AvailabilityZone": "us-east-1a",
"AvailableCapacity": 2
},
{
"AvailabilityZone": "us-east-1b",
"AvailableCapacity": 2
}
],
"CreateDate": "2026-09-21T21:44:50.147000+00:00",
"State": "active",
"DBCapacityReservationArn": "arn:aws:rds:us-east-1:123456789012:db-capacity-reservation:dbcr-abc123example",
"DBCapacityReservationIdentifier": "dbcr-abc123example",
"TagList": []
}
}For engines that offer more than one license option, include
--license-model so that the reservation matches the DB instances you intend
to launch into it. A DB instance whose license model differs from the reservation's can't use
the reserved capacity.
aws rds create-db-capacity-reservation \ --db-capacity-reservation-nameoracle-reservation\ --engineoracle-se2\ --db-instance-classdb.r7i.large\ --availability-zonesus-east-1a\ --capacity-per-availability-zone2\ --license-modelbring-your-own-license
To create a Capacity Reservation by using the Amazon RDS API, call the CreateDBCapacityReservation operation with the following parameters:
-
DBCapacityReservationName– A name for the reservation. The name must start with a lowercase letter and can contain lowercase letters, digits, and hyphens, up to 63 characters. It can't end with a hyphen, contain two consecutive hyphens, or start withdbcr-. -
Engine– The database engine to reserve capacity for, for examplepostgres. -
DBInstanceClass– The DB instance class to reserve capacity for, for exampledb.r7g.large. -
AvailabilityZones– One or more Availability Zones in the current AWS Region. -
CapacityPerAvailabilityZone– The number of DB instances to reserve in each Availability Zone.
You can also specify the following optional parameters:
-
LicenseModel– The license model, for engines that offer more than one. The license model of a DB instance must match the license model of the reservation. -
EndDate– The date and time when the reservation expires, in UTC. If you don't specify it, the reservation doesn't expire. -
Tags– Tags to assign to the Capacity Reservation.
Creating a future-dated Capacity Reservation
To schedule a reservation to begin on a future date, provide a start date and a
commitment duration. Amazon RDS assesses the request, and if it can deliver the capacity,
moves the reservation to the scheduled state. No charges apply until the
start date, when Amazon RDS activates the reservation.
While assessing a request, Amazon RDS might determine that it can support a shorter
commitment duration. In that case, Amazon RDS schedules the reservation with the shorter
commitment duration, and you are committed to keeping the reservation for a shorter
period than you requested. To see the commitment that applies, check
CommitmentInfo.CommitmentEndDate in the output of
describe-db-capacity-reservations.
Follow the steps in Creating a Capacity Reservation. Under Capacity reservation starts, do the following:
To create a future-dated Capacity Reservation
-
Choose At a specific time.
-
Set the Start date and Start time (must be at least 5 days in the future).
-
Set the Commitment duration (minimum 14 days). This is the period you commit to keep the reservation after it becomes active.
Complete the remaining steps and choose Create capacity
reservation. The reservation is created in the
assessing state and moves to scheduled after Amazon RDS accepts the request.
Add --start-date and --commitment-duration to the
create-db-capacity-reservation command.
--commitment-duration is specified in seconds (for example, 1209600 for 14 days).
aws rds create-db-capacity-reservation \ --db-capacity-reservation-namepeak-reservation\ --enginepostgres\ --db-instance-classdb.r7g.large\ --availability-zonesus-east-1a\ --capacity-per-availability-zone16\ --start-date2026-11-01T00:00:00Z\ --commitment-duration1209600
Example response:
{
"DBCapacityReservation": {
"DBCapacityReservationName": "peak-reservation",
"DBInstanceClass": "db.r7g.large",
"Engine": "postgres",
"ReservedCapacityPerAvailabilityZone": 16,
"StartDate": "2026-11-01T00:00:00Z",
"CommitmentInfo": {
"CommittedCapacityPerAvailabilityZone": 16,
"CommitmentEndDate": "2026-11-15T00:00:00Z"
},
"CreateDate": "2026-09-21T21:44:50.147000+00:00",
"State": "assessing",
"DBCapacityReservationArn": "arn:aws:rds:us-east-1:123456789012:db-capacity-reservation:dbcr-def456example",
"DBCapacityReservationIdentifier": "dbcr-def456example",
"TagList": []
}
}Note
Omitting --start-date and --commitment-duration
creates an immediately active reservation. The two future-dated parameters
are used together.
To create a future-dated Capacity Reservation by using the Amazon RDS API, call the CreateDBCapacityReservation operation with the parameters for an immediately active reservation, and with the following parameters:
-
StartDate– The date and time when the reservation starts, in UTC. It must be 5–120 days in the future. -
CommitmentDuration– The length of the commitment, in seconds. The minimum is1209600(14 days). For the X family, the minimum is7257600(12 weeks).