将 Elastic Beanstalk 环境从 EC2-Classic 迁移到 VPC - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将 Elastic Beanstalk 环境从 EC2-Classic 迁移到 VPC

本主题介绍如何将 Elastic Beanstalk 环境从 EC2-Classic 网络平台迁移到 Amazon Virtual Private Cloud(Amazon VPC)网络的不同选项。

如果您在 2013 年 12 月 4 日之前创建了 Amazon 账户,则您的环境可能在某些 Amazon Web Services 区域 区域中使用 EC2-Classic 网络配置。2013 年 12 月 4 日或之后创建的所有 Amazon 账户在每个 Amazon 区域都已仅限于 VPC。如果因支持请求而启用了 Amazon EC2-Classic,则会拥有唯一的豁免。

注意

您可以在 Elastic Beanstalk 控制台Configuration overview(配置概览)页面的 Network configuration(网络配置)类别中查看环境的网络配置设置。

为什么应该迁移

Amazon EC2-Classic 将于 2022 年 8 月 15 日之后结束标准支持。为避免工作负载中断,我们建议您在 2022 年 8 月 15 日之前从 Amazon EC2-Classic 迁移到 VPC。我们还要求您以后不要启动任何 Amazon EC2-Classic 上的 Amazon 资源,而是使用 Amazon VPC 代替。

当您将 Elastic Beanstalk 环境从 Amazon EC2-Classic 迁移到 Amazon VPC 时,必须创建一个新的 Amazon 账户。您还必须在您的新 Amazon 账户中重新创建 Amazon EC2-Classic 环境。无需为您的环境执行任何其他配置工作即可使用默认 VPC。如果默认 VPC 不符合您的要求,您可以手动创建自定义 VPC 并将其与您的环境关联。

或者,如果您现有的 Amazon 账户拥有无法迁移到新 Amazon 账户的资源,则可将 VPC 添加到您的当前账户中。然后,配置您的环境以使用 VPC。

有关更多信息,请参阅 EC2-Classic Networking is Retiring - Here's How to Prepare 博客文章。

将环境从 EC2-Classic 迁移到新的 Amazon 账户(推荐)

如果您还没有在 2013 年 12 月 4 日或之后创建的 Amazon 账户,则请创建一个新账户。您要将您的环境迁移到此新账户中。

  1. 您的新 Amazon 账户为其环境提供默认 VPC。如果您不需要创建自定义 VPC,请跳至步骤 2。

    您可以通过以下方式之一创建自定义 VPC:

    • 使用 Amazon VPC 控制台向导,您可以使用其中一个可用的配置选项快速创建 VPC。有关更多信息,请参阅 Amazon VPC 控制台向导配置

    • 如果您对 VPC 有更具体的要求,请在 Amazon VPC 控制台上创建自定义 VPC。例如,如果您的使用案例需要特定数量的子网,我们建议您这样做。有关更多信息,请参阅 VPC 和子网

    • 如果您希望在 Elastic Beanstalk 环境中使用 Amazon CloudFormation 模板,请使用 GitHub 网站上的 elastic-beanstalk-samples 存储库来创建 VPC。此存储库包括 Amazon CloudFormation 模板。有关更多信息,请参阅 将 Elastic Beanstalk 和 Amazon VPC 结合使用

    注意

    您还可以在使用创建新环境向导在新的 Amazon 账户中重新创建环境的同时创建自定义 VPC。如果您使用向导并选择创建自定义 VPC,则该向导将您重新导向到 Amazon VPC 控制台。

  2. 在您的新 Amazon 账户中创建新环境。我们建议该环境包含与您从中进行迁移的 Amazon 账户中的现有环境相同的配置。您可以使用以下方法之一实现这一点。

    注意

    如果您的新环境在迁移后必须使用相同的别名记录,则必须首先终止 EC2-Classic 平台上的原始环境。这会释放别名记录以供使用。然而,这样做将导致该环境发生停机,并导致其他客户可能在终止 EC2-Classic 环境到创建新环境之间选择您的别名记录的风险。有关更多信息,请参阅 终止 Elastic Beanstalk 环境

    对于具有自己的专有域名的环境,CNAME 没有此问题。您只需更新域名系统 (DNS),即可将请求转发到您的新 CNAME。

    • 使用 Elastic Beanstalk 控制台上的创建新环境向导 。该向导提供了一个用于创建自定义 VPC 的选项。如果您不选择创建自定义 VPC,则会分配默认 VPC。

    • 使用 Elastic Beanstalk Command Line Interface(EB CLI)在新的 Amazon 账户中重新创建您的环境。eb create 命令描述中的其中一个示例演示了如何在自定义 VPC 中创建环境。如果您不提供 VPC ID,环境使用默认 VPC。

      通过使用这种方法,您可以在两个 Amazon 账户之间使用保存的配置文件。因此,无需手动输入所有配置信息。然而,您必须使用 eb config save 命令保存要迁移的 EC2-Classic 环境的配置设置。将保存的配置文件复制到新账户环境的新目录中。

      注意

      您必须编辑已保存的配置文件中的某些数据,然后才能在新账户中使用它。您必须使用新账户的正确数据更新与先前账户相关的信息。例如,您必须将 Amazon Identity and Access Management(IAM)角色的 Amazon Resource Name(ARN)替换为新账户的 IAM 角色 ARN。

      如果您使用带有 cfgeb create 命令,系统将使用指定的已保存的配置文件创建新环境。有关更多信息,请参阅 使用 Elastic Beanstalk 保存的配置

从同一个 Amazon 账户中的 EC2-Classic 迁移环境

现有的 Amazon 账户可能具有无法迁移到新 Amazon 账户的资源。在这种情况下,您必须重新创建环境并为您创建的每个环境手动配置 VPC。

先决条件

开始之前,您必须拥有 VPC。您可以通过以下方式之一创建非默认(自定义)VPC:

  • 使用 Amazon VPC 控制台向导,您可以使用其中一个可用的配置选项快速创建 VPC。有关更多信息,请参阅 Amazon VPC 控制台向导配置

  • 如果您对 VPC 有更具体的要求,请在 Amazon VPC 控制台上创建自定义 VPC。例如,如果您的使用案例需要特定数量的子网,我们建议您这样做。有关更多信息,请参阅 VPC 和子网

  • 如果您希望在 Elastic Beanstalk 环境中使用 Amazon CloudFormation 模板,请使用 GitHub 网站上的 elastic-beanstalk-samples 存储库来创建 VPC。此存储库包括 Amazon CloudFormation 模板。有关更多信息,请参阅 将 Elastic Beanstalk 和 Amazon VPC 结合使用

在以下步骤中,您可以在新环境中配置 VPC 时使用生成的 VPC ID 和子网 ID。

  1. 创建与现有环境包含相同配置的新环境。您可以使用以下方法之一实现这一点。

    注意

    “保存的配置”功能可以帮助您在新账户中重新创建环境。此功能可以保存环境配置,因此您可以在创建或更新其他环境时应用它。有关更多信息,请参阅 使用 Elastic Beanstalk 保存的配置

    • 使用 Elastic Beanstalk 控制台,在您配置新环境时应用从 EC2-Classic 环境中保存的配置。此配置将使用 VPC。有关更多信息,请参阅 使用 Elastic Beanstalk 保存的配置

    • 使用 Elastic Beanstalk 命令行界面 (EB CLI),运行 eb create 命令以重新创建环境。提供原始环境的参数和 VPC 标识符。eb create 命令描述中的其中一个示例演示了如何在自定义 VPC 中创建环境。

    • 使用 Amazon Command Line Interface(Amazon CLI),并使用 elasticbeanstalk create-environment 命令重新创建环境。使用 VPC 标识符提供原始环境的参数。有关说明,请参阅使用 Amazon CLI 创建 Elastic Beanstalk 环境

  2. 将现有环境的别名记录与新环境交换。这样就可以使用熟悉的地址引用创建的新环境。您可以使用 EB CLI 或 Amazon CLI。