將執行於 Amazon Linux 的多容器 Docker 遷移至執行於 Amazon Linux 2023 的 ECS - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將執行於 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.jsonv2 檔案。

  2. 使用執行於 Amazon Linux 2023 的 ECS 平台分支建立新環境。使用先前步驟所述應用程式的程式碼中的原始碼套件。如需詳細步驟,請參閱本章前面所述 ECS 受管 Docker 教學中的 部署到 Elastic Beanstalk

使用 AWS CLI 遷移

您還可以選擇使用 AWS Command Line Interface (AWS CLI) 將您現有的多容器 Docker Amazon Linux Docker 環境遷移至新版 ECS AL2023 平台分支。在此情況下,您無需建立新的環境或重新部署您的原始程式碼。您只需執行 AWS 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.0 版 ECS 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 平台的最新解決方案堆疊清單,請參閱 AWS Elastic Beanstalk 平台指南中的支援的平台

注意

list-available-solution-stacks 命令能提供您帳戶在 AWS 區域可以使用的平台版本清單。

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

若要進一步了解 AWS CLI,請參閱 AWS Command Line Interface 使用者指南。如需有關 Elastic Beanstalk AWS CLI 命令的詳細資訊,請參閱 AWS CLIElastic Beanstalk 命令參考