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

暂时停止 Amazon RDS 数据库实例

您可以间歇性地停止数据库实例以进行临时测试或执行日常开发活动。最常见的使用案例是成本优化。

注意

在某些情况下,停止数据库实例需要花大量时间。要停止数据库实例并快速重启它,请重新启动该数据库实例。有关更多信息,请参阅重启中的数据库实例

停止数据库实例的使用案例

与创建数据库快照、删除数据库实例、然后在需要访问实例时恢复快照相比,停止和启动数据库实例要更加快速。停止实例的常见使用案例包括:

  • 成本优化 – 对于非生产数据库,您可以暂时停止 Amazon RDS 数据库实例以节省资金。实例停止后,您无需为所用数据库实例的小时数付费。

    重要

    当数据库实例停止后,您需要为预调配的存储(包括预调配 IOPS)付费。您还需要为备份存储付费,包括指定保留时段内的手动快照和自动备份。但是,您无需为所用数据库实例小时数付费。有关更多信息,请参阅账单常见问题

  • 日常开发 – 如果您出于开发目的维护数据库实例,则可以在需要时启动该实例,然后在不需要时将其关闭。

  • 测试 – 您可能需要一个临时数据库实例来测试备份和恢复程序、迁移、应用程序升级或相关活动。在这些使用案例中,您可以在不需要数据库实例时将其停止。

  • 培训 – 如果您在 RDS 中进行培训,则可能需要在培训期间启动数据库实例,然后再将其关闭。

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

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

  • Db2

  • MariaDB

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

  • MySQL

  • Oracle

  • PostgreSQL

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

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

您可以停止和启动多可用区部署中的数据库实例。请注意以下限制:

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

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

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

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

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

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

已停止数据库实例的特征

处于停止状态时,数据库实例具有以下特征:

  • 当您停止数据库实例时,它会保留以下行为:

    • 实例 ID

    • 域名服务器(DNS)端点

    • 参数组

    • 安全组

    • 选项组

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

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

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

    当数据库实例停止后,您需要为预调配的存储(包括预调配 IOPS)付费。您还需要为备份存储付费,包括指定保留时段内的手动快照和自动备份。

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

注意

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

自动重启已停止的数据库实例

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

停止数据库实例的限制

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

  • 不支持停止多可用区部署中的 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 – 数据库实例的名称。