将在 Amazon Linux 上运行的多容器 Docker 迁移到 Amazon Linux 2023 上的 ECS - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将在 Amazon Linux 上运行的多容器 Docker 迁移到 Amazon Linux 2023 上的 ECS

2022 年 7 月 18 日,Elastic Beanstalk 将基于 Amazon Linux AMI(AL1)的所有平台分支的状态设置为已停用这包括平台分支 64 位 Amazon Linux 上运行的多容器 Docker。本主题将指导您将应用程序从此已停用平台分支迁移到在 64 位 AL2023 上运行的 ECS。此目标平台分支是最新的并且受支持。

类似于先前的多容器 Docker AL1 分支,新的 ECS AL2023 平台分支使用 Amazon ECS,将多个 Docker 容器协调部署到 Elastic Beanstalk 环境中的 Amazon ECS 集群。新的 ECS AL2023 平台分支支持先前的多容器 Docker AL1 平台分支的所有功能。此外,还支持相同的 Dockerrun.aws.json v2 文件。

使用 Elastic Beanstalk 控制台来迁移

要使用 Elastic Beanstalk 控制台进行迁移,请将相同的源代码部署到基于在 AL2023 上运行的 ECS 平台分支的新环境。源代码无需更改。

迁移到在 Amazon Linux 2023 上运行的 ECS 平台分支
  1. 使用已部署到旧环境的应用程序源,创建应用程序源包。您可以使用相同的应用程序源包和相同的 Dockerrun.aws.json v2 文件。

  2. 使用在 Amazon Linux 2023 上运行的 ECS 平台分支创建新环境。将上一步骤中的源捆绑包用于应用程序代码。有关更多详细步骤,请参阅本章前面 ECS 托管的 Docker 教程中的 部署到 Elastic Beanstalk

使用 Amazon CLI 迁移

您还可以选择使用 Amazon Command Line Interface(Amazon CLI)将现有的多容器 Docker Amazon Linux Docker 环境迁移到更新的 ECS AL2023 平台分支。在这种情况下,您无需创建新环境或重新部署源代码。您只需运行 Amazon CLI update-environment 命令。它将执行平台更新,以将现有环境迁移到 ECS Amazon Linux 2023 平台分支。

使用以下语法将环境迁移到新的平台分支。

aws elasticbeanstalk update-environment \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2023 version running ECS" \ --region my-region

以下命令示例是在 us-east-1 区域将环境 beta-101 迁移到 版本 3.0.0ECS Amazon Linux 2023 平台分支。

aws elasticbeanstalk update-environment \ --environment-name beta-101 \ --solution-stack-name "64bit Amazon Linux 2023 v4.0.0 running ECS" \ --region us-east-1

solution-stack-name 参数提供平台分支及其版本。通过指定合适的解决方案堆栈名称来使用最新的平台分支版本。每个平台分支的版本都包含在解决方案堆栈名称中,如上例所示。有关 Docker 平台最新解决方案堆栈的列表,请参阅Amazon Elastic Beanstalk平台指南中的支持平台

注意

list-available-solution-stacks 命令提供 Amazon 区域中您的账户可用的平台版本列表。

aws elasticbeanstalk list-available-solution-stacks --region us-east-1 --query SolutionStacks

要了解有关 Amazon CLI 的更多信息,请参阅Amazon Command Line Interface用户指南。有关 Elastic Beanstalk Amazon CLI 命令的更多信息,请参阅 Amazon CLIElastic Beanstalk 命令参考