# rds-sync

Part of **RDS**

# ApsaraDB RDS Data Synchronization and Integration Console Guide

## Operations Overview

| Operation | Console Navigation Path | Prerequisites | Description |
|------|-----------|---------|------|
| MySQL to MySQL Synchronization | DTS Console > Data Synchronization > Configure Task | Source and destination ApsaraDB RDS for MySQL instances created | Configure one-way or two-way synchronization between MySQL instances |
| Cross-account MySQL Synchronization | DTS Console > Data Synchronization Tasks > Create Task | RAM role created in source account for cross-account access | Synchronize data between MySQL instances in different Alibaba Cloud accounts |
| MySQL to AnalyticDB Synchronization | DTS Console > Data Synchronization | Destination AnalyticDB instance created with sufficient storage | Sync MySQL data to AnalyticDB for PostgreSQL or MySQL |
| MySQL to Kafka Synchronization | DTS Console > Data Synchronization > Create Synchronization Task | Kafka cluster (self-managed or ApsaraMQ) deployed and accessible | Stream MySQL changes to Kafka topics in Avro, Canal JSON, or Shareplex JSON format |
| MySQL to Analytics Services Sync | DTS Console > Data Synchronization Tasks > Create Synchronization Task | MaxCompute project or DataHub project created | Synchronize MySQL data to MaxCompute or DataHub for analytics |
| PostgreSQL to AnalyticDB Sync | DTS Console > Create Synchronization Job | RDS PostgreSQL wal_level set to logical; AnalyticDB instance created | Set up continuous replication from RDS PostgreSQL to AnalyticDB for PostgreSQL |
| Zero-ETL Pipeline Creation | RDS Console > Data Integration > Create Zero-ETL | Source and target instances in same region; wal_level=logical for PostgreSQL | Create free, managed data pipelines from RDS to AnalyticDB without ETL maintenance |
| Query External Data via FDW | RDS Console > Instances > SQL Console | Ganos_FDW or tds_fdw extension enabled; network connectivity established | Create foreign tables to query OSS or SQL Server data directly from RDS PostgreSQL |

## Operations Steps

### MySQL to MySQL Synchronization

**Navigation**: DTS Console > Data Synchronization > Configure Task

**Prerequisites**:
- You have created the source and destination ApsaraDB RDS for MySQL instances.
- The database engine of both the source and destination instances is MySQL.

1. Purchase a data synchronization instance
   - Element: **Purchase a data synchronization task** (link) — top of the page
   - Notes: Set both the source and destination databases to MySQL and the synchronization topology to one-way.

2. Log on to the DTS console
   - Element: **DTS console** (link) — top navigation

3. Click Data Synchronization in the left-side navigation pane
   - Element: **Data Synchronization** (menu) — left-side navigation pane

4. Select the region where the data synchronization instance resides
   - Element: **Region dropdown** (dropdown) — top of the Data Synchronization page

5. Find the purchased data synchronization instance and click Configure Task
   - Element: **Configure Task** (button) — in the task list

6. Configure the source and destination instances
   - Element: **Source database / Destination database sections** (text_input) — main content area
   - Notes: Includes selecting instance type (RDS), instance ID, database account, password, and connection method (No SSL or SSL).

7. Configure the synchronization policy and select objects to synchronize
   - Element: **Select synchronization objects** (text_input) — main content area
   - Notes: Use the move icon to transfer selected databases or tables from source to destination. Object name mapping can be used to rename objects in the destination.

8. Click Next in the lower-right corner
   - Element: **Next** (button) — lower-right corner

9. Configure advanced settings for synchronization initialization
   - Element: **Advanced Settings** (tab) — main content area
   - Notes: Schema Initialization and Full Data Initialization are enabled by default.

10. Click Precheck and Start in the lower-right corner
    - Element: **Precheck and Start** (button) — lower-right corner
    - Notes: DTS performs a precheck before starting the task. If it fails, you can view details and fix issues or ignore alerts and re-precheck.

11. Close the precheck dialog box after it passes
    - Element: **Check Pass** (label) — precheck dialog box
    - Notes: The task will start automatically after closing the dialog.

12. Wait for the task to complete initialization and enter the synchronizing state
    - Element: **Synchronizing status** (label) — Data Synchronization page

| Parameter | Type | Required | Options/Values | Description |
|-----------|------|----------|----------------|-------------|
| Task name | text_input | No | — | DTS automatically generates a task name. We recommend specifying a descriptive name for easy identification. The name does not have to be unique. |
| Instance type | dropdown | Yes | RDS | Select RDS for both source and destination instances. |
| Instance region | dropdown | Yes | — | The region of the instance selected when purchasing the DTS instance. This parameter cannot be changed. |
| Instance ID | dropdown | Yes | — | Select the ID of the source or destination ApsaraDB RDS for MySQL instance. |
| Database account | text_input | Yes | — | Enter the database account for the source or destination ApsaraDB RDS for MySQL instance. |
| Database password | text_input | Yes | — | Enter the password for the database account. |
| Connection method | radio | Yes | No SSL, SSL | Select No SSL or SSL based on your requirements. If SSL is selected, SSL encryption must be enabled on the RDS instance first. |

### Cross-account MySQL Synchronization

**Navigation**: Console > DTS > Data Synchronization Tasks > Create Task

**Prerequisites**:
- Source and destination instances must be ApsaraDB RDS for MySQL
- Destination instance storage space must exceed source instance used storage space
- RAM role created in source account for cross-account access

1. Purchase a data synchronization task using the destination account
   - Element: **purchase a data synchronization task** (link) — top-level console page
   - Notes: Set Source Instance and Destination Instance to 'ApsaraDB RDS for MySQL', and set Synchronization Topology to 'One-way'.

2. Log in to the DTS console with the destination account
   - Element: **DTS console** (link) — top navigation bar
   - Notes: If redirected to DMS console, click the icon in the lower-right corner and then click the return icon to go back to the previous version of DTS console.

3. Find the purchased task and click Configure Task
   - Element: **Configure Task** (button) — Actions column

4. Configure source instance details
   - Element: **Source Instance Details** (tab) — main configuration panel
   - Notes: Must select 'Other Alibaba Cloud Account's RDS Instance' before entering account ID and RAM role name.

5. Enter the source Alibaba Cloud Account ID
   - Element: **Alibaba Cloud Account ID** (text_input) — Source Instance Details section
   - Notes: Must be the ID of the source account where the RDS instance resides.

6. Enter the RAM role name created in the source account
   - Element: **Role name** (text_input) — Source Instance Details section
   - Notes: This role must be configured for cross-account access by DTS.

7. Select the source RDS instance ID
   - Element: **RDS instance ID** (dropdown) — Source Instance Details section

8. Configure destination instance details
   - Element: **Destination Instance Details** (tab) — main configuration panel

9. Select the destination RDS instance ID
   - Element: **Instance ID** (dropdown) — Destination Instance Details section

10. Enter database account and password for destination instance
    - Element: **Database account** (text_input) — Destination Instance Details section
    - Notes: Skip if destination runs MySQL 5.5 or 5.6.

11. Select connection method (No SSL or SSL)
    - Element: **Connection method** (radio) — Destination Instance Details section
    - Notes: SSL requires prior configuration on the RDS instance.

12. Add DTS server CIDR blocks to whitelist
    - Element: **Add the CIDR Blocks of DTS Servers to the Whitelist and Go to the Next Step** (button) — lower-right corner
    - Notes: DTS automatically handles whitelisting for Alibaba Cloud databases; manual setup required for self-managed or on-premises databases.

13. Configure synchronization policy and objects
    - Element: **Configure synchronization policy and objects** (tab) — main configuration panel

14. Configure advanced settings for initial synchronization
    - Element: **Configure advanced settings for initial synchronization** (tab) — main configuration panel
    - Notes: Default: both Initial Schema Synchronization and Initial Full Data Synchronization are selected.

| Parameter | Type | Required | Options/Values | Description |
|-----------|------|----------|----------------|-------------|
| Synchronization task name | text_input | No | — | DTS automatically generates a task name. We recommend changing it to something descriptive for easier identification. Task names do not need to be unique. |
| Instance type | dropdown | Yes | ApsaraDB RDS for MySQL | Select the instance type for both source and destination instances. |
| Instance region | dropdown | Yes | — | The region of the instance as selected during task purchase. Cannot be changed after configuration. |
| Alibaba Cloud Account ID | text_input | Yes | — | Enter the ID of the source Alibaba Cloud account. |
| Role name | text_input | Yes | — | Enter the name of the RAM role created in the source account for cross-account access. |
| RDS instance ID | dropdown | Yes | — | Select the ID of the source RDS instance. |
| Instance ID | dropdown | Yes | — | Select the ID of the destination RDS instance. |
| Database account | text_input | No | — | Enter the database account of the destination ApsaraDB RDS for MySQL instance. Skip if running MySQL 5.5 or 5.6. |
| Password | text_input | No | — | Enter the password for the database account. |
| Connection method | radio | Yes | No SSL, SSL | Select based on your security requirements. SSL requires prior configuration on the RDS instance. |

### MySQL to AnalyticDB Synchronization

**Navigation**: DTS Console > Data Synchronization

**Prerequisites**:
- All tables to be synchronized must have a primary key.
- A destination AnalyticDB for MySQL cluster must exist.
- The destination cluster must have sufficient storage space.

1. Purchase a data synchronization task
   - Element: **Purchase a data synchronization task** (button) — main content area
   - Notes: Set source instance to 'MySQL', destination instance to 'AnalyticDB MySQL', and task type to 'One-way'

2. Configure source instance information
   - Element: **Instance type** (dropdown) — Source instance information section
   - Notes: Select 'RDS' from the dropdown

3. Select the source RDS instance ID
   - Element: **Instance ID** (dropdown) — Source instance information section

4. Enter database account and password for the source RDS instance
   - Element: **Database account** (text_input) — Source instance information section
   - Notes: For MySQL 5.5/5.6, these fields may be optional

5. Select connection method (SSL or non-SSL)
   - Element: **Connection method** (radio) — Source instance information section
   - Notes: If SSL is selected, ensure SSL encryption is enabled on the RDS instance

6. Configure destination instance information
   - Element: **Instance type** (dropdown) — Destination instance information section
   - Notes: Fixed at 'ADS' and cannot be changed

7. Select version of destination AnalyticDB for MySQL cluster
   - Element: **Version** (radio) — Destination instance information section
   - Notes: Choose between 2.0 and 3.0 based on your cluster version

8. Select the cluster ID of the destination AnalyticDB for MySQL instance
   - Element: **Database** (dropdown) — Destination instance information section

9. Enter database account and password for the destination AnalyticDB for MySQL instance
   - Element: **Database account** (text_input) — Destination instance information section
   - Notes: Required for AnalyticDB for MySQL 3.0; optional for 2.0

10. Configure synchronization policy and objects
    - Element: **Initial synchronization** (checkbox) — Synchronization policy section
    - Notes: Both 'Initial Schema Synchronization' and 'Initial Full Data Synchronization' should be selected by default

11. Set action on existing destination tables
    - Element: **Action on existing destination tables** (radio) — Synchronization policy section
    - Notes: Choose 'Check' to prevent conflicts or 'Ignore' with risk of data inconsistency

12. Configure multi-table merge option
    - Element: **Merge multi tables** (radio) — Synchronization policy section
    - Notes: Select 'Yes' to add __dts_data_source column (no DDL sync); 'No' for full DDL support

13. Select synchronization types
    - Element: **Synchronization type** (checkbox) — Synchronization policy section
    - Notes: Default: all operations selected

14. Select objects to synchronize
    - Element: **Objects to synchronize** (text_input) — Synchronization policy section
    - Notes: Select databases or tables to synchronize; use arrow icon to move them to destination

15. Specify table type for destination tables
    - Element: **Specify table type** (button) — Table type configuration section
    - Notes: Must define table type, primary key, partition key, etc., for initial schema sync

| Parameter | Type | Required | Options/Values | Description |
|-----------|------|----------|----------------|-------------|
| Synchronization task name | text_input | No | — | DTS automatically generates a task name. We recommend specifying a descriptive name for easier identification. The name does not have to be unique. |
| Instance type | radio | Yes | RDS | Select the source instance type. For this guide, select 'RDS'. |
| Instance region | text_input | Yes | — | The region of the source instance that you selected when you purchased the data synchronization instance. This parameter cannot be changed. |
| Instance ID | dropdown | Yes | — | Select the ID of the source RDS instance. |
| Database account | text_input | Yes | — | Enter the database account of the source RDS instance. For required permissions, see Required permissions for database accounts. |
| Database password | password | Yes | — | Enter the password that corresponds to the database account. |
| Connection method | radio | Yes | No SSL, SSL | Select based on your requirements. If SSL is selected, enable SSL encryption for the RDS instance. |
| Version | radio | Yes | 2.0, 3.0 | Select the version of the destination AnalyticDB for MySQL cluster. |
| Database | dropdown | Yes | — | Select the cluster ID of the destination AnalyticDB for MySQL instance. |
| Database account | text_input | Yes | — | Enter the database account of the AnalyticDB for MySQL instance. For required permissions, see Required permissions for database accounts. |
| Database password | password | Yes | — | Enter the password that corresponds to the database account. |
| Initial synchronization | checkbox | No | — | By default, both Initial Schema Synchronization and Initial Full Data Synchronization are selected. |
| Action on existing destination tables | radio | No | Check, Ignore | Check: prevents task start if tables with same names exist. Ignore: skips check but risks data inconsistency. |
| Merge multi tables | radio | No | Yes, No | Yes: adds __dts_data_source column (no DDL sync). No: supports DDL synchronization. |
| Synchronization type | checkbox | No | CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN, MODIFY COLUMN, INSERT, UPDATE, DELETE | Select operation types to synchronize based on business requirements. |
| Objects to synchronize | form_field | No | — | Select databases or tables to synchronize and move them to the destination box using the right arrow icon. |

### MySQL to Kafka Synchronization

**Navigation**: DTS Console > Data Synchronization > Create Synchronization Task

**Prerequisites**:
- Self-managed MySQL database must be version 5.1, 5.5, 5.6, 5.7, or 8.0.
- The self-managed MySQL database must be connected to an Alibaba Cloud VPC.

1. Purchase a data synchronization instance.
   - Element: **Purchase a DTS Instance** (link) — main content area

2. Log in to the DTS console
   - Element: **Data Transmission Service console** (link) — top navigation bar
   - Notes: If the DMS console appears instead, hover over the robot icon and click the 'Return to old version' icon to switch back.

3. Configure the source database and destination cluster
   - Element: **Configure the source database and destination cluster** (section) — main content area
   - Notes: A table displays configuration fields. Use the 'Get Topic List' button to populate available Kafka topics.

4. Select the instance type for the source database.
   - Element: **Self-managed Database with Connection over Express Connect/VPN Gateway/Smart Access Gateway** (radio) — Source Instance section

5. Select the region of the source instance.
   - Element: **Instance Region** (dropdown) — Source Instance section
   - Notes: This parameter cannot be changed after creation.

6. Select the peer VPC where the self-managed database is connected.
   - Element: **Peer VPC** (dropdown) — Source Instance section

7. Set the database type for the source.
   - Element: **Database Type** (text_input) — Source Instance section
   - Notes: The value is fixed at MySQL and cannot be changed.

8. Enter the IP address of the self-managed MySQL database server.
   - Element: **IP Address** (text_input) — Source Instance section

9. Enter the port number of the MySQL database.
   - Element: **Port** (text_input) — Source Instance section
   - Notes: Default value is 3306.

10. Enter the database account with required permissions.
    - Element: **Database Account** (text_input) — Source Instance section
    - Notes: The account must have REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, and SELECT permissions on synchronized objects.

11. Enter the password for the database account.
    - Element: **Database Password** (text_input) — Source Instance section

12. Select the deployment location of the Kafka cluster.
    - Element: **Self-managed Database on ECS** (radio) — Destination Instance section
    - Notes: Other options require additional preparation. See 'Preparation overview' for details.

13. Select the region of the destination instance.
    - Element: **Instance Region** (dropdown) — Destination Instance section
    - Notes: This parameter cannot be changed after creation.

14. Select the ECS instance ID where Kafka is deployed.
    - Element: **ECS Instance ID** (dropdown) — Destination Instance section

15. Select the database type for the destination.
    - Element: **Database Type** (text_input) — Destination Instance section
    - Notes: Select Kafka.

16. Enter the service port of the Kafka cluster.
    - Element: **Port** (text_input) — Destination Instance section
    - Notes: Default value is 9092.

17. Enter the username for the Kafka cluster.
    - Element: **Database Account** (text_input) — Destination Instance section
    - Notes: Leave blank if authentication is disabled.

18. Enter the password for the Kafka username.
    - Element: **Database Password** (text_input) — Destination Instance section
    - Notes: Leave blank if authentication is disabled.

19. Get and select a topic from the Kafka cluster.
    - Element: **Get Topic List** (button) — Destination Instance section
    - Notes: Click this button to retrieve the list of available topics.

20. Select the version of the Kafka cluster.
    - Element: **Kafka Version** (dropdown) — Destination Instance section

21. Choose the connection method for Kafka.
    - Element: **Connection Method** (radio) — Destination Instance section
    - Notes: Select either No SSL or SCRAM-SHA-256 based on security requirements.

| Parameter | Type | Required | Options/Values | Description |
|-----------|------|----------|----------------|-------------|
| Synchronization Task Name | text_input | No | — | DTS automatically generates a task name. We recommend specifying a descriptive name for easy identification. The name does not need to be unique. |
| Instance Type | radio | Yes | Self-managed Database with Connection over Express Connect/VPN Gateway/Smart Access Gateway | Select the source instance type. |
| Instance Region | dropdown | Yes | — | The region of the source instance, which you selected when you purchased the data synchronization instance. This parameter cannot be changed. |
| Peer VPC | dropdown | Yes | — | Select the ID of the VPC to which the self-managed database is connected. |
| Database Type | text_input | Yes | MySQL | The value is fixed at MySQL and cannot be changed. |
| IP Address | text_input | Yes | — | Enter the IP address of the self-managed MySQL database server. |
| Port | text_input | Yes | 3306 | Enter the service port of the self-managed MySQL database. The default value is 3306. |
| Database Account | text_input | Yes | — | Enter the account for the self-managed MySQL database. The account must have the REPLICATION CLIENT, REPLICATION SLAVE, and SHOW VIEW permissions, as well as the SELECT permission on the objects that you want to synchronize. |
| Database Password | text_input | Yes | — | Enter the password for the database account. |
| Instance Type | radio | Yes | Self-managed Database on ECS | Select the deployment location of the Kafka cluster. This guide uses Self-managed Database on ECS as an example. |
| Instance Region | dropdown | Yes | — | The region of the destination instance, which you selected when you purchased the data synchronization instance. This parameter cannot be changed. |
| ECS Instance ID | dropdown | Yes | — | Select the ID of the ECS instance where the Kafka cluster is deployed. |
| Database Type | text_input | Yes | Kafka | Select Kafka. |
| Port | text_input | Yes | 9092 | The service port of the Kafka cluster. The default value is 9092. |
| Database Account | text_input | No | — | Enter the username for the Kafka cluster. Leave this blank if authentication is disabled. |
| Database Password | text_input | No | — | Enter the password for the username. Leave this blank if authentication is disabled. |
| Topic | dropdown | Yes | — | Click Get Topic List on the right and select a topic name from the drop-down list. |
| Kafka Version | dropdown | Yes | — | Select the version of the destination Kafka cluster. |
| Connection Method | radio | Yes | No SSL, SCRAM-SHA-256 | Select based on your business and security requirements. |

### Zero-ETL Pipeline Creation

**Navigation**: Console > RDS > Data Integration > Create Zero-ETL

**Prerequisites**:
- An AnalyticDB for PostgreSQL instance is created
- The ApsaraDB RDS for PostgreSQL instance and the AnalyticDB for PostgreSQL instance are in the same region
- A database is created in the AnalyticDB for PostgreSQL instance
- The wal_level parameter of the ApsaraDB RDS for PostgreSQL instance is set to logical

1. Log in to the RDS Management Console
   - Element: **RDS Management Console** (link) — top navigation bar

2. Click the Data Integration tab
   - Element: **Data Integration** (tab) — left-side navigation pane

3. Click the Create Zero-ETL button
   - Element: **Create Zero-ETL** (button) — top-right corner of the Data Integration tab

4. Configure source and destination database information
   - Element: **Source** (section) — main content area
   - Notes: Select PostgreSQL as the source database type; ensure region, instance ID, database name, account, password, and connection method are correctly set.

5. Configure destination database information
   - Element: **Destination** (section) — main content area
   - Notes: Only Greenplum (AnalyticDB for PostgreSQL) is supported as destination; ensure region, instance ID, database name, account, and password are correctly set.

6. Configure synchronization parameters: DML/DDL operations and objects to sync
   - Element: **Configure Zero-ETL** (link) — main content area
   - Notes: By default, all DML (insert, update, delete) and DDL (create, alter, drop, rename, truncate) operations are selected.

7. Map fields: select database, table, primary key, distribution key, and table type
   - Element: **Field Mapping** (section) — main content area
   - Notes: Select existing database and table; specify primary key and distribution key columns; choose table type (partitioned or replicated).

8. Review configuration and click Next to Precheck
   - Element: **Next to Precheck** (button) — bottom of the form

9. Start the Zero-ETL task after precheck passes
   - Element: **Start** (button) — bottom of the form
   - Notes: The task status changes from Undefined to Defined after successful configuration.

| Parameter | Type | Required | Options/Values | Description |
|-----------|------|----------|----------------|-------------|
| Task Name | text_input | Yes | — | The name of the Zero-ETL task. |
| Database Type | dropdown | Yes | PostgreSQL (RDS) | Select the source database type. |
| Task Type | dropdown | Yes | Small (Aliyun) | Only Small (Aliyun) tasks are supported. |
| Region | dropdown | Yes | China (Beijing), China (Hangzhou), China (Shanghai), China (Shenzhen) | The region of the source instance. |
| Instance ID | text_input | Yes | — | The ID of the ApsaraDB RDS for PostgreSQL instance. |
| Database Name | text_input | Yes | — | The name of the database in the ApsaraDB RDS for PostgreSQL instance. |
| Database Account | text_input | Yes | — | The database account for the ApsaraDB RDS for PostgreSQL instance. |
| Password | password | Yes | — | The password for the database account for the ApsaraDB RDS for PostgreSQL instance. |
| Connection Method | dropdown | Yes | SSL/TLS, Non-encrypted | The connection encryption method for the ApsaraDB RDS for PostgreSQL instance. |
| Database Type | dropdown | Yes | Greenplum | The destination database only supports Greenplum (AnalyticDB for PostgreSQL). |
| Task Type | dropdown | Yes | Small (Aliyun) | Only Small (Aliyun) connection is supported. |
| Region | dropdown | Yes | China (Beijing), China (Hangzhou), China (Shanghai), China (Shenzhen) | The region of the destination instance. |
| Instance ID | text_input | Yes | — | The ID of the destination instance. |
| Database Name | text_input | Yes | — | The name of the database in the destination instance to receive data. |
| Database Account | text_input | Yes | — | The database account for the destination instance. |
| Password | password | Yes | — | The password for the database account. |
| Synchronize DML Operations | checkbox | No | Insert, Update, Delete | Select DML operations to synchronize. |
| Synchronize DDL Operations | checkbox | No | Create, Alter, Drop, Rename, Truncate | Select DDL operations to synchronize. |
| Objects to Sync | text_input | No | — | The objects in the source database and the objects selected for synchronization. |
| Retry Interval | number_input | No | — | The retry interval for connectivity issues. |
| Zero-ETL O&M-free Description | checkbox | No | — | Indicates that the task is O&M-free. |
| Database | dropdown | Yes | — | Select an existing database for field mapping. |
| Table | dropdown | Yes | — | Select an existing table for field mapping. |
| Primary Key | dropdown | Yes | — | The primary key column in the selected table. |
| Distribution Key | dropdown | Yes | — | The distribution key column in the selected table. |
| Table Type | dropdown | Yes | Partitioned Table, Replicated Table | The table type: partitioned or replicated. |

## FAQ

Q: Where do I find the DTS console to configure synchronization tasks?
A: Navigate to the DTS Console at https://dts.console.aliyun.com/. From there, click Data Synchronization in the left navigation pane to manage your tasks.

Q: What happens if I leave the database account fields empty for MySQL 5.5/5.6 instances?
A: For MySQL 5.5 and 5.6, the database account and password fields are optional during configuration. DTS can connect using default credentials, but providing explicit credentials is recommended for security and reliability.

Q: Can I modify synchronization settings after the task has started?
A: Some settings like object selection and advanced parameters can be modified while the task is running, but core settings like source/destination instances and synchronization topology cannot be changed after creation. You would need to create a new task for those changes.

Q: What permissions do I need to configure cross-account synchronization?
A: You need to create a RAM role in the source Alibaba Cloud account that grants the destination account's DTS service permission to access the source RDS instance. The role must include policies for RDS read access and DTS operations.

Q: How do I handle table name conflicts during synchronization?
A: Use the "Action on existing destination tables" setting to either "Check" (fail if tables exist) or "Ignore" (proceed with potential data overwrite). For more control, use object name mapping to rename tables during synchronization.

## Pricing & Billing

### Billing Model
Per-request billing model where charges apply based on synchronization operations performed.

### Price Reference
| Tier | Input Price | Output Price |
|------|-------------|--------------|
| Standard | 0.002 / | 0.002 / |
| Schema synchronization and full data synchronization | Free | — |
| Incremental data synchronization | Charged. See Billing overview | — |

### Free Tier
- Monthly free quota of 100 tokens for some services
- Schema synchronization and full data synchronization are free for certain configurations
- Zero-ETL data pipelines are completely free of charge

### Billing Notes
- Full data initialization may consume significant read/write resources; we recommend performing synchronization during off-peak hours
- DTS instances are billed based on their runtime, including the connection retry period
- Incremental data synchronization is charged separately from initial synchronization phases
- To avoid unnecessary charges, specify a custom retry duration or release the DTS instance when you release the database instances