创建只读副本 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建只读副本

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 从现有数据库实例创建只读副本。可通过指定 SourceDBInstanceIdentifier(要从其进行复制的源数据库实例的数据库实例标识符)创建只读副本。

当您创建只读副本时,Amazon RDS 会制作源数据库实例的数据库快照,然后开始复制。数据库快照操作开始时,源数据库实例会经历非常短暂的 I/O 暂停。这种 I/O 暂停通常持续大约一秒时间。如果源数据库实例为多可用区部署,则可避免 I/O 暂停,因为在这种情况下,会从辅助数据库实例制作数据库快照。

长时间运行的活动事务会减慢创建只读副本的过程。我们建议您等待长时间运行的事务完成,然后再创建只读副本。如果从同一源数据库实例同时创建多个并行只读副本,则 Amazon RDS 仅在开始第一个创建操作时创建一张快照。

创建只读副本时,有几件事情需要考虑。首先,您必须先通过将备份保留期设置为一个非零值来在源数据库实例上启用自动备份。此要求也适用于作为一个只读副本的源数据库实例的另一个只读副本。要对 RDS for MariaDB 只读副本启用自动备份,请先创建只读副本,然后修改只读副本以启用自动备份。

注意

在 Amazon Web Services 区域内,我们强烈建议您在与源数据库实例相同的基于 Amazon VPC 的虚拟私有云(VPC)中创建所有只读副本。如果您在与源数据库实例不同的 VPC 中创建只读副本,则副本和 RDS 系统之间的无类域间路由 (CIDR) 范围可能会重叠。CIDR 重叠会使副本不稳定,从而对连接到副本的应用程序产生负面影响。如果您在创建只读副本时收到错误,请选择其他目标数据库子网组。有关更多信息,请参阅 在 VPC 中使用数据库实例

无法直接使用控制台或 Amazon CLI 在其他 Amazon Web Services 账户中创建只读副本。

从源数据库实例创建只读副本
  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases (数据库)

  3. 选择要作为只读副本源的数据库实例。

  4. 对于 Actions (操作),选择 Create read replica (创建只读副本)

  5. 对于数据库实例标识符,输入该只读副本的名称。

  6. 选择您的实例配置。我们建议您为只读副本使用与源数据库实例相同或更大的数据库实例类和存储类型。

  7. 对于 Amazon Web Services 区域,指定只读副本的目标区域。

  8. 对于存储,指定分配的存储大小以及是否要使用存储自动扩缩。

    如果您的源数据库实例未使用最新的存储配置,则可以使用升级存储文件系统配置选项。您可以启用此设置将只读副本的存储文件系统升级到首选配置。有关更多信息,请参阅 升级数据库实例的存储文件系统

  9. 对于可用性,选择是否在另一个可用区中创建副本的备用来支持副本的故障转移。

    注意

    创建您的只读副本作为多可用区数据库实例与源数据库是否为多可用区数据库实例无关。

  10. 指定其他数据库实例设置。有关每项可用设置的信息,请参阅数据库实例的设置

  11. 要创建加密的只读副本,请展开其他配置并指定以下设置:

    1. 选择 Enable encryption(启用加密)

    2. 对于 Amazon KMS key,选择 KMS 密钥的 Amazon KMS key 标识符。

    注意

    源数据库实例必须加密。要了解关于加密源数据库实例的更多信息,请参阅 加密 Amazon RDS 资源

  12. 选择 Create read replica (创建只读副本)

创建只读副本后,您可以在 RDS 控制台的数据库页面上看到它。它在角色列中显示副本

要从源数据库实例创建只读副本,请使用 Amazon CLI 命令 create-db-instance-read-replica。此示例还设置了分配存储大小、启用了存储自动扩展,并将文件系统升级到首选配置。

您可以指定其他设置。有关每项设置的信息,请参阅 数据库实例的设置

对于 Linux、macOS 或 Unix:

aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --source-db-instance-identifier mydbinstance \ --allocated-storage 100 \ --max-allocated-storage 1000 \ --upgrade-storage-config

对于 Windows:

aws rds create-db-instance-read-replica ^ --db-instance-identifier myreadreplica ^ --source-db-instance-identifier mydbinstance ^ --allocated-storage 100 ^ --max-allocated-storage 1000 ^ --upgrade-storage-config

要从源 MySQL、MariaDB、Oracle、PostgreSQL 或 SQL Server 数据库实例创建只读副本,请调用具有以下必要参数的Amazon RDS API CreateDBInstanceReadReplica操作:

  • DBInstanceIdentifier

  • SourceDBInstanceIdentifier