

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将堆栈从 Amazon EC2-Classic 迁移到 VPC
<a name="workingstacks-migrate-ec2-vpc"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

本主题介绍如何将 AWS OpsWorks Stacks 堆栈从亚马逊 EC2 经典网络平台迁移到[亚马逊虚拟私有云](https://docs.aws.amazon.com/vpc/latest/userguide/) (Amazon VPC) 网络。

如果您在 2013-12-04 之前创建了 AWS 账户，则某些地区可能支持 EC2-Classic。 AWS 某些 Amazon EC2 资源和功能（例如增强联网和更新的实例类型）需要虚拟私有云 (VPC)。有些资源可以在 EC2-Classic 和 VPC 之间共享，而有些则不能。为避免服务中断，我们建议您将 AWS OpsWorks Stacks 堆栈迁移到 VPC。

**Topics**
+ [

## 先决条件
](#workingstacks-migrate-vpc-prereqs)
+ [

## 将 AWS OpsWorks Stacks 堆栈迁移到 VPC
](#workingstacks-migrate-vpc)
+ [

## 另请参阅
](#workingstacks-migrate-seealso)

## 先决条件
<a name="workingstacks-migrate-vpc-prereqs"></a>

在开始之前，您必须拥有符合 AWS OpsWorks Stacks 配置要求的 VPC。要在您的 VPC 中为配置私有子网 AWS OpsWorks Stacks，请参阅本指南[在 VPC 中运行堆栈](workingstacks-vpc.md)中的。您可以使用 Amazon VPC 管理控制台创建自定义 VPC。有关更多信息，请参阅《[亚马逊*虚拟私有云用户指南》中的 Amazon VPC 控制台向导*配置VPCs ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_wizard.html)[和子网](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_wizard.html)。

要继续迁移，您需要提供您要使用的 VPC ID 和子网 ID。

## 将 AWS OpsWorks Stacks 堆栈迁移到 VPC
<a name="workingstacks-migrate-vpc"></a>

首先，使用 AWS OpsWorks Stacks 控制台或 API 克隆现有的 EC2-Classic 堆栈。然后，将现有堆栈的资源移至新堆栈。在克隆的堆栈中启动新实例，然后部署应用程序。验证新堆栈是否正常运行。最后，从 EC2-Classic堆栈中删除 EC2-Classic资源，然后删除旧堆栈。

1. 将您现有的 EC2经典堆栈克隆到您的 VPC 中。克隆堆栈会将堆栈设置、图层、应用程序、用户和用户权限复制到新堆栈。有关如何开始克隆堆栈的更多信息，请参阅本指南中的 [克隆堆栈](workingstacks-cloning.md)。

   您也可以使用 AWS OpsWorks Stacks API 克隆堆栈。使用 AWS CLI 或克隆堆栈时 AWS SDKs，请将`VpcId`参数的值设置为您在中创建的 VPC 的 ID [先决条件](#workingstacks-migrate-vpc-prereqs)。有关更多信息，请参阅《AWS OpsWorks Stacks API Reference》**中的 [https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CloneStack.html](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CloneStack.html)。

1. 在克隆堆栈的层中创建新实例。请务必指定您在 [先决条件](#workingstacks-migrate-vpc-prereqs) 中创建的子网 ID。有关如何在堆栈中创建实例的更多信息，请参阅此指南中的 [将实例添加到层](workinginstances-add.md)。

1. 将您的经典资源（例如 EC2 安全组、Elastic Load Balancing 负载均衡器和弹性 IP 地址）迁移到您的 VPC，然后将其与克隆的堆栈关联。有关更多信息，请参阅 *Amazon EC2 用户指南*中的[将您的资源迁移到 VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html#full-migrate)。

1. 使用克隆的堆栈注册亚马逊 EBS 卷和 Amazon RDS 实例。有关使用堆栈注册资源的更多信息，请参阅本指南的 [将资源注册到堆栈](resources-reg.md)。

   Amazon EBS 卷不与 VPC 关联，您可以跨 EC2经典堆栈和 VPC 中的堆栈中的实例使用它们。您可以在 EC2-Classic 中使用经典堆栈和 EC2 VPC 中的堆栈注册 Amazon RDS 实例。

1. 在克隆的堆栈中启动实例，然后将一小部分工作负载移到克隆的堆栈。例如，将一小部分流量移至克隆堆栈中的 Elastic Load Balancing 负载均衡器。如果您在使用 Amazon Route 53，请参阅《*Amazon Route 53 开发人员指南*》中的[将流量路由到 ELB 负载均衡器](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer.html)。

   在确定新堆栈正常运行并支持您的应用程序之前，仅路由一小部分流量。让新堆栈在试用期（例如一周）内使用一小部分流量。验证新堆栈是否正常运行后，将剩余流量路由到堆栈。

1. 确定克隆的堆栈正常运行后，将剩余的生产流量或工作负载移至克隆的堆栈。现在，您可以停止 EC2-Classic 堆栈中的实例。我们建议您将旧堆栈保持几周的可用状态，以便在迁移后的几周内，如果新堆栈出现任何问题，则可以将工作负载移回旧堆栈。

1. 当新堆栈已经运行了几周后，删除 EC2-Classic堆栈中的实例。有关如何删除实例的更多信息，请参阅此指南中的 [删除 OpsWorks 堆栈实例](workinginstances-delete.md)。
**重要**  
请勿使用 Amazon EC2 控制台或 API 来停止或删除 OpsWorks 实例。

1. 删除 EC2-Classic 堆栈中的应用程序。有关如何删除应用程序的更多信息，请参阅此指南中的[从堆栈删除应用程序](gettingstarted-intro-clean-up.md)。

1. 删除 EC2-Classic 堆栈。有关如何删除堆栈的更多信息，请参阅本指南中的 [删除堆栈](workingstacks-shutting.md)。

## 另请参阅
<a name="workingstacks-migrate-seealso"></a>
+ [从 EC2经典版迁移到 VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html#full-migrate)
+ [调试和故障排除指南](troubleshoot.md)
+ [在 VPC 中运行堆栈](workingstacks-vpc.md)