暂时停止 Amazon RDS 数据库实例 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

暂时停止 Amazon RDS 数据库实例

假设您间歇性地使用数据库实例进行临时测试或日常开发活动。如果是这样,您可以暂时停止 Amazon RDS 数据库实例以节省资金。当数据库实例停止时,您将为预调配的存储付费(包括预调配 IOPS)。您还将为备份存储付费,包括指定保留时段内的手动快照和自动备份。但是,您无需为数据库实例小时数付费。有关更多信息,请参阅账单常见问题

注意

在某些情况下,停止数据库实例需要花大量时间。如果您想要停止数据库实例并立即将其重新启动,则您可以重启数据库实例。有关重启数据库实例的信息,请参阅重启中的数据库实例

支持的数据库引擎、实例类和区域

您可以停止和启动运行以下数据库引擎的 Amazon RDS 数据库实例:

  • Db2

  • MariaDB

  • Microsoft SQL Server,包括 RDS Custom for SQL Server。

  • MySQL

  • Oracle

  • PostgreSQL

所有数据库实例类和所有 Amazon 区域都支持停止并启动数据库实例。

停止多可用区部署中的数据库实例

您可以停止和启动数据库实例,无论它配置为单可用区还是多可用区。对于多可用区,数据库引擎必须支持多可用区部署。有关更多信息,请参阅多可用区数据库集群

对于多可用区部署,停止数据库实例可能需要较长的时间。如果在上次失效转移之后您至少有一个备份,则可以为停止数据库实例的操作加速。为此,在停止数据库实例之前,请执行带有失效转移操作的重启。

停止数据库实例的工作原理

停止操作分为以下几个阶段:

  1. 数据库实例启动正常关闭过程。

    数据库实例的状态更改为 stopping

  2. 实例停止运行,最多连续 7 天。

    数据库实例的状态更改为 stopped。考虑停止状态的以下特性:

    • 所有存储卷仍附加到数据库实例,而且其数据将会保留。RDS 删除存储在数据库实例的 RAM 中的所有数据。

    • RDS 将删除待处理操作,但针对数据库实例的选项组或数据库参数组的待处理操作除外。

    • 如果您的数据库实例在停止连续七天后没有手动启动,RDS 会自动为您启动数据库实例。这样,它就可以及时获得任何所需的维护更新。要了解如何按计划停止和启动您的实例,请参阅如何使用 Step Functions 将 Amazon RDS 实例停止 7 天以上?

有时,RDS for PostgreSQL 数据库实例不会完全关闭。如果发生这种情况,您将看到实例在稍后重启时会经历恢复过程。这是数据库引擎的预期行为,旨在保护数据库完整性。一些基于内存的统计数据和计数器不会保留历史记录,重启后会重新初始化,以便捕获接下来的操作工作负载。

停止数据库实例的好处

停止并启动数据库实例的过程快于创建数据库快照然后还原快照的过程。

当您停止数据库实例时,它会保留以下内容:

  • 实例 ID

  • 域名服务器(DNS)端点

  • 参数组

  • 安全组

  • 选项组

  • Amazon S3 事务日志(时间点还原所必需)

当您重启数据库实例时,它的配置与您停止它时相同。

停止数据库实例的限制

以下是停止并启动数据库实例的一些限制:

  • 不支持停止多可用区部署中的 RDS for SQL Server 数据库实例。

  • 您无法停止具有只读副本或作为只读副本的数据库实例。

  • 您无法修改已停止的数据库实例。

  • 您无法删除与停止的数据库实例关联的选项组。

  • 您无法删除与已停止的数据库实例关联的数据库参数组。

其他限制适用于 RDS Custom for SQL Server。有关更多信息,请参阅启动和停止 RDS Custom for SQL Server 数据库实例

选项和参数组注意事项

如果存在与一个选项组关联的数据库实例,则无法从该选项组中删除持久选项 (包括永久选项)。该功能也适用于状态为 stoppingstoppedstarting 的任何数据库实例。

您可以更改与已停止的数据库实例关联的选项组或数据库参数组。但是,直到下次启动数据库实例时,才会发生更改。如果您选择立即应用更改,则更改将在您启动数据库实例时生效。否则,更改将在下个维护时段内您启动数据库实例之后才会生效。

公有 IP 地址

当您停止一个数据库实例时,它将保留其 DNS 终端节点。如果您停止具有公有 IP 地址的数据库实例,请 Amazon RDS 公开其公有 IP 地址。重新启动数据库实例时,它具有不同的公有 IP 地址。

注意

您应始终使用 DNS 终端节点而不是 IP 地址来连接到数据库实例。

暂时停止数据库实例

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 停止数据库。

停止数据库实例
  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases (数据库),然后选择要停止的数据库实例。

  3. 对于 Actions(操作),选择 Stop temporarily(临时停止)。

  4. Stop DB instance temporarily(临时停止数据库实例)窗口中,选择确认数据库实例将在 7 天后自动重启。

  5. (可选)选择 Save the DB instance in a snapshot(在快照中保存数据库实例),然后为 Snapshot name(快照名称)输入快照名称。如果要在停止数据库实例之前创建其快照,请选择此选项。

  6. 选择 Stop temporarily(临时停止)以停止数据库实例,或选择 Cancel(取消)以取消该操作。

要使用 Amazon CLI 停止数据库实例,请使用以下选项调用 stop-db-instance 命令:

  • --db-instance-identifier – 数据库实例的名称。

aws rds stop-db-instance --db-instance-identifier mydbinstance

要使用 Amazon RDS API 停止数据库实例,请使用以下参数调用 StopDBInstance 操作:

  • DBInstanceIdentifier – 数据库实例的名称。