Instance types

RDS instances are effectively managed EC2 instances, so instance classes are derived from EC2 instance types.

Instance classCurrent generationvCPUsCoresMemory (GiB)
db.a1.2xlargefalse8816
db.a1.4xlargefalse161632
db.a1.largefalse224
db.a1.mediumfalse112
db.a1.metalfalse161632
db.a1.xlargefalse448
db.c1.mediumfalse221.69921875
db.c1.xlargefalse887
db.c3.2xlargefalse8415
db.c3.4xlargefalse16830
db.c3.8xlargefalse321660
db.c3.largefalse213.75
db.c3.xlargefalse427.5
db.c4.2xlargetrue8415
db.c4.4xlargetrue16830
db.c4.8xlargetrue361860
db.c4.largetrue213.75
db.c4.xlargetrue427.5
db.c5.12xlargetrue482496
db.c5.18xlargetrue7236144
db.c5.24xlargetrue9648192
db.c5.2xlargetrue8416
db.c5.4xlargetrue16832
db.c5.9xlargetrue361872
db.c5.largetrue214
db.c5.metaltrue9648192
db.c5.xlargetrue428
db.c5a.12xlargetrue482496
db.c5a.16xlargetrue6432128
db.c5a.24xlargetrue9648192
db.c5a.2xlargetrue8416
db.c5a.4xlargetrue16832
db.c5a.8xlargetrue321664
db.c5a.largetrue214
db.c5a.xlargetrue428
db.c5ad.12xlargetrue482496
db.c5ad.16xlargetrue6432128
db.c5ad.24xlargetrue9648192
db.c5ad.2xlargetrue8416
db.c5ad.4xlargetrue16832
db.c5ad.8xlargetrue321664
db.c5ad.largetrue214
db.c5ad.xlargetrue428
db.c5d.12xlargetrue482496
db.c5d.18xlargetrue7236144
db.c5d.24xlargetrue9648192
db.c5d.2xlargetrue8416
db.c5d.4xlargetrue16832
db.c5d.9xlargetrue361872
db.c5d.largetrue214
db.c5d.metaltrue9648192
db.c5d.xlargetrue428
db.c5n.18xlargetrue7236192
db.c5n.2xlargetrue8421
db.c5n.4xlargetrue16842
db.c5n.9xlargetrue361896
db.c5n.largetrue215.25
db.c5n.metaltrue7236192
db.c5n.xlargetrue4210.5
db.c6a.12xlargetrue482496
db.c6a.16xlargetrue6432128
db.c6a.24xlargetrue9648192
db.c6a.2xlargetrue8416
db.c6a.32xlargetrue12864256
db.c6a.48xlargetrue19296384
db.c6a.4xlargetrue16832
db.c6a.8xlargetrue321664
db.c6a.largetrue214
db.c6a.metaltrue19296384
db.c6a.xlargetrue428
db.c6g.12xlargetrue484896
db.c6g.16xlargetrue6464128
db.c6g.2xlargetrue8816
db.c6g.4xlargetrue161632
db.c6g.8xlargetrue323264
db.c6g.largetrue224
db.c6g.mediumtrue112
db.c6g.metaltrue6464128
db.c6g.xlargetrue448
db.c6gd.12xlargetrue484896
db.c6gd.16xlargetrue6464128
db.c6gd.2xlargetrue8816
db.c6gd.4xlargetrue161632
db.c6gd.8xlargetrue323264
db.c6gd.largetrue224
db.c6gd.mediumtrue112
db.c6gd.metaltrue6464128
db.c6gd.xlargetrue448
db.c6gn.12xlargetrue484896
db.c6gn.16xlargetrue6464128
db.c6gn.2xlargetrue8816
db.c6gn.4xlargetrue161632
db.c6gn.8xlargetrue323264
db.c6gn.largetrue224
db.c6gn.mediumtrue112
db.c6gn.xlargetrue448
db.c6i.12xlargetrue482496
db.c6i.16xlargetrue6432128
db.c6i.24xlargetrue9648192
db.c6i.2xlargetrue8416
db.c6i.32xlargetrue12864256
db.c6i.4xlargetrue16832
db.c6i.8xlargetrue321664
db.c6i.largetrue214
db.c6i.metaltrue12864256
db.c6i.xlargetrue428
db.cc2.8xlargefalse321660.5
db.d2.2xlargetrue8461
db.d2.4xlargetrue168122
db.d2.8xlargetrue3618244
db.d2.xlargetrue4230.5
db.d3.2xlargetrue8464
db.d3.4xlargetrue168128
db.d3.8xlargetrue3216256
db.d3.xlargetrue4232
db.d3en.12xlargetrue4824192
db.d3en.2xlargetrue8432
db.d3en.4xlargetrue16864
db.d3en.6xlargetrue241296
db.d3en.8xlargetrue3216128
db.d3en.xlargetrue4216
db.dl1.24xlargetrue9648768
db.f1.16xlargetrue6432976
db.f1.2xlargetrue84122
db.f1.4xlargetrue168244
db.g2.2xlargefalse8415
db.g2.8xlargefalse321660
db.g3.16xlargetrue6432488
db.g3.4xlargetrue168122
db.g3.8xlargetrue3216244
db.g3s.xlargetrue4230.5
db.g4ad.16xlargetrue6432256
db.g4ad.2xlargetrue8432
db.g4ad.4xlargetrue16864
db.g4ad.8xlargetrue3216128
db.g4ad.xlargetrue4216
db.g4dn.12xlargetrue4824192
db.g4dn.16xlargetrue6432256
db.g4dn.2xlargetrue8432
db.g4dn.4xlargetrue16864
db.g4dn.8xlargetrue3216128
db.g4dn.metaltrue9648384
db.g4dn.xlargetrue4216
db.g5.12xlargetrue4824192
db.g5.16xlargetrue6432256
db.g5.24xlargetrue9648384
db.g5.2xlargetrue8432
db.g5.48xlargetrue19296768
db.g5.4xlargetrue16864
db.g5.8xlargetrue3216128
db.g5.xlargetrue4216
db.g5g.16xlargetrue6464128
db.g5g.2xlargetrue8816
db.g5g.4xlargetrue161632
db.g5g.8xlargetrue323264
db.g5g.metaltrue6464128
db.g5g.xlargetrue448
db.h1.16xlargetrue6432256
db.h1.2xlargetrue8432
db.h1.4xlargetrue16864
db.h1.8xlargetrue3216128
db.i2.2xlargefalse8461
db.i2.4xlargefalse168122
db.i2.8xlargefalse3216244
db.i2.xlargefalse4230.5
db.i3.16xlargetrue6432488
db.i3.2xlargetrue8461
db.i3.4xlargetrue168122
db.i3.8xlargetrue3216244
db.i3.largetrue2115.25
db.i3.metaltrue7236512
db.i3.xlargetrue4230.5
db.i3en.12xlargetrue4824384
db.i3en.24xlargetrue9648768
db.i3en.2xlargetrue8464
db.i3en.3xlargetrue12696
db.i3en.6xlargetrue2412192
db.i3en.largetrue2116
db.i3en.metaltrue9648768
db.i3en.xlargetrue4232
db.i4i.16xlargetrue6432512
db.i4i.2xlargetrue8464
db.i4i.32xlargetrue128641024
db.i4i.4xlargetrue168128
db.i4i.8xlargetrue3216256
db.i4i.largetrue2116
db.i4i.metaltrue128641024
db.i4i.xlargetrue4232
db.im4gn.16xlargetrue6464256
db.im4gn.2xlargetrue8832
db.im4gn.4xlargetrue161664
db.im4gn.8xlargetrue3232128
db.im4gn.largetrue228
db.im4gn.xlargetrue4416
db.inf1.24xlargetrue9648192
db.inf1.2xlargetrue8416
db.inf1.6xlargetrue241248
db.inf1.xlargetrue428
db.is4gen.2xlargetrue8848
db.is4gen.4xlargetrue161696
db.is4gen.8xlargetrue3232192
db.is4gen.largetrue2212
db.is4gen.mediumtrue116
db.is4gen.xlargetrue4424
db.m1.largefalse227.5
db.m1.mediumfalse113.69921875
db.m1.smallfalse111.69921875
db.m1.xlargefalse4415
db.m2.2xlargefalse4434.19921875
db.m2.4xlargefalse8868.3994140625
db.m2.xlargefalse2217.099609375
db.m3.2xlargefalse8430
db.m3.largefalse227.5
db.m3.mediumfalse113.75
db.m3.xlargefalse4415
db.m4.10xlargetrue4020160
db.m4.16xlargetrue6432256
db.m4.2xlargetrue8432
db.m4.4xlargetrue16864
db.m4.largetrue218
db.m4.xlargetrue4216
db.m5.12xlargetrue4824192
db.m5.16xlargetrue6432256
db.m5.24xlargetrue9648384
db.m5.2xlargetrue8432
db.m5.4xlargetrue16864
db.m5.8xlargetrue3216128
db.m5.largetrue218
db.m5.metaltrue9648384
db.m5.xlargetrue4216
db.m5a.12xlargetrue4824192
db.m5a.16xlargetrue6432256
db.m5a.24xlargetrue9648384
db.m5a.2xlargetrue8432
db.m5a.4xlargetrue16864
db.m5a.8xlargetrue3216128
db.m5a.largetrue218
db.m5a.xlargetrue4216
db.m5ad.12xlargetrue4824192
db.m5ad.16xlargetrue6432256
db.m5ad.24xlargetrue9648384
db.m5ad.2xlargetrue8432
db.m5ad.4xlargetrue16864
db.m5ad.8xlargetrue3216128
db.m5ad.largetrue218
db.m5ad.xlargetrue4216
db.m5d.12xlargetrue4824192
db.m5d.16xlargetrue6432256
db.m5d.24xlargetrue9648384
db.m5d.2xlargetrue8432
db.m5d.4xlargetrue16864
db.m5d.8xlargetrue3216128
db.m5d.largetrue218
db.m5d.metaltrue9648384
db.m5d.xlargetrue4216
db.m5dn.12xlargetrue4824192
db.m5dn.16xlargetrue6432256
db.m5dn.24xlargetrue9648384
db.m5dn.2xlargetrue8432
db.m5dn.4xlargetrue16864
db.m5dn.8xlargetrue3216128
db.m5dn.largetrue218
db.m5dn.metaltrue9648384
db.m5dn.xlargetrue4216
db.m5n.12xlargetrue4824192
db.m5n.16xlargetrue6432256
db.m5n.24xlargetrue9648384
db.m5n.2xlargetrue8432
db.m5n.4xlargetrue16864
db.m5n.8xlargetrue3216128
db.m5n.largetrue218
db.m5n.metaltrue9648384
db.m5n.xlargetrue4216
db.m5zn.12xlargetrue4824192
db.m5zn.2xlargetrue8432
db.m5zn.3xlargetrue12648
db.m5zn.6xlargetrue241296
db.m5zn.largetrue218
db.m5zn.metaltrue4824192
db.m5zn.xlargetrue4216
db.m6a.12xlargetrue4824192
db.m6a.16xlargetrue6432256
db.m6a.24xlargetrue9648384
db.m6a.2xlargetrue8432
db.m6a.32xlargetrue12864512
db.m6a.48xlargetrue19296768
db.m6a.4xlargetrue16864
db.m6a.8xlargetrue3216128
db.m6a.largetrue218
db.m6a.metaltrue19296768
db.m6a.xlargetrue4216
db.m6g.12xlargetrue4848192
db.m6g.16xlargetrue6464256
db.m6g.2xlargetrue8832
db.m6g.4xlargetrue161664
db.m6g.8xlargetrue3232128
db.m6g.largetrue228
db.m6g.mediumtrue114
db.m6g.metaltrue6464256
db.m6g.xlargetrue4416
db.m6gd.12xlargetrue4848192
db.m6gd.16xlargetrue6464256
db.m6gd.2xlargetrue8832
db.m6gd.4xlargetrue161664
db.m6gd.8xlargetrue3232128
db.m6gd.largetrue228
db.m6gd.mediumtrue114
db.m6gd.metaltrue6464256
db.m6gd.xlargetrue4416
db.m6i.12xlargetrue4824192
db.m6i.16xlargetrue6432256
db.m6i.24xlargetrue9648384
db.m6i.2xlargetrue8432
db.m6i.32xlargetrue12864512
db.m6i.4xlargetrue16864
db.m6i.8xlargetrue3216128
db.m6i.largetrue218
db.m6i.metaltrue12864512
db.m6i.xlargetrue4216
db.mac1.metaltrue12632
db.p2.16xlargetrue6432732
db.p2.8xlargetrue3216488
db.p2.xlargetrue4261
db.p3.16xlargetrue6432488
db.p3.2xlargetrue8461
db.p3.8xlargetrue3216244
db.p3dn.24xlargetrue9648768
db.p4d.24xlargetrue96481152
db.r3.2xlargefalse8461
db.r3.4xlargefalse168122
db.r3.8xlargefalse3216244
db.r3.largefalse2115
db.r3.xlargefalse4230.5
db.r4.16xlargetrue6432488
db.r4.2xlargetrue8461
db.r4.4xlargetrue168122
db.r4.8xlargetrue3216244
db.r4.largetrue2115.25
db.r4.xlargetrue4230.5
db.r5.12xlargetrue4824384
db.r5.16xlargetrue6432512
db.r5.24xlargetrue9648768
db.r5.2xlargetrue8464
db.r5.4xlargetrue168128
db.r5.8xlargetrue3216256
db.r5.largetrue2116
db.r5.metaltrue9648768
db.r5.xlargetrue4232
db.r5a.12xlargetrue4824384
db.r5a.16xlargetrue6432512
db.r5a.24xlargetrue9648768
db.r5a.2xlargetrue8464
db.r5a.4xlargetrue168128
db.r5a.8xlargetrue3216256
db.r5a.largetrue2116
db.r5a.xlargetrue4232
db.r5ad.12xlargetrue4824384
db.r5ad.16xlargetrue6432512
db.r5ad.24xlargetrue9648768
db.r5ad.2xlargetrue8464
db.r5ad.4xlargetrue168128
db.r5ad.8xlargetrue3216256
db.r5ad.largetrue2116
db.r5ad.xlargetrue4232
db.r5b.12xlargetrue4824384
db.r5b.16xlargetrue6432512
db.r5b.24xlargetrue9648768
db.r5b.2xlargetrue8464
db.r5b.4xlargetrue168128
db.r5b.8xlargetrue3216256
db.r5b.largetrue2116
db.r5b.metaltrue9648768
db.r5b.xlargetrue4232
db.r5d.12xlargetrue4824384
db.r5d.16xlargetrue6432512
db.r5d.24xlargetrue9648768
db.r5d.2xlargetrue8464
db.r5d.4xlargetrue168128
db.r5d.8xlargetrue3216256
db.r5d.largetrue2116
db.r5d.metaltrue9648768
db.r5d.xlargetrue4232
db.r5dn.12xlargetrue4824384
db.r5dn.16xlargetrue6432512
db.r5dn.24xlargetrue9648768
db.r5dn.2xlargetrue8464
db.r5dn.4xlargetrue168128
db.r5dn.8xlargetrue3216256
db.r5dn.largetrue2116
db.r5dn.metaltrue9648768
db.r5dn.xlargetrue4232
db.r5n.12xlargetrue4824384
db.r5n.16xlargetrue6432512
db.r5n.24xlargetrue9648768
db.r5n.2xlargetrue8464
db.r5n.4xlargetrue168128
db.r5n.8xlargetrue3216256
db.r5n.largetrue2116
db.r5n.metaltrue9648768
db.r5n.xlargetrue4232
db.r6g.12xlargetrue4848384
db.r6g.16xlargetrue6464512
db.r6g.2xlargetrue8864
db.r6g.4xlargetrue1616128
db.r6g.8xlargetrue3232256
db.r6g.largetrue2216
db.r6g.mediumtrue118
db.r6g.metaltrue6464512
db.r6g.xlargetrue4432
db.r6gd.12xlargetrue4848384
db.r6gd.16xlargetrue6464512
db.r6gd.2xlargetrue8864
db.r6gd.4xlargetrue1616128
db.r6gd.8xlargetrue3232256
db.r6gd.largetrue2216
db.r6gd.mediumtrue118
db.r6gd.metaltrue6464512
db.r6gd.xlargetrue4432
db.r6i.12xlargetrue4824384
db.r6i.16xlargetrue6432512
db.r6i.24xlargetrue9648768
db.r6i.2xlargetrue8464
db.r6i.32xlargetrue128641024
db.r6i.4xlargetrue168128
db.r6i.8xlargetrue3216256
db.r6i.largetrue2116
db.r6i.metaltrue128641024
db.r6i.xlargetrue4232
db.t1.microfalse110.6123046875
db.t2.2xlargetrue8832
db.t2.largetrue228
db.t2.mediumtrue224
db.t2.microtrue111
db.t2.nanotrue110.5
db.t2.smalltrue112
db.t2.xlargetrue4416
db.t3.2xlargetrue8432
db.t3.largetrue218
db.t3.mediumtrue214
db.t3.microtrue211
db.t3.nanotrue210.5
db.t3.smalltrue212
db.t3.xlargetrue4216
db.t3a.2xlargetrue8432
db.t3a.largetrue218
db.t3a.mediumtrue214
db.t3a.microtrue211
db.t3a.nanotrue210.5
db.t3a.smalltrue212
db.t3a.xlargetrue4216
db.t4g.2xlargetrue8832
db.t4g.largetrue228
db.t4g.mediumtrue224
db.t4g.microtrue221
db.t4g.nanotrue220.5
db.t4g.smalltrue222
db.t4g.xlargetrue4416
db.u-12tb1.112xlargetrue44822412288
db.u-3tb1.56xlargetrue2241123072
db.u-6tb1.112xlargetrue4482246144
db.u-6tb1.56xlargetrue2242246144
db.u-9tb1.112xlargetrue4482249216
db.vt1.24xlargetrue9648192
db.vt1.3xlargetrue12624
db.vt1.6xlargetrue241248
db.x1.16xlargetrue6432976
db.x1.32xlargetrue128641952
db.x1e.16xlargetrue64321952
db.x1e.2xlargetrue84244
db.x1e.32xlargetrue128643904
db.x1e.4xlargetrue168488
db.x1e.8xlargetrue3216976
db.x1e.xlargetrue42122
db.x2gd.12xlargetrue4848768
db.x2gd.16xlargetrue64641024
db.x2gd.2xlargetrue88128
db.x2gd.4xlargetrue1616256
db.x2gd.8xlargetrue3232512
db.x2gd.largetrue2232
db.x2gd.mediumtrue1116
db.x2gd.metaltrue64641024
db.x2gd.xlargetrue4464
db.x2idn.16xlargetrue64321024
db.x2idn.24xlargetrue96481536
db.x2idn.32xlargetrue128642048
db.x2idn.metaltrue128642048
db.x2iedn.16xlargetrue64322048
db.x2iedn.24xlargetrue96483072
db.x2iedn.2xlargetrue84256
db.x2iedn.32xlargetrue128644096
db.x2iedn.4xlargetrue168512
db.x2iedn.8xlargetrue32161024
db.x2iedn.metaltrue128644096
db.x2iedn.xlargetrue42128
db.x2iezn.12xlargetrue48241536
db.x2iezn.2xlargetrue84256
db.x2iezn.4xlargetrue168512
db.x2iezn.6xlargetrue2412768
db.x2iezn.8xlargetrue32161024
db.x2iezn.metaltrue48241536
db.z1d.12xlargetrue4824384
db.z1d.2xlargetrue8464
db.z1d.3xlargetrue12696
db.z1d.6xlargetrue2412192
db.z1d.largetrue2116
db.z1d.metaltrue4824384
db.z1d.xlargetrue4232

Regenerate the above table using instance-types.sh:

#!/usr/bin/env bash

aws \
    --profile $PROFILE \
    --region $REGION \
    ec2 describe-instance-types \
  >instance-types.json

# https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html#:~:text=%2D%2Dengine%20(string)
engines=(
  #aurora             # for MySQL 5.6-compatible Aurora
  #aurora-mysql       # for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora
  #aurora-postgresql
  #mariadb
  mysql
  #oracle-ee
  #oracle-ee-cdb
  #oracle-se2
  #oracle-se2-cdb
  #postgres
  #sqlserver-ee
  #sqlserver-se
  #sqlserver-ex
  #sqlserver-web
)

for engine in "${engines[@]}"; do
  aws \
      --profile $PROFILE \
      --region $REGION \
      rds describe-orderable-db-instance-options \
        --engine $engine \
    >orderable-db-instance-options.$engine.json
done

jq -s '[.[].OrderableDBInstanceOptions[].DBInstanceClass] | unique' \
    orderable-db-instance-options.*.json \
  >rds-instance-classes.json

jq -r \
  -f instance-types.jq \
  --argfile rdsInstanceClasses rds-instance-classes.json \
  instance-types.json

And instance-types.jq:

def clamp_below($max):
  if . > $max then
    $max
  else
    .
  end
  ;

.InstanceTypes
  | 12582880 as $mysqlConnectionMemory
  | 16000 as $mysqlMaxConnections
  | sort_by(.InstanceType)[]
  | (.MemoryInfo.SizeInMiB * 1024 * 1024) as $memoryBytes
  | ([
      "`db.\(.InstanceType)`",
      .CurrentGeneration,
      .VCpuInfo.DefaultVCpus,
      .VCpuInfo.DefaultCores,
      .MemoryInfo.SizeInMiB / 1024,
      (($memoryBytes / $mysqlConnectionMemory) | floor | clamp_below($mysqlMaxConnections))
    ] | join(" | ")) as $fields
  | "| \($fields) |"