

# Amazon RDS 的预留数据库实例
<a name="USER_WorkingWithReservedDBInstances"></a>

通过使用预留数据库实例，您可以将数据库实例预留一年或三年。相比按需数据库实例定价，数据库预留实例可以提供大幅折扣。预留数据库实例不是物理实例，而是对账户中使用的特定按需数据库实例所应用的账单折扣。用于预留数据库实例的折扣与实例类型和 Amazon Web Services 区域相关联。

使用预留数据库实例的一般过程如下：首先，获取有关可用预留数据库实例产品的信息，然后购买预留数据库实例产品，最后获取有关您的现有预留数据库实例的信息。

有关购买预留数据库实例和查看预留数据库实例的账单的信息，请参阅以下各节。
+ [购买 Amazon RDS 的预留数据库实例](USER_WorkingWithReservedDBInstances.WorkingWith.md)
+ [查看 Amazon RDS 的预留数据库实例的账单](reserved-instances-billing.md)

## 预留数据库实例概述
<a name="USER_WorkingWithReservedDBInstances.Overview"></a>

如果购买了 Amazon RDS 中的预留数据库实例，将承诺在预留数据库实例的持续时间内为您提供特定数据库实例类型的折扣费率。要使用 Amazon RDS 预留数据库实例，应创建新的数据库实例，就像您为按需实例创建数据库实例一样。

您创建的新数据库实例必须与预留的数据库实例具有相同的规范，具体为以下方面：
+ Amazon Web Services 区域
+ 数据库引擎（数据库引擎的版本号不需要匹配。）
+ 数据库实例类型
+ 数据库实例大小（RDS for Db2、RDS for SQL Server 和 RDS for Oracle 自带许可版本）
+ 版本（RDS for Db2、RDS for SQL Server 和 RDS for Oracle）
+ 许可类型（附带许可或自带许可）

如果新数据库实例的规格与您的账户的现有预留数据库实例匹配，则会按照为预留数据库实例提供的折扣费率向您收费。否则，将以按需费率对数据库实例进行收费。

您可以修改用作预留数据库实例的数据库实例。如果修改在预留数据库实例的规范范围内，则部分或全部折扣仍适用于修改后的数据库实例。如果修改超出规范范围（例如更改实例类），则不再适用折扣。有关更多信息，请参阅 [大小灵活的预留数据库实例](#USER_WorkingWithReservedDBInstances.SizeFlexible)。

**Topics**
+ [产品类型](#USER_WorkingWithReservedDBInstances.OfferingTypes)
+ [大小灵活的预留数据库实例](#USER_WorkingWithReservedDBInstances.SizeFlexible)
+ [预留数据库实例计费示例](#USER_WorkingWithReservedDBInstances.BillingExample)
+ [多可用区数据库集群的预留数据库实例](#USER_WorkingWithReservedDBInstances.MultiAZDBClusters)
+ [删除预留数据库实例](#USER_WorkingWithReservedDBInstances.Cancelling)

有关预留数据库实例的更多信息（包括定价），请参阅 [Amazon RDS 预留实例](https://www.amazonaws.cn/rds/reserved-instances/#2)。

### 产品类型
<a name="USER_WorkingWithReservedDBInstances.OfferingTypes"></a>

预留数据库实例有三种类型（无预付费用、预付部分费用和预付全部费用），使您可以基于预期使用情况优化 Amazon RDS 成本。

**注意**  
并非所有 RDS 实例类都支持所有预留实例产品类型。例如，某些实例类可能不提供“无预付费用”选项。要确认可用性，请在 Amazon Web Services 管理控制台中查看预留实例产品或使用 `describe-reserved-db-instances-offerings` Amazon CLI 命令。

**无费用预付**  
该选项无需预付款即可访问预留数据库实例。无论使用情况如何，您的“无费用预付”预留数据库实例都将按照期限内的小时数，采用打折小时费率进行计费，无需任何预付款。该选项仅以一年期预留形式提供。

**预付部分费用**  
该选项需要预付部分预留数据库实例费用。期限内剩余的小时数无论使用情况如何，都将按照打折小时费率计费。该选项替换了以前的高使用率选项。

**预付全部费用**  
所有款项于期限开始时支付，无论使用了多少小时数，剩余期限不会再产生其他任何费用。

如果使用整合账单，则将组织中的所有账户视为一个账户。这意味着，组织中的所有账户都可以享受任何其他账户购买的预留数据库实例的小时成本优惠。有关整合账单的更多信息，请参阅 *Amazon 账单和成本管理用户指南*中的 [Amazon RDS 预留数据库实例](https://docs.amazonaws.cn/awsaccountbilling/latest/aboutv2/consolidatedbilling-other.html#consolidatedbilling-rds)。

### 大小灵活的预留数据库实例
<a name="USER_WorkingWithReservedDBInstances.SizeFlexible"></a>

在购买预留数据库实例时，您指定的一项内容是实例类，例如，db.r5.large。有关数据库实例类的更多信息，请参阅[数据库实例类](Concepts.DBInstanceClass.md)。

如果您具有数据库实例，则需要将其扩展为更大的容量，预留数据库实例将自动应用于扩展的数据库实例。即，在所有数据库实例类大小中自动应用预留数据库实例。大小灵活的预留数据库实例可供具有相同 Amazon Web Services 区域和数据库引擎的数据库实例使用。大小灵活的预留数据库实例只能在其实例类类型中扩展。例如，db.r6i.large 的预留数据库实例可以应用于 db.r6i.xlarge，但不能应用于 db.r6id.large 或 db.r7g.large，因为 db.r6id.large 和 db.r7g.large 属于不同类型的实例类。

预留数据库实例优惠同时适用于多可用区和单可用区配置。这意味着您可以在相同数据库实例类型的配置之间自由移动。例如，您可以从在一个大型数据库实例（每小时四个标准化单位）上运行的单可用区部署移动到在两个中型数据库实例（2\$12 = 每小时 4 个标准化单位）上运行的多可用区部署。

大小灵活的预留数据库实例适用于以下 Amazon RDS 数据库引擎：
+ RDS for Db2
+ RDS for MariaDB
+ RDS for MySQL
+ RDS for Oracle、自带许可
+ RDS for PostgreSQL

大小灵活性不适用于 RDS for SQL Server 和 RDS for Oracle 自带许可版本。

有关在 Aurora 中使用大小灵活的预留实例的详细信息，请参阅 [Aurora 的预留数据库实例](https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithReservedDBInstances.html)。

您可以使用每小时标准化单位数来比较不同预留数据库实例大小的使用情况。例如，两个 db.r3.large 数据库实例的一个单位使用量相当于一个 db.r3.small 上的 8 个每小时标准化单位。下表显示了每个数据库实例大小的每小时标准化单位数。


| 实例大小 | 单可用区每小时标准化单位（使用一个数据库实例进行部署） | 多可用区数据库实例每小时标准化单位（使用一个数据库实例和一个备用数据库实例进行部署） | 多可用区数据库集群每小时标准化单位（使用一个数据库实例和两个备用数据库实例进行部署） | 
| --- | --- | --- | --- | 
|  micro  |  0.5  |  1  | 1.5 | 
|  small  |  1  |  2  | 3 | 
|  medium  |  2  |  4  | 6 | 
|  large  |  4  |  8  | 12 | 
|  xlarge  |  8  |  16  | 24 | 
|  2xlarge  |  16  |  32  | 48 | 
|  4xlarge  |  32  |  64  | 96 | 
|  6xlarge  |  48  |  96  | 144 | 
|  8xlarge  |  64  |  128  | 192 | 
|  10xlarge  |  80  |  160  | 240 | 
|  12xlarge  |  96  |  192  | 288 | 
|  16xlarge  |  128  |  256  | 384 | 
|  24xlarge  |  192  |  384  | 576 | 
|  32xlarge  |  256  |  512  | 768 | 

例如，假定您购买了 `db.t2.medium` 预留数据库实例，并且您的账户在同一 Amazon Web Services 区域中具有两个正在运行的 `db.t2.small` 数据库实例。在这种情况下，账单优惠将完全应用于两个实例。

![\[将整个预留数据库应用于较小的数据库实例\]](http://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/images/ri-db-instance-flex-full.png)


或者，如果您的账户在同一 Amazon Web Services 区域中具有一个正在运行的 `db.t2.large` 实例，则账单优惠应用于 50% 的数据库实例使用量。

![\[将部分预留数据库实例应用于较大的数据库实例\]](http://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/images/ri-db-instance-flex-partial.png)


### 预留数据库实例计费示例
<a name="USER_WorkingWithReservedDBInstances.BillingExample"></a>

预留数据库实例的价格并没有为与存储、备份和 I/O 相关的成本提供折扣。它只提供按小时、按需型实例使用量的折扣。以下示例说明了预留数据库实例的每月总成本：
+ 美国东部（弗吉尼亚州北部）的 RDS for MySQL 预留单可用区 db.r5.large 数据库实例类，采用“无预付”选项，实例成本为 0.12 美元或每月 90 美元
+ 400 GiB 通用型 SSD (gp2) 存储，每月每 GiB 成本为 0.115 美元或每月 45.60 美元
+ 600 GiB 备份存储为 0.095 美元或每月 19 美元（400 GiB 免费）

将预留数据库实例的所有这些费用相加（90 \$1 45.60 \$1 19 美元），得出每月总成本为 154.60 美元。

如果您选择使用按需数据库实例而不是预留数据库实例，则美国东部（弗吉尼亚州北部）的 RDS for MySQL 单可用区 db.r5.large 数据库实例类的成本为每小时 0.1386 美元或每月 101.18 美元。因此，对于按需数据库实例，将所有这些选项相加（101.18 \$1 45.60 \$1 19 美元），得出每月总成本为 165.78 美元。使用预留数据库实例可每月至少为您节省 11 美元。

**注意**  
该示例中的价格是示例价格，可能与实际价格不符。有关 Amazon RDS 定价信息，请参阅 [Amazon RDS 定价](https://www.amazonaws.cn/rds/pricing)。

### 多可用区数据库集群的预留数据库实例
<a name="USER_WorkingWithReservedDBInstances.MultiAZDBClusters"></a>

要为多可用区数据库集群购买等效的预留数据库实例，可以执行以下操作之一：
+ 预留三个与集群中的实例具有相同大小的单可用区数据库实例。
+ 预留一个多可用区数据库实例和一个单可用区数据库实例，这些实例与集群中的数据库实例大小相同。

例如，假设您具有一个集群，它由三个 db.m6gd.large 数据库实例组成。在这种情况下，您可以购买三个 db.m6gd.large 单可用区预留数据库实例，也可以购买一个 db.m6gd.large 多可用区预留数据库实例和一个 db.m6gd.large 单可用区预留数据库实例。这两个选项中的任何一个都为多可用区数据库集群预留了最大预留实例折扣。

或者，您可以使用大小灵活的数据库实例并购买更大的数据库实例，以涵盖一个或多个集群中的较小数据库实例。例如，如果您有两个集群（总共具有六个 db.m6gd.large 数据库实例），则可以购买三个 db.m6gd.xl 单可用区预留数据库实例。这样做会在两个集群中预留所有六个数据库实例。有关更多信息，请参阅 [大小灵活的预留数据库实例](#USER_WorkingWithReservedDBInstances.SizeFlexible)。

您可以预留与集群中的数据库实例大小相同的数据库实例，但预留的数据库实例数少于集群中数据库实例的总数。但是，如果您这样做，则只会部分预留集群。例如，假设您的一个集群包含三个 db.m6gd.large 数据库实例，并购买了一个 db.m6gd.large 多可用区预留数据库实例。在这种情况下，仅部分预留此集群，因为预留的数据库实例仅涵盖集群的三个实例中的两个。剩下的数据库实例以按需 db.m6gd.large 每小时费率收费。

有关多可用区数据库集群的更多信息，请参阅 [Amazon RDS 的多可用区数据库集群部署](multi-az-db-clusters-concepts.md)。

### 删除预留数据库实例
<a name="USER_WorkingWithReservedDBInstances.Cancelling"></a>

预留数据库实例具有一年或三年的使用期限。您无法取消预留数据库实例。不过，您可以删除预留数据库实例折扣涵盖的数据库实例。删除预留数据库实例折扣涵盖的数据库实例的过程与删除任何其他数据库实例相同。

无论您是否使用资源，都需要支付前期费用。

如果删除了预留数据库实例折扣涵盖的数据库实例，您可以启动另一个具有兼容规格的数据库实例。在这种情况下，您可以在预留期限（一年或三年）内继续享受折扣费率。