

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

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

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

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

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

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

您创建的新数据库实例必须与预留的数据库实例具有相同的规范，具体为以下方面：
+ AWS 区域
+ 数据库引擎（数据库引擎的版本号不需要匹配。）
+ 数据库实例类型

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

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

**Topics**
+ [产品类型](#USER_WorkingWithReservedDBInstances.OfferingTypes)
+ [Aurora 数据库集群配置灵活性](#ReservedDBInstances.ClusterConfig)
+ [大小灵活的预留数据库实例](#USER_WorkingWithReservedDBInstances.SizeFlexible)
+ [Aurora 预留数据库实例计费示例](#USER_WorkingWithReservedDBInstances.BillingExample)
+ [删除预留数据库实例](#USER_WorkingWithReservedDBInstances.Cancelling)

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

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

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

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

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

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

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

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

### Aurora 数据库集群配置灵活性
<a name="ReservedDBInstances.ClusterConfig"></a>

您可以将 Aurora 预留数据库实例用于以下两种数据库集群配置：
+ Aurora I/O-Optimized – 您只需为数据库集群的使用量和存储付费，而无需为读取和写入 I/O 操作支付额外费用。
+ Aurora Standard – 除了数据库集群的使用量和存储外，您还需要为每 100 万个 I/O 操作请求支付标准费率。

Aurora 会自动考虑这些配置之间的价格差异。Aurora I/O-Optimized 每小时消耗的标准化单位比 Aurora Standard 多 30%。

有关 Aurora 集群存储配置的更多信息，请参阅[Amazon Aurora 数据库集群的存储配置](Aurora.Overview.StorageReliability.md#aurora-storage-type)。有关 Aurora 集群存储配置定价的更多信息，请参阅 [Amazon Aurora 定价](https://aws.amazon.com/rds/aurora/pricing/)。

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

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

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

大小灵活的预留数据库实例适用于以下 Aurora 数据库引擎：
+ Aurora MySQL
+ Aurora PostgreSQL

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


| 实例大小 | 一个数据库实例的每小时标准化单位，Aurora Standard | 一个数据库实例的每小时标准化单位，Aurora I/O-Optimized | 三个数据库实例（写入器和两个读取器）的标准化每小时单位，Aurora Standard | 三个数据库实例（写入器和两个读取器）的标准化每小时单位，Aurora I/O-Optimized | 
| --- | --- | --- | --- | --- | 
|  small  |  1  | 1.3 |  3  | 3.9 | 
|  medium  |  2  | 2.6 |  6  | 7.8 | 
|  large  |  4  | 5.2 |  12  | 15.6 | 
|  xlarge  |  8  | 10.4 |  24  | 31.2 | 
|  2xlarge  |  16  | 20.8 |  48  | 62.4 | 
|  4xlarge  |  32  | 41.6 |  96  | 124.8 | 
|  8xlarge  |  64  | 83.2 |  192  | 249.6 | 
|  12xlarge  |  96  | 124.8 |  288  | 374.4 | 
|  16xlarge  |  128  | 166.4 |  384  | 499.2 | 
|  24xlarge  |  192  | 249.6 |  576  | 748.8 | 
|  32xlarge  |  256  | 332.8 |  768  | 998.4 | 

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

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


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

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


**注意**  
建议仅将 T 数据库实例类用于开发和测试服务器，或其他非生产服务器。有关 T 实例类的更多详细信息，请参阅[数据库实例类类型](Concepts.DBInstanceClass.Types.md)。

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

以下示例说明了同时使用 Aurora Standard 和 Aurora I/O-Optimized 数据库集群配置的 Aurora 数据库集群的预留数据库实例的定价。

#### 使用 Aurora Standard 的示例
<a name="ri-example-std"></a>

预留数据库实例的价格并没有为与存储、备份和 I/O 相关的成本提供折扣。以下示例说明预留数据库实例的每月总成本：
+ 美国东部（弗吉尼亚州北部）的 Aurora MySQL 预留单可用区 db.r5.large 数据库实例类，每小时成本为 0.19 美元或每月 138.70 美元
+ Aurora 存储，每月每 GiB 成本为 0.10 美元（假设本示例为每月 45.60 美元）
+ Aurora I/O，每 100 万个请求的成本为 0.20 美元（假设本示例为每月 20 美元）
+ Aurora 备份，每月每 GiB 为 0.021 美元（假设本示例为每月 30 美元）

将预留数据库实例的所有这些选项相加（138.70 \$1 45.60 \$1 20 \$1 30 美元），得出每月总成本为 234.30 美元。

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

#### 示例：使用具有两个读取器实例的 Aurora Standard 数据库集群
<a name="ri-example-3db"></a>

要为 Aurora 数据库集群使用预留实例，只需为集群中的每个数据库实例购买一个预留实例。

扩展第一个示例，您有一个 Aurora MySQL 数据库集群，其中包含一个写入器数据库实例和两个 Aurora 副本，集群中共有三个数据库实例。两个 Aurora 副本不会产生额外的存储或备份费用。如果您购买三个 db.r5.large Aurora MySQL 预留数据库实例，则您的成本将为 234.30 美元（对于写入器数据库实例）\$1 2 \$1（每个 Aurora 副本 138.70 美元 \$1 20 美元的 I/O），每月总额为 551.70 美元。

 具有一个写入器数据库实例和两个 Aurora 副本的 Aurora MySQL 数据库集群的相应按需成本为 313.10 美元 \$1 2 \$1（217.50 美元 \$1 每个实例 20 美元输入/输出），每月总计为 788.10 美元。使用预留数据库实例，每月可节省 236.40 美元。

#### 使用 Aurora I/O-Optimized 的示例
<a name="ri-example-io"></a>

您可以将现有的 Aurora Standard 预留数据库实例重新用于 Aurora I/O-Optimized。要充分利用 Aurora I/O-Optimized 预留实例折扣的好处，您可以额外购买 30% 的与当前预留实例类似的预留实例。

下表显示了使用 Aurora I/O-Optimized 时如何估算额外预留实例数的示例。如果所需的预留实例数是小数，则可以利用预留实例提供的大小灵活性来获得整数。在这些示例中，“当前”是指您现在拥有的 Aurora Standard 预留实例。额外预留实例数是在使用 Aurora I/O-Optimized 时必须购买以保持当前预留实例折扣的 Aurora Standard 预留实例的数量。


| 数据库实例类 | 当前 Aurora Standard 预留实例数 | Aurora I/O-Optimized 所需的预留实例数 | 需要的额外预留实例数 | 利用大小灵活性，需要的额外预留实例数 | 
| --- | --- | --- | --- | --- | 
| db.r6g.large | 10 | 10 \$1 1.3 = 13 | 3 \$1 db.r6g.large | 3 \$1 db.r6g.large | 
| db.r6g.4xlarge | 20 | 20 \$1 1.3 = 26 | 6 \$1 db.r6g.4xlarge | 6 \$1 db.r6g.4xlarge | 
| db.r6g.12xlarge | 5 | 5 \$1 1.3 = 6.5 | 1.5 \$1 db.r6g.12xlarge |  db.r6g.12xlarge、r6g.4xlarge 和 r6g.2xlarge 各一个 （0.5 \$1 db.r6g.12xlarge = 1 \$1 db.r6g.4xlarge \$1 1 \$1 db.r6g.2xlarge）  | 
| db.r6i.24xlarge | 15 | 15 \$1 1.3 = 19.5 | 4.5 \$1 db.r6i.24xlarge |  4 \$1 db.r6i.24xlarge \$1 1 \$1 db.r6i.12xlarge （0.5 \$1 db.r6i.24xlarge = 1 \$1 db.r6i.12xlarge）  | 

#### 示例：使用具有两个读取器实例的 Aurora I/O-Optimized 数据库集群
<a name="ri-example-3db-io"></a>

您有一个 Aurora MySQL 数据库集群，其中包含一个写入器数据库实例和两个 Aurora 副本，集群中共有三个数据库实例。它们使用 Aurora I/O-Optimized 数据库集群配置。要为此集群使用预留数据库实例，您需要购买四个属于相同数据库实例类的预留数据库实例。使用 Aurora I/O-Optimized 的三个数据库实例每小时消耗 3.9 个标准化单位，相比之下，使用 Aurora Standard 的三个数据库实例每小时消耗 3 个标准化单位。但是，您可以节省每个数据库实例的每月 I/O 成本。

**注意**  
这些示例中的价格是示例价格，可能与实际价格不符。有关 Aurora 定价信息，请参阅 [Amazon Aurora 定价](https://aws.amazon.com/rds/aurora/pricing)。

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

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

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

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