Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

数据库实例类

数据库实例类确定 Amazon RDS 数据库实例的计算和内存容量。您需要的数据库实例类取决于您的处理能力和内存要求。

数据库实例类类型

Amazon RDS 支持三种类型的实例类:标准、内存优化和可突增性能。有关 Amazon EC2 实例类型的更多信息,请参阅 Amazon EC2 文档中的实例类型

以下是可用的标准数据库实例类:

  • db.m4 – 最新一代实例类,它们提供比以前的 db.m3 实例类更多的计算容量。

  • db.m3 – 上一代实例类,它们兼顾了计算、内存和网络资源,是很多应用程序的理想之选。db.m3 实例类提供比以前的 db.m1 实例类更多的计算容量。

  • db.m1 – 上一代通用型实例类。

以下是可用的内存优化数据库实例类:

  • db.x1e – 最新一代内存优化实例类,针对内存密集型应用程序进行了优化。它们在数据库实例类中提供了每 GiB RAM 的最低价格之一,以及多达 3,904 GiB 基于 DRAM 的实例内存。db.x1e 实例类仅在以下区域可用:美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)、亚太区域(东京) 和 亚太区域(悉尼)。

  • db.x1 – 最新一代内存优化实例类,针对内存密集型应用程序进行了优化。它们在数据库实例类中提供了每 GiB RAM 的最低价格之一,以及多达 1,952 GiB 基于 DRAM 的实例内存。

  • db.r4 – 最新一代内存优化实例类,针对内存密集型应用程序进行了优化。它们提供了比 db.r3 实例类更好的每 GiB RAM 价格。

  • db.r3 – 上一代实例类,它们提供了内存优化,并且提供比 db.m2 实例类更多的计算容量。db.r3 实例类在 欧洲 (巴黎) 和 南美洲(圣保罗) 区域中不可用。

  • db.m2 – 上一代内存优化实例类。

以下是可用的可突增性能数据库实例类:

  • db.t2 – 提供基准性能水平的实例类,并且可以突增到完全 CPU 使用率。

所有可用数据库实例类的规范

下表提供了 Amazon RDS 数据库实例类的详细信息。在下表后面说明了这些表列。

实例类 vCPU1 ECU2 内存3 (GiB) 仅限 VPC4 EBS 优化5 最大带宽6 (Mbps) 网络性能7 Aurora MySQL Aurora PostgreSQL MariaDB Microsoft SQL Server8 MySQL9 Oracle10 PostgreSQL
db.m4 – 最新一代标准实例类
db.m4.16xlarge 64 188 256 10000 25Gbps

8

MySQL 5.7、5.69

10

db.m4.10xlarge 40 124.5 160 4000 10Gbps

8

10

db.m4.4xlarge 16 53.5 64 2000 High

8

10

db.m4.2xlarge 8 25.5 32 1000 High

8

10

db.m4.xlarge 4 13 16 750 High

8

10

db.m4.large 2 6.5 8 450 适中

8

10

db.m3 – 上一代标准实例类
db.m3.2xlarge 8 26 30 1000 High

8

10

db.m3.xlarge 4 13 15 500 High

8

10

db.m3.large 2 6.5 7.5 - 适中

8

10

db.m3.medium 1 3 3.75 - 适中

8

10

db.m1 – 上一代标准实例类
db.m1.xlarge 4 4 15 450 High

8

MySQL 5.6、5.5

已弃用10

PostgreSQL 9.4、9.3
db.m1.large 2 2 7.5 450 适中

8

MySQL 5.6、5.5

已弃用10

PostgreSQL 9.4、9.3
db.m1.medium 1 1 3.75 - 适中

8

MySQL 5.6、5.5

已弃用10

PostgreSQL 9.4、9.3
db.m1.small 1 1 1.7 - 非常低

8

MySQL 5.6、5.5

已弃用10

PostgreSQL 9.4、9.3
db.x1e – 最新一代内存优化实例类
db.x1e.32xlarge 128 340 3,904 14,000 25Gbps

10

db.x1e.16xlarge 64 179 1,952 7,000 10Gbps

10

db.x1e.8xlarge 32 91 976 3,500 最高 10 Gbps

10

db.x1e.4xlarge 16 47 488 1,750 最高 10 Gbps

10

db.x1e.2xlarge 8 23 244 1000 最高 10 Gbps

10

db.x1e.xlarge 4 12 122 500 最高 10 Gbps

10

db.x1 – 当前一代内存优化实例类
db.x1.32xlarge 128 349 1,952 14,000 25Gbps

10

db.x1.16xlarge 64 349 976 7,000 10Gbps

10

db.r4 – 当前一代内存优化实例类
db.r4.16xlarge 64 195 488 14,000 25Gbps 1.15 和后续版本

8

MySQL 5.7、5.69

10

PostgreSQL 9.6、9.5、9.4
db.r4.8xlarge 32 99 244 7,000 10Gbps 1.15 和后续版本

8

MySQL 5.7、5.69

10

PostgreSQL 9.6、9.5、9.4
db.r4.4xlarge 16 53 122 3,500 最高 10 Gbps 1.15 和后续版本

8

MySQL 5.7、5.69

10

PostgreSQL 9.6、9.5、9.4
db.r4.2xlarge 8 27 61 1,750 最高 10 Gbps 1.15 和后续版本

8

MySQL 5.7、5.69

10

PostgreSQL 9.6、9.5、9.4
db.r4.xlarge 4 13.5 30.5 875 最高 10 Gbps 1.15 和后续版本

8

MySQL 5.7、5.69

10

PostgreSQL 9.6、9.5、9.4
db.r4.large 2 7 15.25 437 最高 10 Gbps 1.15 和后续版本

8

MySQL 5.7、5.69

10

PostgreSQL 9.6、9.5、9.4
db.r3 – 上一代内存优化实例类
db.r3.8xlarge 32 104 244 - 10Gbps

8

10

db.r3.4xlarge 16 52 122 2000 High

8

10

db.r3.2xlarge 8 26 61 1000 High

8

10

db.r3.xlarge 4 13 30.5 500 适中

8

10

db.r3.large 2 6.5 15.25 - 适中

8

10

db.m2 – 上一代内存优化实例类
db.m2.4xlarge 8 26 68.4 1000 High

8

MySQL 5.6、5.5

已弃用10

PostgreSQL 9.4、9.3
db.m2.2xlarge 4 13 34.2 500 适中

8

MySQL 5.6、5.5

已弃用10

PostgreSQL 9.4、9.3
db.m2.xlarge 2 6.5 17.1 - 适中

8

MySQL 5.6、5.5

已弃用10

PostgreSQL 9.4、9.3
db.t2 – 当前一代可突增性能实例类
db.t2.2xlarge 8 8 32 - 适中 MySQL 5.7、5.69

10

PostgreSQL 9.6、9.5、9.4
db.t2.xlarge 4 4 16 - 适中 MySQL 5.7、5.69

10

PostgreSQL 9.6、9.5、9.4
db.t2.large 2 2 8 - 适中

8

10

db.t2.medium 2 2 4 - 适中

8

10

db.t2.small 1 1 2 - Low

8

10

db.t2.micro 1 1 1 - Low

8

10

  1. vCPU – 虚拟中央处理器 (CPU) 数。虚拟 CPU 是可用于比较数据库实例类的容量单位。您不再购买或租用特定的处理器并用上数月或数年,而是以小时为单位租用容量。我们的目标是在实际基础硬件的限制内提供特定数量的一致 CPU 容量。

  2. ECU – Amazon EC2 实例的整数处理能力的相对度量单位。为了便于开发人员比较不同实例类的 CPU 容量,我们定义了一个 Amazon EC2 计算单位。分配给特定实例的 CPU 量是以这些 EC2 计算单位来表示的。一个 ECU 目前提供的 CPU 容量相当于 1.0–1.2 GHz 2007 Opteron 或 2007 Xeon 处理器。

  3. 内存 (GiB) – 为数据库实例分配的 RAM 内存 (GiB)。内存与 vCPU 之间通常具有一致的比率。例如,db.m1 实例类具有与 db.m3 实例类相同的内存和 vCPU 比率,但对于大多数使用案例,db.m3 实例类提供比 db.m1 实例类更好、更一致的性能。

  4. 仅限 VPC - 仅位于 Amazon Virtual Private Cloud (VPC) 中的数据库实例支持该实例类。如果当前数据库实例没有位于 VPC 中,并且要使用的实例类需要使用 VPC,请先将数据库实例移到 VPC 中。有关更多信息,请参阅 将不在 VPC 中的数据库实例移动到 VPC 中

  5. EBS 优化 – 数据库实例使用优化的配置堆栈,并为 I/O 提供额外的专用容量。这种优化最大限度减少 I/O 和来自实例的其他流量之间的争用以提供最佳的性能。有关 Amazon EBS 优化实例的更多信息,请参阅 Amazon EC2 文档中的 Amazon EBS 优化实例

  6. 最大 带宽 (Mbps) – 以 MB/s 为单位的最大带宽。除以 8 可获得预期吞吐量 (MB/s)。

    重要

    对于通用型 (gp2) 存储,最大吞吐量为 1,280 Mbps (160 MB/s)。有关估计 gp2 存储的带宽的更多信息,请参阅 通用型 SSD 存储

  7. 网络性能 – 与其他数据库实例类有关的网络速度。

  8. Microsoft SQL Server – 实例类支持因 SQL Server 版本和版本号而异。有关不同版本和版本号支持的实例类,请参阅Microsoft SQL Server 的数据库实例类支持

  9. MySQL – MySQL 5.6.27 不支持以下实例类:m4.16xlarge、db.r4.large、db.r4.xlarge、db.r4.2xlarge、db.r4.4xlarge、db.r4.8xlarge、db.r4.16xlarge、t2.xlarge 和 t2.2xlarge。

  10. Oracle – 实例类支持因 Oracle 版本和版本号而异。有关不同版本和版本号支持的实例类,请参阅Oracle 的数据库实例类支持

更改数据库实例类

通过更改数据库实例类,您可以更改数据库实例的可用 CPU 和内存。要更改数据库实例类,请按照您的特定数据库引擎的说明修改数据库实例。

可以修改数据库实例以将 2014 年 4 月 23 日之后创建的 MySQL 数据库实例更改为 db.r3 实例类,就像任何其他修改一样。运行 MySQL 5.5 版的 MySQL 数据库实例以及在 2014 年 4 月 23 日之前创建的 MySQL 数据库实例必须先升级到 MySQL 5.6 版。有关更多信息,请参阅将 MySQL 数据库引擎

某些实例类要求数据库实例位于 VPC 中。如果当前数据库实例没有位于 VPC 中,并且要使用的实例类需要使用 VPC,请先将数据库实例移到 VPC 中。有关更多信息,请参阅 将不在 VPC 中的数据库实例移动到 VPC 中

为数据库实例类配置处理器

Amazon RDS 数据库实例类支持 Intel 超线程技术,该技术可使多个线程在一个 Intel Xeon CPU 核心上并发运行。每个线程都表示为数据库实例上的一个虚拟 CPU (vCPU)。数据库实例具有默认数量的 CPU 核心,该数量因数据库实例类型而异。例如,默认情况下,db.m4.xlarge DB 实例类型有两个 CPU 核心,每个核心有两个线程 - 共四个 vCPU。

注意

每个 vCPU 是 Intel Xeon CPU 核心的一个超线程。

在大多数情况下,都可以找到一个数据库实例类,它具有适合您工作负载的内存和 vCPU 数量组合。但是,您也可以指定以下处理器功能来针对特定工作负载或业务需求优化数据库实例:

  • CPU 核心数 – 您可以自定义数据库实例的 CPU 核心数。也许可以通过这种方式让数据库实例拥有适合内存密集型工作负载的充足内存,同时减少 CPU 核心数,从而优化您的软件的许可成本。

  • 每核心线程数 – 您可以通过为每个 CPU 核心指定一个线程来禁用 Intel 超线程技术。也许可以为特定工作负载(例如高性能计算 (HPC) 工作负载)执行该操作。

您可以单独控制 CPU 核心和每个核心的线程数量。您可以在请求中设置其中的一项或两项。在某一设置与数据库实例关联后,该设置将一直保留,直到对其进行更改。

数据库实例的处理器设置与数据库实例的快照关联。还原快照时,其还原的数据库实例将使用拍摄快照时使用的处理器功能设置。

如果用非默认的处理器设置来修改数据库实例的数据库实例类,则必须指定默认处理器设置或在修改数据库实例时明确指定处理器设置。此要求确保您在修改数据库实例时了解可能产生的第三方许可成本。

在 Amazon RDS 数据库实例中指定处理器功能时,不会增加或减少费用。所收取的费用与使用默认 CPU 配置启动的数据库实例相同。

可在执行以下操作时为数据库实例类配置 CPU 核心数和每核心线程数:

  • 创建数据库实例

  • 修改数据库实例

  • 从快照还原数据库实例

  • 将数据库实例还原至某一时间点

注意

在修改数据库实例以配置 CPU 核心数或每核心线程数时,会出现短暂的数据库实例中断。

每个数据库实例类的 CPU 核心数和每 CPU 核心线程数

在下表中,您可以找到支持设置许多 CPU 核心和每核心 CPU 线程的数据库实例类。您还可以找到每个数据库实例类的 CPU 核心数和每核心 CPU 线程数的默认值和有效值。

数据库实例类 默认 vCPU 默认 CPU 核心数 默认每核心线程数 有效 CPU 核心数 有效的每核心线程数

db.m4.10xlarge

40

20

2

2、4、6、8、10、12、14、16、18、20

1、2

db.m4.16xlarge

64

32

2

2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32

1、2

db.r3.large

2

1

2

1

1、2

db.r3.xlarge

4

2

2

1、2

1、2

db.r3.2xlarge

8

4

2

1、2、3、4

1、2

db.r3.4xlarge

16

8

2

1、2、3、4、5、6、7、8

1、2

db.r3.8xlarge

32

16

2

2、4、6、8、10、12、14、16

1、2

db.r4.large

2

1

2

1

1、2

db.r4.xlarge

4

2

2

1、2

1、2

db.r4.2xlarge

8

4

2

1、2、3、4

1、2

db.r4.4xlarge

16

8

2

1、2、3、4、5、6、7、8

1、2

db.r4.8xlarge

32

16

2

1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16

1、2

db.r4.16xlarge

64

32

2

2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32

1、2

db.x1.16xlarge

64

32

2

2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32

1、2

db.x1.32xlarge

128

64

2

4、8、12、16、20、24、28、32、36、40、44、48、52、56、60、64

1、2

db.x1e.xlarge

4

2

2

1、2

1、2

db.x1e.2xlarge

8

4

2

1、2、3、4

1、2

db.x1e.4xlarge

16

8

2

1、2、3、4、5、6、7、8

1、2

db.x1e.8xlarge

32

16

2

1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16

1、2

db.x1e.16xlarge

64

32

2

2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32

1、2

db.x1e.32xlarge

128

64

2

4、8、12、16、20、24、28、32、36、40、44、48、52、56、60、64

1、2

注意

目前,只能为 Oracle 数据库实例配置 CPU 核心数和每核心线程数。有关不同 Oracle 数据库版本支持的数据库实例类的信息,请参阅Oracle 的数据库实例类支持

对于 Oracle 数据库实例,只有自带许可 (BYOL) 许可选项支持配置 CPU 核心数和每核心线程数。有关 Oracle 许可选项的更多信息,请参阅Oracle 许可

为数据库实例类设置 CPU 核心数和每 CPU 核心线程数

可以使用 AWS 管理控制台、AWS CLI 或 RDS API 设置数据库实例类的 CPU 核心数和每 CPU 核心线程数。

AWS 管理控制台

在创建、修改或还原数据库实例时,可在 AWS 管理控制台 中设置数据库实例类。Instance specifications (实例规格) 部分显示用于处理器的选项。下图显示处理器功能选项。

 配置处理器选项

Processor features (处理器功能) 下将数据库实例类的以下选项设置为合适的值:

  • Core count (核心计数) – 使用此选项设置 CPU 核心数。该值必须等于或小于数据库实例类的最大 CPU 核心数。

  • Threads per core (每核心线程数) – 指定 2 以启用每核心多个线程,或指定 1 以禁用每核心多个线程。

在修改或还原数据库实例时,还可以将 CPU 核心数和每核心线程数设置为选定数据库实例类的默认设置。

在控制台中查看数据库实例的详细信息时,还可以查看其数据库实例类的处理器信息。下图显示启用了一个 CPU 核心和每核心多个实例的数据库实例类。

 查看处理器选项

对于 Oracle 数据库实例,只有自带许可 (BYOL) 数据库实例显示处理器信息。

CLI

在运行以下 AWS CLI 命令之一时,可为数据库实例设置处理器功能:

要使用 AWS CLI 为数据库实例的数据库实例类配置处理器,请在命令中包含 --processor-features 选项。使用 coreCount 功能名称指定 CPU 核心数,并使用 threadsPerCore 功能名称指定是否启用每核心多个线程。

该选项具有以下语法。

--processor-features "Name=coreCount,Value=<value>" "Name=threadsPerCore,Value=<value>"

例 设置数据库实例的 CPU 核心数

以下示例通过将 CPU 核心数设置为 4 来修改 mydbinstance。使用 --apply-immediately 可立即应用更改。如果要在下一个计划的维护时段应用更改,请省略 --apply-immediately 选项。

针对 Linux、OS X 或 Unix:

aws rds modify-db-instance \ --processor-features "Name=coreCount,Value=4" \ --apply-immediately

对于 Windows:

aws rds modify-db-instance ^ --processor-features "Name=coreCount,Value=4" ^ --apply-immediately

例 为数据库实例设置 CPU 核心数和禁用多个线程

以下示例通过将 CPU 核心数设置为 4 并禁用每核心多个线程来修改 mydbinstance。使用 --apply-immediately 可立即应用更改。如果要在下一个计划的维护时段应用更改,请省略 --apply-immediately 选项。

针对 Linux、OS X 或 Unix:

aws rds modify-db-instance \ --processor-features "Name=coreCount,Value=4" "Name=threadsPerCore,Value=1" \ --apply-immediately

对于 Windows:

aws rds modify-db-instance ^ --processor-features "Name=coreCount,Value=4" "Name=threadsPerCore,Value=1" ^ --apply-immediately

例 查看数据库实例类的有效处理器值

可以通过运行 describe-orderable-db-instance-options 命令并为 --db-instance-class 选项指定实例类来查看特定数据库实例类的有效处理器值。例如,以下命令的输出显示用于 db.r3.large 实例类的处理器选项。

aws rds describe-orderable-db-instance-options --engine oracle-ee --db-instance-class db.r3.large

以下为 JSON 格式的命令示例输出。

{ "SupportsIops": true, "MaxIopsPerGib": 50.0, "LicenseModel": "bring-your-own-license", "DBInstanceClass": "db.r3.large", "SupportsIAMDatabaseAuthentication": false, "MinStorageSize": 100, "AvailabilityZones": [ { "Name": "us-west-2a" }, { "Name": "us-west-2b" }, { "Name": "us-west-2c" } ], "EngineVersion": "12.1.0.2.v2", "MaxStorageSize": 16384, "MinIopsPerGib": 1.0, "MaxIopsPerDbInstance": 40000, "ReadReplicaCapable": false, "AvailableProcessorFeatures": [ { "Name": "coreCount", "DefaultValue": "1", "AllowedValues": "1" }, { "Name": "threadsPerCore", "DefaultValue": "2", "AllowedValues": "1,2" } ], "SupportsEnhancedMonitoring": true, "SupportsPerformanceInsights": false, "MinIopsPerDbInstance": 1000, "StorageType": "io1", "Vpc": false, "SupportsStorageEncryption": true, "Engine": "oracle-ee", "MultiAZCapable": true }

此外,可以运行以下命令来获取数据库实例类处理器信息:

例 返回数据库实例的默认处理器设置

以下示例通过将数据库实例的数据库实例类返回给默认处理器值来修改 mydbinstance。使用 --apply-immediately 可立即应用更改。如果要在下一个计划的维护时段应用更改,请省略 --apply-immediately 选项。

针对 Linux、OS X 或 Unix:

aws rds modify-db-instance \ --use-default-processor-features \ --apply-immediately

对于 Windows:

aws rds modify-db-instance ^ --use-default-processor-features ^ --apply-immediately

例 返回数据库实例的默认 CPU 核心数

以下示例通过将数据库实例的数据库实例类返回给默认 CPU 核心数来修改 mydbinstance。每核心线程数未更改。使用 --apply-immediately 可立即应用更改。如果要在下一个计划的维护时段应用更改,请省略 --apply-immediately 选项。

针对 Linux、OS X 或 Unix:

aws rds modify-db-instance \ --processor-features "Name=coreCount,Value=DEFAULT" \ --apply-immediately

对于 Windows:

aws rds modify-db-instance ^ --processor-features "Name=coreCount,Value=DEFAULT" ^ --apply-immediately

例 返回数据库实例的每核心默认线程数

以下示例通过将数据库实例的数据库实例类返回给默认每核心线程数来修改 mydbinstance。CPU 核心数设置未更改。使用 --apply-immediately 可立即应用更改。如果要在下一个计划的维护时段应用更改,请省略 --apply-immediately 选项。

针对 Linux、OS X 或 Unix:

aws rds modify-db-instance \ --processor-features "Name=threadsPerCore,Value=DEFAULT" \ --apply-immediately

对于 Windows:

aws rds modify-db-instance ^ --processor-features "Name=threadsPerCore,Value=DEFAULT" ^ --apply-immediately
API

在调用以下 Amazon RDS API 操作之一时,可为数据库实例设置处理器功能:

要使用 Amazon RDS API 为数据库实例的数据库实例类配置处理器功能,请在该调用中包含 ProcessFeatures 参数。

该参数具有以下语法。

ProcessFeatures "Name=coreCount,Value=<value>" "Name=threadsPerCore,Value=<value>"

使用 coreCount 功能名称指定 CPU 核心数,并使用 threadsPerCore 功能名称指定是否启用每核心多个线程。

可以通过运行 DescribeOrderableDBInstanceOptions 操作并为 DBInstanceClass 参数指定实例类来查看特定数据库实例类的有效处理器值。

此外,可以使用以下操作来获取数据库实例类处理器信息: