

# 将不在 VPC 中的数据库实例移动到 VPC 中
<a name="USER_VPC.Non-VPC2VPC"></a>

EC2-Classic 平台上一些旧的数据库实例不位于 VPC 中。如果数据库实例未在 VPC 中，可以使用 AWS 管理控制台轻松将数据库实例移至 VPC 中。必须先创建 VPC，然后才能将未在 VPC 中的数据库实例移至 VPC 中。


|  | 
| --- |
| EC2-Classic 已于 2022 年 8 月 15 日停用。如果您尚未从 EC2-Classic 迁移到 VPC，建议您尽快迁移。有关更多信息，请参阅《Amazon EC2 用户指南》中的[从 EC2-Classic 迁移到 VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) 和博客 [EC2-Classic Networking 即将停用 – 以下是准备方法](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/)。 | 

**重要**  
如果您是新 Amazon RDS 客户，您之前从未创建数据库实例或您正在以前未使用的 AWS 区域中创建数据库实例，则几乎在所有情况下，您都将位于 *EC2-VPC* 平台上并且具有默认 VPC。有关使用位于 VPC 中的数据库实例的更多信息，请参阅 [在 VPC 中使用数据库实例](USER_VPC.WorkingWithRDSInstanceinaVPC.md)。

执行以下步骤可为数据库实例创建 VPC。
+ [步骤 1：创建 VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreatingVPC)
+  [步骤 2：创建数据库子网组](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreateDBSubnetGroup)
+  [步骤 3：创建 VPC 安全组](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.CreateVPCSecurityGroup)

创建 VPC 后，执行以下步骤可将数据库实例移至 VPC 中。
+ [更新数据库实例的 VPC](USER_VPC.VPC2VPC.md)

我们强烈建议您在就要迁移之前创建数据库实例的备份。这样做可确保在迁移失败时可以恢复数据。有关更多信息，请参阅“[备份、还原和导出数据](CHAP_CommonTasks.BackupRestore.md)”。

以下是将数据库实例移至 VPC 中时的一些限制。
+ **上一代数据库实例类** – 在 VPC 平台上可能不支持上一代数据库实例类。将数据库实例移到 VPC 时，请选择 db.m3 或 db.r3 数据库实例类。将数据库实例移到 VPC 后，您可以扩展数据库实例以使用更高版本的数据库实例类。有关 VPC 支持的实例类的完整列表，请参阅 [Amazon RDS 实例类型](https://aws.amazon.com/rds/instance-types/)。
+ **多可用区** – 当前不支持将未在 VPC 中的多可用区数据库实例移至 VPC 中。要将数据库实例移到 VPC，请首先修改数据库实例，使其成为单可用区部署。将**多可用区部署**设置更改为 **No (否)**。将数据库实例移到 VPC 后，再次对其进行修改，使其成为多可用区部署。有关更多信息，请参阅“[修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)”。
+ **只读副本** – 当前不支持将未在 VPC 中的带只读副本的数据库实例移至 VPC 中。要将数据库实例移到 VPC，请首先删除其所有只读副本。将数据库实例移到 VPC 后，重新创建只读副本。有关更多信息，请参阅“[使用数据库实例只读副本](USER_ReadRepl.md)”。
+ **选项组** – 如果您将数据库实例移到 VPC，并且数据库实例正在使用自定义选项组，请更改与数据库实例关联的选项组。选项组是特定于平台的，并且移动到 VPC 的操作是一种平台切换。要在这种情况下使用自定义选项组，请将默认 VPC 选项组分配给数据库实例，分配由作为移动目标的 VPC 中的其他数据库实例使用的选项组，或者创建新选项组并将它分配给数据库实例。有关更多信息，请参阅“[使用选项组](USER_WorkingWithOptionGroups.md)”。

## 将不在 VPC 中的数据库实例移动到具最短停机时间的 VPC 中的替代方案
<a name="USER_VPC.Non-VPC2VPC.Minimal-Downtime"></a>

使用以下替代方案，您可以将不在 VPC 中的数据库实例移到具有最短停机时间的 VPC 中。这些替代方案对源数据库实例造成的中断最小，并允许它在迁移期间为用户流量提供服务。但是，迁移到 VPC 所需的时间会因数据库大小和实时工作负载特性而异。
+ **AWS Database Migration Service (AWS DMS)** – AWS DMS 支持数据的实时迁移，同时保持源数据库实例全面运行，但它只复制一组有限的 DDL 语句。AWS DMS 不传播索引、用户、权限、存储过程等项目以及与表数据不直接相关的其他数据库更改。此外，AWS DMS 不会自动使用 RDS 快照创建初始数据库实例，这会增加迁移时间。有关更多信息，请参阅 [AWS Database Migration Service](https://aws.amazon.com/dms/)。
+ **数据库快照还原或时间点恢复** – 您可以通过还原数据库实例的快照或将数据库实例还原到某个时间点，将数据库实例移到 VPC。有关更多信息，请参阅 [还原到数据库实例](USER_RestoreFromSnapshot.md) 和 [将 Amazon RDS 的数据库实例还原到指定时间](USER_PIT.md)。