

# 示例：使用 Aurora PostgreSQL 和 AWS Database Migration Service 的逻辑复制
<a name="AuroraPostgreSQL.Replication.Logical.DMS-Example"></a>

您可以使用 AWS Database Migration Service (AWS DMS) 复制数据库或数据库的一部分。使用 AWS DMS 将数据从 Aurora PostgreSQL 数据库迁移到另一个开源或商用数据库。有关 AWS DMS 的更多信息，请参阅 [AWS Database Migration Service 用户指南](https://docs.aws.amazon.com/dms/latest/userguide/)。

以下示例演示如何从作为发布者的 Aurora PostgreSQL 数据库设置逻辑复制，然后使用 AWS DMS 进行迁移。此示例使用在 [示例：将逻辑复制与 Aurora PostgreSQL 数据库集群结合使用](AuroraPostgreSQL.Replication.Logical.PostgreSQL-Example.md) 中创建的相同发布者和订阅者。

要设置 AWS DMS 的逻辑复制，需要有您在 Amazon RDS 中的发布者和订阅者的详细信息。特别是，您需要有发布者的写入器数据库实例和订阅者的数据库实例的详细信息。

请获取发布者的写入器数据库实例的以下信息：
+ Virtual Private Cloud (VPC) 标识符
+ 子网组
+ 可用区 (AZ)
+ VPC 安全组
+ 数据库实例 ID

请获取发布者的数据库实例的以下信息：
+ 数据库实例 ID
+ 源引擎

**使用 AWS DMS 进行 Aurora PostgreSQL 的逻辑复制**

1. 准备发布者数据库来与 AWS DMS 一起工作。

   要实现此目的，PostgreSQL 10.x 及更高版本的数据库需要您对发布者数据库应用 AWS DMS 封装函数。有关此步骤以及后续步骤的详细信息，请参阅《AWS Database Migration Service 用户指南》**的[将 PostgreSQL 版本 10.x 及更高版本用作 AWS DMS 的源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.v10)中的说明。

1. 通过以下网址登录 AWS 管理控制台并打开 AWS DMS 控制台：[https://console.aws.amazon.com/dms/v2](https://console.aws.amazon.com/dms/v2)。在右上方，选择发布者和订阅者所位于的相同 AWS 区域。

1. 创建 AWS DMS 复制实例。

   选择与发布者的写入器数据库实例的值相同的值。包括以下设置：
   + 对于 **VPC**，选择与写入器数据库实例相同的 VPC。
   + 对于 **Replication Subnet Group**（复制子网组），选择与写入器数据库实例具有相同值的子网组。如有必要，请创建一个新的子网组。
   + 对于 **Availability zone (可用区)**，选择与写入器数据库实例相同的区域。
   + 对于 **VPC Security Group (VPC 安全组)**，选择与写入器数据库实例相同的组。

1. 为源创建 AWS DMS 终端节点。

   使用以下设置将发布者指定为源终端节点：
   + 对于 **Endpoint type (终端节点类型)**，选择 **Source endpoint (源终端节点)**。
   + 选择 **Select RDS DB Instance (选择 RDS 数据库实例)**。
   + 对于 **RDS Instance (RDS 实例)**，选择发布者的写入器数据库实例的数据库标识符。
   + 对于 **Source engine (源引擎)**，选择 **postgres**。

1. 为目标创建 AWS DMS 终端节点。

   使用以下设置将订阅者指定为目标终端节点：
   + 对于 **Endpoint type (终端节点类型)**，选择 **Target endpoint (目标终端节点)**。
   + 选择 **Select RDS DB Instance (选择 RDS 数据库实例)**。
   + 对于 **RDS Instance (RDS 实例)**，选择订阅者数据库实例的数据库标识符。
   + 为 **Source engine (源引擎)** 选择值。例如，如果订阅者是 RDS PostgreSQL 数据库，则选择 **postgres**。如果订阅者是 Aurora PostgreSQL 数据库，请选择 **aurora-postgresql**。

1. 创建 AWS DMS 数据库迁移任务。

   您使用数据库迁移任务指定要迁移的数据库表，使用目标架构映射数据并在目标数据库上创建新表。至少为 **Task configuration (任务配置)** 使用以下设置：
   + 对于 **Replication instance (复制实例)**，选择您在之前的步骤中创建的复制实例。
   + 对于 **Source database endpoint (源数据库终端节点)**，选择您在之前的步骤中创建的发布者源。
   + 对于 **Target database endpoint (目标数据库终端节点)**，选择您在之前的步骤中创建的订阅者目标。

   其余任务详细信息取决于您的迁移项目。有关为 DMS 任务指定所有详细信息的更多信息，请参阅 *AWS Database Migration Service 用户指南*中的[使用 AWS DMS 任务](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html)。

在 AWS DMS 创建任务后，它开始将数据从发布者迁移到订阅者。