View a markdown version of this page

Creating a Capacity Reservation - Amazon Aurora

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
  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. In the navigation pane, choose Capacity reservations.

  3. Choose Create capacity reservation.

  4. Under Engine options, choose Aurora (MySQL Compatible) or Aurora (PostgreSQL Compatible).

    Engine types that you can choose for a Capacity Reservation, with Aurora (PostgreSQL Compatible) selected.
  5. Under Instance configuration, choose the DB instance configuration.

    The db.r7g.large DB instance class selected.
  6. 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 the Availability Zones where you plan to place the DB instances that use this reservation.

    • 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.

    Capacity Reservation details: my-reservation, us-east-1a, 2 per AZ, starts immediately, no end time.
  7. (Optional) Add tags.

  8. 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.

To reserve capacity in more than one Availability Zone with one reservation, list two or more Availability Zones. You can also create a separate reservation for each Availability Zone, and specify a different reservation for each DB instance in the DB cluster.

aws rds create-db-capacity-reservation \ --db-capacity-reservation-name my-cluster-reservation \ --engine aurora-postgresql \ --db-instance-class db.r7g.large \ --availability-zones us-east-1a us-east-1b \ --capacity-per-availability-zone 2

Example response:

{ "DBCapacityReservation": { "DBCapacityReservationName": "my-cluster-reservation", "DBInstanceClass": "db.r7g.large", "Engine": "aurora-postgresql", "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": [] } }

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 with dbcr-.

  • Engine – The database engine to reserve capacity for: aurora-mysql or aurora-postgresql.

  • DBInstanceClass – The DB instance class to reserve capacity for, for example db.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:

  • 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
  1. Choose At a specific time.

  2. Set the Start date and Start time (must be at least 5 days in the future).

  3. Set the Commitment duration (minimum 14 days). This is the period you commit to keep the reservation after it becomes active.

    A future-dated reservation that starts at a specific time with a 14-day commitment.

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-name peak-reservation \ --engine aurora-postgresql \ --db-instance-class db.r7g.large \ --availability-zones us-east-1a \ --capacity-per-availability-zone 16 \ --start-date 2026-11-01T00:00:00Z \ --commitment-duration 1209600

Example response:

{ "DBCapacityReservation": { "DBCapacityReservationName": "peak-reservation", "DBInstanceClass": "db.r7g.large", "Engine": "aurora-postgresql", "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 is 1209600 (14 days). For the X family, the minimum is 7257600 (12 weeks).