Amazon RDS 的预留数据库实例
通过使用预留数据库实例,您可以将数据库实例预留一年或三年。相比按需数据库实例定价,数据库预留实例可以提供大幅折扣。预留数据库实例不是物理实例,而是对账户中使用的特定按需数据库实例所应用的账单折扣。用于预留数据库实例的折扣与实例类型和 Amazon Web Services 区域相关联。
使用预留数据库实例的一般过程如下:首先,获取有关可用预留数据库实例产品的信息,然后购买预留数据库实例产品,最后获取有关您的现有预留数据库实例的信息。
预留数据库实例概述
如果购买了 Amazon RDS 中的预留数据库实例,将承诺在预留数据库实例的持续时间内为您提供特定数据库实例类型的折扣费率。要使用 Amazon RDS 预留数据库实例,应创建新的数据库实例,就像您为按需实例创建数据库实例一样。
您创建的新数据库实例必须与预留的数据库实例具有相同的规范,具体为以下方面:
-
Amazon Web Services 区域
-
数据库引擎
-
数据库实例类型
-
版本(适用于 RDS for Oracle 和 RDS for SQL Server)
-
许可类型(附带许可或自带许可)
-
部署模型(单可用区或多可用区)
如果新数据库实例的规格与您的账户的现有预留数据库实例匹配,则会按照为预留数据库实例提供的折扣费率向您收费。否则,将以按需费率对数据库实例进行收费。
您可以修改用作预留数据库实例的数据库实例。如果修改在预留数据库实例的规范范围内,则部分或全部折扣仍适用于修改后的数据库实例。如果修改超出规范范围(例如更改实例类),则不再适用折扣。有关更多信息,请参阅 大小灵活的预留数据库实例。
有关预留数据库实例的更多信息(包括定价),请参阅 Amazon RDS 预留实例
产品类型
预留数据库实例有三种类型(无预付费用、预付部分费用和预付全部费用),使您可以基于预期使用情况优化 Amazon RDS 成本。
- 无费用预付
-
该选项无需预付款即可访问预留数据库实例。无论使用情况如何,您的“无费用预付”预留数据库实例都将按照期限内的小时数,采用打折小时费率进行计费,无需任何预付款。该选项仅以一年期预留形式提供。
- 预付部分费用
-
该选项需要预付部分预留数据库实例费用。期限内剩余的小时数无论使用情况如何,都将按照打折小时费率计费。该选项替换了以前的高使用率选项。
- 预付全部费用
-
所有款项于期限开始时支付,无论使用了多少小时数,剩余期限不会再产生其他任何费用。
如果使用整合账单,则将组织中的所有账户视为一个账户。这意味着,组织中的所有账户都可以享受任何其他账户购买的预留数据库实例的小时成本优惠。有关整合账单的更多信息,请参阅 Amazon 账单和成本管理用户指南中的 Amazon RDS 预留数据库实例。
大小灵活的预留数据库实例
在购买预留数据库实例时,您指定的一项内容是实例类,例如,db.r5.large。有关数据库实例类的更多信息,请参阅 数据库实例类。
如果您具有数据库实例,则需要将其扩展为更大的容量,预留数据库实例将自动应用于扩展的数据库实例。即,在所有数据库实例类大小中自动应用预留数据库实例。大小灵活的预留数据库实例可供具有相同 Amazon Web Services 区域和数据库引擎的数据库实例使用。大小灵活的预留数据库实例只能在其实例类类型中扩展。例如,db.r5.large 的预留数据库实例可以应用于 db.r5.xlarge,但不能应用于 db.r6g.large,因为 db.r5 和 db.r6g 属于不同类型的实例类。
预留数据库实例优惠适用于多可用区和单可用区配置。灵活性意味着您可以在相同数据库实例类型的配置之间自由移动。例如,您可以从在一个大型数据库实例(每小时四个标准化单位)上运行的单可用区部署,移动到在两个小型数据库实例(2*2 = 每小时 4 个标准化单位)上运行的多可用区部署。
大小灵活的预留数据库实例适用于以下 Amazon RDS 数据库引擎:
MariaDB
MySQL
Oracle、自带许可
PostgreSQL
有关在 Aurora 中使用大小灵活的预留实例的详细信息,请参阅 Aurora 的预留数据库实例。
您可以使用每小时标准化单位数来比较不同预留数据库实例大小的使用情况。例如,两个 db.r3.large 数据库实例的一个单位使用量相当于一个 db.r3.small 上的 8 个每小时标准化单位。下表显示了每个数据库实例大小的每小时标准化单位数。
实例大小 | 单可用区每小时标准化单位(使用一个数据库实例进行部署) | 多可用区数据库实例每小时标准化单位(使用一个数据库实例和一个备用数据库实例进行部署) | 多可用区数据库集群每小时标准化单位(使用一个数据库实例和两个备用数据库实例进行部署) |
---|---|---|---|
微型 |
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
数据库实例。在这种情况下,账单优惠将完全应用于两个实例。

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

预留数据库实例计费示例
预留数据库实例的价格并没有为与存储、备份和 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 + 45.60 + 19 美元),得出每月总成本为 154.60 美元。
如果您选择使用按需数据库实例而不是预留数据库实例,则美国东部(弗吉尼亚州北部)的 RDS for MySQL 单可用区 db.r5.large 数据库实例类的成本为每小时 0.1386 美元或每月 101.18 美元。因此,对于按需数据库实例,将所有这些选项相加(101.18 + 45.60 + 19 美元),得出每月总成本为 165.78 美元。使用预留数据库实例可每月至少为您节省 11 美元。
注意
该示例中的价格是示例价格,可能与实际价格不符。有关 Amazon RDS 定价信息,请参阅 Amazon RDS 定价
多可用区数据库集群的预留数据库实例
要为多可用区数据库集群购买等效的预留数据库实例,可以执行以下操作之一:
-
预留三个与集群中的实例具有相同大小的单可用区数据库实例。
-
预留一个多可用区数据库实例和一个单可用区数据库实例,这些实例与集群中的数据库实例大小相同。
例如,假设您具有一个集群,它由三个 db.m6gd.large 数据库实例组成。在这种情况下,您可以购买三个 db.m6gd.large 单可用区预留数据库实例,也可以购买一个 db.m6gd.large 多可用区预留数据库实例和一个 db.m6gd.large 单可用区预留数据库实例。这两个选项中的任何一个都为多可用区数据库集群预留了最大预留实例折扣。
或者,您可以使用大小灵活的数据库实例并购买更大的数据库实例,以涵盖一个或多个集群中的较小数据库实例。例如,如果您有两个集群(总共具有六个 db.m6gd.large 数据库实例),则可以购买三个 db.m6gd.xl 单可用区预留数据库实例。这样做会在两个集群中预留所有六个数据库实例。有关更多信息,请参阅大小灵活的预留数据库实例。
您可以预留与集群中的数据库实例大小相同的数据库实例,但预留的数据库实例数少于集群中数据库实例的总数。但是,如果您这样做,则只会部分预留集群。例如,假设您的一个集群包含三个 db.m6gd.large 数据库实例,并购买了一个 db.m6gd.large 多可用区预留数据库实例。在这种情况下,仅部分预留此集群,因为预留的数据库实例仅涵盖集群的三个实例中的两个。剩下的数据库实例以按需 db.m6gd.large 每小时费率收费。
有关多可用区数据库集群的更多信息,请参阅 多可用区数据库集群部署。
删除预留数据库实例
预留数据库实例具有一年或三年的使用期限。您无法取消预留数据库实例。不过,您可以删除预留数据库实例折扣涵盖的数据库实例。删除预留数据库实例折扣涵盖的数据库实例的过程与删除任何其他数据库实例相同。
无论您是否使用资源,都需要支付前期费用。
如果删除了预留数据库实例折扣涵盖的数据库实例,您可以启动另一个具有兼容规格的数据库实例。在这种情况下,您可以在预留期限(一年或三年)内继续享受折扣费率。
使用预留数据库实例
您可以使用 Amazon Web Services Management Console、Amazon CLI 和 RDS API 处理预留数据库实例。
您可以使用 Amazon Web Services Management Console处理预留数据库实例,如以下过程中所示。
获取有关可用预留数据库实例产品的定价和信息
-
登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择预留实例。
-
选择购买预留的数据库实例。
-
对于产品描述,请选择数据库引擎和许可类型。
-
对于数据库实例类,请选择数据库实例类。
-
对于部署选项,选择是需要单可用区还是多可用区数据库实例部署。
注意
要为多可用区数据库集群部署购买等效的预留数据库实例,请购买三个单可用区预留数据库实例,或者购买一个多可用区和一个单可用区预留数据库实例。有关更多信息,请参阅多可用区数据库集群的预留数据库实例。
-
对于期限,选择要预留数据库实例的时间长度。
-
对于产品类型,请选择产品类型。
选择产品类型后,您可以看到定价信息。
重要
可以选择取消以避免购买预留数据库实例和产生任何费用。
在获得有关可用预留数据库实例产品的信息后,您可以使用该信息来购买以下过程中所示的产品。
购买预留数据库实例
-
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择预留实例。
-
选择 Purchase reserved DB instance(购买预留数据库实例)。
-
对于产品描述,请选择数据库引擎和许可类型。
-
对于数据库实例类,请选择数据库实例类。
-
对于多可用区部署,选择是需要单可用区还是多可用区数据库实例部署。
注意
要为多可用区数据库集群部署购买等效的预留数据库实例,请购买三个单可用区预留数据库实例,或者购买一个多可用区和一个单可用区预留数据库实例。有关更多信息,请参阅多可用区数据库集群的预留数据库实例。
-
对于期限,选择希望预留数据库实例的时间长度。
-
对于产品类型,请选择产品类型。
选择产品类型后,您可以看到定价信息。
-
(可选)您可以将自己的标识符分配给购买的预留数据库实例,以帮助您跟踪这些实例。对于预留 ID,请为您的预留数据库实例键入一个标识符。
-
选择 Submit(提交)。
您的预留数据库实例已购买,然后显示在 Reserved instances(预留实例)列表中。
在购买了预留数据库实例后,您可以按以下过程中所示来获取有关预留数据库实例的信息。
获取有关 Amazon 账户的预留数据库实例的信息
-
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择预留实例。
您的账户的预留数据库实例随即出现。要查看有关特定预留数据库实例的详细信息,请在列表中选择该实例。然后,您可以在控制台底部的详细信息窗格中查看有关该实例的详细信息。
您可以使用 Amazon CLI 处理预留数据库实例,如以下示例中所示。
例 获取可用预留数据库实例服务
要获取有关可用预留数据库实例产品的信息,请调用 Amazon CLI 命令 describe-reserved-db-instances-offerings
。
aws rds describe-reserved-db-instances-offerings
此调用返回类似于下述信息的输出:
OFFERING OfferingId Class Multi-AZ Duration Fixed Price Usage Price Description Offering Type
OFFERING 438012d3-4052-4cc7-b2e3-8d3372e0e706 db.r3.large y 1y 1820.00 USD 0.368 USD mysql Partial Upfront
OFFERING 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f db.r3.small n 1y 227.50 USD 0.046 USD mysql Partial Upfront
OFFERING 123456cd-ab1c-47a0-bfa6-12345667232f db.r3.small n 1y 162.00 USD 0.00 USD mysql All Upfront
Recurring Charges: Amount Currency Frequency
Recurring Charges: 0.123 USD Hourly
OFFERING 123456cd-ab1c-37a0-bfa6-12345667232d db.r3.large y 1y 700.00 USD 0.00 USD mysql All Upfront
Recurring Charges: Amount Currency Frequency
Recurring Charges: 1.25 USD Hourly
OFFERING 123456cd-ab1c-17d0-bfa6-12345667234e db.r3.xlarge n 1y 4242.00 USD 2.42 USD mysql No Upfront
在获得有关可用预留数据库实例产品的信息后,您可以使用该信息来购买产品。
要购买预留数据库实例,请将 Amazon CLI 命令 purchase-reserved-db-instances-offering
与以下参数结合使用:
-
--reserved-db-instances-offering-id
– 您要购买的产品的 ID。请参阅上述示例以获取产品 ID。 -
--reserved-db-instance-id
– 您可以将自己的标识符分配给购买的预留数据库实例,以帮助您跟踪这些实例。
例 购买预留数据库实例
以下示例将购买 ID 为 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f
的预留数据库实例产品,并分配标识符 MyReservation
。
对于 Linux、macOS 或 Unix:
aws rds purchase-reserved-db-instances-offering \ --reserved-db-instances-offering-id
649fd0c8-cf6d-47a0-bfa6-060f8e75e95f
\ --reserved-db-instance-idMyReservation
对于 Windows:
aws rds purchase-reserved-db-instances-offering ^ --reserved-db-instances-offering-id
649fd0c8-cf6d-47a0-bfa6-060f8e75e95f
^ --reserved-db-instance-idMyReservation
该命令返回的输出类似于下方内容:
RESERVATION ReservationId Class Multi-AZ Start Time Duration Fixed Price Usage Price Count State Description Offering Type
RESERVATION MyReservation db.r3.small y 2011-12-19T00:30:23.247Z 1y 455.00 USD 0.092 USD 1 payment-pending mysql Partial Upfront
在购买了预留数据库实例后,您可以获取有关预留数据库实例的信息。
要获取有关您的 Amazon 账户的预留数据库实例的信息,请按照以下示例所示调用 Amazon CLI 命令 describe-reserved-db-instances
。
例 获取预留数据库实例
aws rds describe-reserved-db-instances
该命令返回的输出类似于下方内容:
RESERVATION ReservationId Class Multi-AZ Start Time Duration Fixed Price Usage Price Count State Description Offering Type
RESERVATION MyReservation db.r3.small y 2011-12-09T23:37:44.720Z 1y 455.00 USD 0.092 USD 1 retired mysql Partial Upfront
您可以使用 RDS API 处理预留数据库实例。
-
要获取有关可用预留数据库实例产品的信息,请调用 Amazon RDS API 操作
DescribeReservedDBInstancesOfferings
。 -
在获得有关可用预留数据库实例产品的信息后,您可以使用该信息来购买产品。调用带以下参数的
PurchaseReservedDBInstancesOffering
RDS API 操作:-
--reserved-db-instances-offering-id
– 您要购买的产品的 ID。 -
--reserved-db-instance-id
– 您可以将自己的标识符分配给购买的预留数据库实例,以帮助您跟踪这些实例。
-
-
在购买了预留数据库实例后,您可以获取有关预留数据库实例的信息。调用
DescribeReservedDBInstances
RDS API 操作。
查看预留数据库实例的账单
您可以在 Amazon Web Services Management Console 中账单控制面板上查看预留数据库实例的账单。
要查看预留数据库实例账单
-
登录到 Amazon Web Services Management Console。
-
从右上角的 account menu(账户菜单)中,选择 Billing Dashboard(账单控制面板)。
-
选择控制面板右上角的 Bill Details(账单详细信息)。
-
在 Amazon Service Charges( 服务费用)项下,展开 Relational Database Service(关系数据库服务)。
-
展开您的预留数据库实例所在的 Amazon Web Services 区域,例如 US West (Oregon) [美国西部(俄勒冈州)]。
您的预留数据库实例及其当月的每小时费用显示在 Amazon Relational Database Service for
Database Engine
Reserved Instances(适用于数据库引擎预留实例的 Amazon Relational Database Service)中。此示例中的预留数据库实例是预付全部费用购买的,因此不收取小时费用。
-
选择 Reserved Instances(预留实例)标题旁的 Cost Explorer(条形图)图标。
Cost Explorer 将显示 Monthly EC2 running hours costs and usage(每月 EC2 运行时间成本和使用情况)图表。
-
清除图表右侧的 Usage Type Group(使用类型组)筛选条件。
-
选择要检查使用成本的时间段和时间单位。
以下示例按月显示了今年迄今按需和预留数据库实例的使用成本。
2021 年 1 月至 6 月的预留数据库实例成本是预付部分费用实例的月度费用,而 2021 年 8 月的费用是预付全部费用实例的一次性费用。
预付部分费用实例的预留实例折扣已于 2021 年 6 月到期,但该数据库实例未被删除。到期日期之后,只需以按需费率收费。