

# Determining DB instance class support in Amazon Web Services Regions
<a name="Concepts.DBInstanceClass.RegionSupport"></a>

To determine the DB instance classes supported by each DB engine in a specific Amazon Web Services Region, you can take one of several approaches. You can use the Amazon Web Services Management Console, the [Amazon RDS Pricing](https://www.amazonaws.cn/rds/pricing/) page, or the [describe-orderable-db-instance-options](https://docs.amazonaws.cn/cli/latest/reference/rds/describe-orderable-db-instance-options.html) command for the Amazon Command Line Interface (Amazon CLI).

**Note**  
When you perform operations with the Amazon Web Services Management Console, it automatically shows the supported DB instance classes for a specific DB engine, DB engine version, and Amazon Web Services Region. Examples of the operations that you can perform include creating and modifying a DB instance. 

**Contents**
+ [Using the Amazon RDS pricing page to determine DB instance class support in Amazon Web Services Regions](#Concepts.DBInstanceClass.RegionSupport.PricingPage)
+ [Using the Amazon CLI to determine DB instance class support in Amazon Web Services Regions](#Concepts.DBInstanceClass.RegionSupport.CLI)
  + [Listing the DB instance classes that are supported by a specific DB engine version in an Amazon Web Services Region](#Concepts.DBInstanceClass.RegionSupport.CLI.Example1)
  + [Listing the DB engine versions that support a specific DB instance class in an Amazon Web Services Region](#Concepts.DBInstanceClass.RegionSupport.CLI.Example2)
  + [Listing Amazon Web Services Regions that support a specific DB engine and instance class](#Concepts.DBInstanceClass.RegionSupport.CLI.Example3)

## Using the Amazon RDS pricing page to determine DB instance class support in Amazon Web Services Regions
<a name="Concepts.DBInstanceClass.RegionSupport.PricingPage"></a>

You can use the [Amazon RDS Pricing](https://www.amazonaws.cn/rds/pricing/) page to determine the DB instance classes supported by each DB engine in a specific Amazon Web Services Region. 

**To use the pricing page to determine the DB instance classes supported by each engine in a Region**

1. Go to [Amazon RDS Pricing](https://www.amazonaws.cn/rds/pricing/).

1. In the **Amazon Pricing Calculator for Amazon RDS** section, choose **Create your custom estimate now**.

1. In **Choose a Region**, choose an Amazon Web Services Region.

1. In **Find a Service**, enter **Amazon RDS**.

1. Choose **Configure** for your configuration option and DB engine.

1. Use the section for compatible instances to view the supported DB instance classes.

1. (Optional) Choose other options in the calculator, and then choose **Save and view summary** or **Save and add service**.

## Using the Amazon CLI to determine DB instance class support in Amazon Web Services Regions
<a name="Concepts.DBInstanceClass.RegionSupport.CLI"></a>

You can use the Amazon CLI to determine which DB instance classes are supported for specific DB engines and DB engine versions in an Amazon Web Services Region. The following table shows the valid DB engine values.



| Engine names | Engine values in CLI commands | More information about versions | 
| --- | --- | --- | 
| Db2 | `db2-ae`<br />`db2-ce`<br />`db2-se` | [Db2 on Amazon RDS versions](Db2.Concepts.VersionMgmt.md) | 
| MariaDB | `mariadb` | [MariaDB on Amazon RDS versions](MariaDB.Concepts.VersionMgmt.md) | 
| Microsoft SQL Server | `sqlserver-ee`<br />`sqlserver-se`<br />`sqlserver-ex`<br />`sqlserver-web` | [Microsoft SQL Server versions on Amazon RDS](SQLServer.Concepts.General.VersionSupport.md) | 
| MySQL | `mysql` | [MySQL on Amazon RDS versions](MySQL.Concepts.VersionMgmt.md) | 
| Oracle | `oracle-ee`<br />`oracle-se2` | [*Amazon RDS for Oracle Release Notes*](https://docs.amazonaws.cn/AmazonRDS/latest/OracleReleaseNotes/Welcome.html) | 
| PostgreSQL | `postgres` | [Available PostgreSQL database versions](PostgreSQL.Concepts.General.DBVersions.md) | 

For information about Amazon Web Services Region names, see [Amazon Regions](Concepts.RegionsAndAvailabilityZones.md#Concepts.RegionsAndAvailabilityZones.Regions).

The following examples demonstrate how to determine DB instance class support in an Amazon Web Services Region using the [describe-orderable-db-instance-options](https://docs.amazonaws.cn/cli/latest/reference/rds/describe-orderable-db-instance-options.html) Amazon CLI command.

**Note**  
To limit the output, the following examples show results only for the General Purpose SSD (`gp2`) storage type. If necessary, you can change the storage type to General Purpose SSD (`gp3`), Provisioned IOPS (`io1`), Provisioned IOPS Block Express (`io2`), or magnetic (`standard`) in the commands.

**Topics**
+ [Listing the DB instance classes that are supported by a specific DB engine version in an Amazon Web Services Region](#Concepts.DBInstanceClass.RegionSupport.CLI.Example1)
+ [Listing the DB engine versions that support a specific DB instance class in an Amazon Web Services Region](#Concepts.DBInstanceClass.RegionSupport.CLI.Example2)
+ [Listing Amazon Web Services Regions that support a specific DB engine and instance class](#Concepts.DBInstanceClass.RegionSupport.CLI.Example3)

### Listing the DB instance classes that are supported by a specific DB engine version in an Amazon Web Services Region
<a name="Concepts.DBInstanceClass.RegionSupport.CLI.Example1"></a>

To list the DB instance classes that are supported by a specific DB engine version in an Amazon Web Services Region, run the following command.

For Linux, macOS, or Unix:

```
aws rds describe-orderable-db-instance-options --engine {{engine}} --engine-version {{version}} \
    --query "*[].{DBInstanceClass:DBInstanceClass,StorageType:StorageType}|[?StorageType=='gp2']|[].{DBInstanceClass:DBInstanceClass}" \
    --output text \
    --region {{region}}
```

For Windows:

```
aws rds describe-orderable-db-instance-options --engine {{engine}} --engine-version {{version}} ^
    --query "*[].{DBInstanceClass:DBInstanceClass,StorageType:StorageType}|[?StorageType=='gp2']|[].{DBInstanceClass:DBInstanceClass}" ^
    --output text ^
    --region {{region}}
```

For example, the following command lists the supported DB instance classes for version 13.6 of the RDS for PostgreSQL DB engine in US East (N. Virginia).

For Linux, macOS, or Unix:

```
aws rds describe-orderable-db-instance-options --engine postgres --engine-version 15.4 \
    --query "*[].{DBInstanceClass:DBInstanceClass,StorageType:StorageType}|[?StorageType=='gp2']|[].{DBInstanceClass:DBInstanceClass}" \
    --output text \
    --region us-east-1
```

For Windows:

```
aws rds describe-orderable-db-instance-options --engine postgres --engine-version 15.4 ^
    --query "*[].{DBInstanceClass:DBInstanceClass,StorageType:StorageType}|[?StorageType=='gp2']|[].{DBInstanceClass:DBInstanceClass}" ^
    --output text ^
    --region us-east-1
```

### Listing the DB engine versions that support a specific DB instance class in an Amazon Web Services Region
<a name="Concepts.DBInstanceClass.RegionSupport.CLI.Example2"></a>

To list the DB engine versions that support a specific DB instance class in an Amazon Web Services Region, run the following command.

For Linux, macOS, or Unix:

```
aws rds describe-orderable-db-instance-options --engine {{engine}} --db-instance-class {{DB_instance_class}} \
    --query "*[].{EngineVersion:EngineVersion,StorageType:StorageType}|[?StorageType=='gp2']|[].{EngineVersion:EngineVersion}" \
    --output text \
    --region {{region}}
```

For Windows:

```
aws rds describe-orderable-db-instance-options --engine {{engine}} --db-instance-class {{DB_instance_class}} ^
    --query "*[].{EngineVersion:EngineVersion,StorageType:StorageType}|[?StorageType=='gp2']|[].{EngineVersion:EngineVersion}" ^
    --output text ^
    --region {{region}}
```

For example, the following command lists the DB engine versions of the RDS for PostgreSQL DB engine that support the db.r5.large DB instance class in US East (N. Virginia).

For Linux, macOS, or Unix:

```
aws rds describe-orderable-db-instance-options --engine postgres --db-instance-class db.m7g.large \
    --query "*[].{EngineVersion:EngineVersion,StorageType:StorageType}|[?StorageType=='gp2']|[].{EngineVersion:EngineVersion}" \
    --output text \
    --region us-east-1
```

For Windows:

```
aws rds describe-orderable-db-instance-options --engine postgres --db-instance-class db.m7g.large ^
    --query "*[].{EngineVersion:EngineVersion,StorageType:StorageType}|[?StorageType=='gp2']|[].{EngineVersion:EngineVersion}" ^
    --output text ^
    --region us-east-1
```

### Listing Amazon Web Services Regions that support a specific DB engine and instance class
<a name="Concepts.DBInstanceClass.RegionSupport.CLI.Example3"></a>

The following bash script lists all the Amazon Web Services Regions that support the specified combination of DB engine and instance class.

```
#!/usr/bin/env bash
# Usage: check_region_support.sh <db-engine> <db-instance-class>

if [ $# -ne 2 ]; then
  echo "Usage: $0 <db-engine> <db-instance-class>"
  exit 1
fi
ENGINE="$1"
INSTANCE_CLASS="$2"
REGIONS=$(aws ec2 describe-regions --query "Regions[].RegionName" --output text)
for region in $REGIONS; do
  supported_count=$(aws rds describe-orderable-db-instance-options \
    --region "$region" \
    --engine "$ENGINE" \
    --db-instance-class "$INSTANCE_CLASS" \
    --query 'length(OrderableDBInstanceOptions)' \
    --output text 2>/dev/null || echo "0")
  if [ "$supported_count" -gt 0 ]; then
    echo "$region supports $INSTANCE_CLASS for $ENGINE."
  else
    echo "$region doesn't support $INSTANCE_CLASS for $ENGINE."
  fi
done
```

The following sample output checks Region support for RDS for MySQL using the db.r8g.large instance class.

```
./check_region_support.sh mysql db.r8g.large
ap-south-1 doesn't support db.r8g.large for mysql.
eu-north-1 doesn't support db.r8g.large for mysql.
eu-west-3 doesn't support db.r8g.large for mysql.
eu-west-2 doesn't support db.r8g.large for mysql.
eu-west-1 doesn't support db.r8g.large for mysql.
ap-northeast-3 doesn't support db.r8g.large for mysql.
ap-northeast-2 doesn't support db.r8g.large for mysql.
ap-northeast-1 doesn't support db.r8g.large for mysql.
ca-central-1 doesn't support db.r8g.large for mysql.
sa-east-1 doesn't support db.r8g.large for mysql.
ap-southeast-1 doesn't support db.r8g.large for mysql.
ap-southeast-2 doesn't support db.r8g.large for mysql.
eu-central-1 supports db.r8g.large for mysql.
us-east-1 supports db.r8g.large for mysql.
us-east-2 supports db.r8g.large for mysql.
us-west-1 doesn't support db.r8g.large for mysql.
us-west-2 supports db.r8g.large for mysql.
```