本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Elastic Beanstalk 环境从 EC2-Classic 迁移到 VPC
本主题介绍如何将 Elastic Beanstalk 环境从 EC2-Classic 网络平台迁移到 Amazon Virtual Private Cloud(Amazon VPC)网络的不同选项。
如果您在 2013 年 12 月 4 日之前创建了 AWS 账户,则您的环境可能在某些 AWS 区域 区域中使用 EC2-Classic 网络配置。2013 年 12 月 4 日或之后创建的所有 AWS 账户在每个 AWS 区域都已仅限于 VPC。如果因支持请求而启用了 Amazon EC2-Classic,则会拥有唯一的豁免。
注意
您可以在 Elastic Beanstalk 控制台
为什么应该迁移
Amazon EC2-Classic 将于 2022 年 8 月 15 日之后结束标准支持。为避免工作负载中断,我们建议您在 2022 年 8 月 15 日之前从 Amazon EC2-Classic 迁移到 VPC。我们还要求您以后不要启动任何 Amazon EC2-Classic 上的 AWS 资源,而是使用 Amazon VPC 代替。
当您将 Elastic Beanstalk 环境从 Amazon EC2-Classic 迁移到 Amazon VPC 时,必须创建一个新的 AWS 账户。您还必须在您的新 AWS 账户中重新创建 AWS EC2-Classic 环境。无需为您的环境执行任何其他配置工作即可使用默认 VPC。如果默认 VPC 不符合您的要求,您可以手动创建自定义 VPC 并将其与您的环境关联。
或者,如果您现有的 AWS 账户拥有无法迁移到新 AWS 账户的资源,则可将 VPC 添加到您的当前账户中。然后,配置您的环境以使用 VPC。
有关更多信息,请参阅 EC2-Classic Networking is Retiring - Here's How to Prepare
将环境从 EC2-Classic 迁移到新的 AWS 账户(推荐)
如果您还没有在 2013 年 12 月 4 日或之后创建的 AWS 账户,则请创建一个新账户。您要将您的环境迁移到此新账户中。
-
您的新 AWS 账户为其环境提供默认 VPC。如果您不需要创建自定义 VPC,请跳至步骤 2。
您可以通过以下方式之一创建自定义 VPC:
-
使用 Amazon VPC 控制台向导,您可以使用其中一个可用的配置选项快速创建 VPC。有关更多信息,请参阅 Amazon VPC 控制台向导配置。
-
如果您对 VPC 有更具体的要求,请在 Amazon VPC 控制台上创建自定义 VPC。例如,如果您的使用案例需要特定数量的子网,我们建议您这样做。有关更多信息,请参阅 VPC 和子网。
-
如果您希望在 Elastic Beanstalk 环境中使用 AWS CloudFormation 模板,请使用 GitHub 网站上的 elastic-beanstalk-samples
存储库来创建 VPC。此存储库包括 AWS CloudFormation 模板。有关更多信息,请参阅 将 Elastic Beanstalk 和 Amazon VPC 结合使用。
注意
您还可以在使用创建新环境向导在新的 AWS 账户中重新创建环境的同时创建自定义 VPC。如果您使用向导并选择创建自定义 VPC,则该向导将您重新导向到 Amazon VPC 控制台。
-
-
在您的新 AWS 账户中创建新环境。我们建议该环境包含与您从中进行迁移的 AWS 账户中的现有环境相同的配置。您可以使用以下方法之一实现这一点。
注意
如果您的新环境在迁移后必须使用相同的别名记录,则必须首先终止 EC2-Classic 平台上的原始环境。这会释放别名记录以供使用。然而,这样做将导致该环境发生停机,并导致其他客户可能在终止 EC2-Classic 环境到创建新环境之间选择您的别名记录的风险。有关更多信息,请参阅 终止 Elastic Beanstalk 环境。
对于具有自己的专有域名的环境,CNAME 没有此问题。您只需更新域名系统 (DNS),即可将请求转发到您的新 CNAME。
-
使用 Elastic Beanstalk 控制台
上的创建新环境向导。该向导提供了一个用于创建自定义 VPC 的选项。如果您不选择创建自定义 VPC,则会分配默认 VPC。 -
使用 Elastic Beanstalk Command Line Interface(EB CLI)在新的 AWS 账户中重新创建您的环境。eb create 命令描述中的其中一个示例演示了如何在自定义 VPC 中创建环境。如果您不提供 VPC ID,环境使用默认 VPC。
通过使用这种方法,您可以在两个 AWS 账户之间使用保存的配置文件。因此,无需手动输入所有配置信息。然而,您必须使用 eb config save 命令保存要迁移的 EC2-Classic 环境的配置设置。将保存的配置文件复制到新账户环境的新目录中。
注意
您必须编辑已保存的配置文件中的某些数据,然后才能在新账户中使用它。您必须使用新账户的正确数据更新与先前账户相关的信息。例如,您必须将 AWS Identity and Access Management(IAM)角色的 Amazon Resource Name(ARN)替换为新账户的 IAM 角色 ARN。
如果您使用带有
cfg
的 eb create 命令,系统将使用指定的已保存的配置文件创建新环境。有关更多信息,请参阅 使用 Elastic Beanstalk 保存的配置。
-
从同一个 AWS 账户中的 EC2-Classic 迁移环境
现有的 AWS 账户可能具有无法迁移到新 AWS 账户的资源。在这种情况下,您必须重新创建环境并为您创建的每个环境手动配置 VPC。
先决条件
开始之前,您必须拥有 VPC。您可以通过以下方式之一创建非默认(自定义)VPC:
-
使用 Amazon VPC 控制台向导,您可以使用其中一个可用的配置选项快速创建 VPC。有关更多信息,请参阅 Amazon VPC 控制台向导配置。
-
如果您对 VPC 有更具体的要求,请在 Amazon VPC 控制台上创建自定义 VPC。例如,如果您的使用案例需要特定数量的子网,我们建议您这样做。有关更多信息,请参阅 VPC 和子网。
-
如果您希望在 Elastic Beanstalk 环境中使用 AWS CloudFormation 模板,请使用 GitHub 网站上的 elastic-beanstalk-samples
存储库来创建 VPC。此存储库包括 AWS CloudFormation 模板。有关更多信息,请参阅 将 Elastic Beanstalk 和 Amazon VPC 结合使用。
在以下步骤中,您可以在新环境中配置 VPC 时使用生成的 VPC ID 和子网 ID。
-
创建与现有环境包含相同配置的新环境。您可以使用以下方法之一实现这一点。
注意
“保存的配置”功能可以帮助您在新账户中重新创建环境。此功能可以保存环境配置,因此您可以在创建或更新其他环境时应用它。有关更多信息,请参阅 使用 Elastic Beanstalk 保存的配置。
-
使用 Elastic Beanstalk 控制台
,在您配置新环境时应用从 EC2-Classic 环境中保存的配置。此配置将使用 VPC。有关更多信息,请参阅 使用 Elastic Beanstalk 保存的配置。 -
使用 Elastic Beanstalk 命令行界面 (EB CLI),运行 eb create 命令以重新创建环境。提供原始环境的参数和 VPC 标识符。eb create 命令描述中的其中一个示例演示了如何在自定义 VPC 中创建环境。
-
使用 AWS Command Line Interface(AWS CLI),并使用 elasticbeanstalk create-environment 命令重新创建环境。使用 VPC 标识符提供原始环境的参数。有关说明,请参阅 使用 AWS CLI 创建 Elastic Beanstalk 环境。
-
-
将现有环境的别名记录与新环境交换。这样就可以使用熟悉的地址引用创建的新环境。您可以使用 EB CLI 或 AWS CLI。
-
使用 EB CLI,通过运行 eb swap 命令交换环境别名记录。有关更多信息,请参阅 使用 Elastic Beanstalk 命令行界面 (EB CLI)。
-
使用 AWS CLI,通过 elasticbeanstalk swap-environment-cnames 命令交换环境别名记录。有关更多信息,请参阅 AWS CLI 命令参考。
-