從 Amazon Linux 2 遷移至 Amazon Linux 2023 Amazon ECS 最佳化 AMI - Amazon Elastic Container Service

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

從 Amazon Linux 2 遷移至 Amazon Linux 2023 Amazon ECS 最佳化 AMI

Amazon Linux 之後,Amazon ECS 終止對 Amazon Linux 2 Amazon ECS 最佳化 AMIs 的標準支援,自 2026 年 6 月 30 日起生效。在此日期之後,Amazon ECS 代理程式版本會固定,只有在來源 Amazon Linux 2 AMIs 更新時,才會發佈新的 Amazon Linux 2 Amazon ECS 最佳化 AMI。完整生命週期結束 (EOL) 發生在 2026 年 6 月 30 日,之後即使來源 AMIs 已更新,也不會再發佈 Amazon ECS 最佳化的 Amazon Linux 2 AMI。

Amazon Linux 2023 secure-by-default方法,其中包含預先設定的安全政策、處於寬鬆模式的 SELinux、預設啟用 IMDSv2-only模式、最佳化開機時間,以及增強安全性和效能的改善套件管理。

Amazon Linux 2 和 Amazon Linux 2023 Amazon ECS 最佳化 AMIs 之間具有高度相容性,大多數客戶都會在兩個作業系統之間的工作負載中遇到minimal-to-zero的變更。

如需詳細資訊,請參閱《Amazon Linux 2023 使用者指南》中的比較 Amazon Linux 2 和 Amazon Linux 2023AL2023 FAQs

相容性考量

套件管理和作業系統更新

與舊版 Amazon Linux 不同,Amazon ECS 最佳化的 Amazon Linux 2023 AMIs 會鎖定至特定版本的 Amazon Linux 儲存庫。這可以防止使用者不小心更新套件,這可能會導致不必要的或重大的變更。如需詳細資訊,請參閱《Amazon Linux 2023 使用者指南》中的管理 Amazon Linux 2023 中的儲存庫和作業系統更新

Linux 核心版本

Amazon Linux 2 AMIs 是以 Linux 核心 4.14 和 5.10 為基礎,而 Amazon Linux 2023 使用 Linux 核心 6.1 和 6.12。如需詳細資訊,請參閱《Amazon Linux 2023 使用者指南》中的比較 Amazon Linux 2 和 Amazon Linux 2023 核心

套件可用性變更

以下是 Amazon Linux 2023 中值得注意的套件變更:

控制群組 (群組) 變更

控制群組 (cgroup) 是一種 Linux 核心功能,可階層組織程序並在其中分配系統資源。控制組廣泛用於執行容器執行期,並由 systemd 執行。

Amazon ECS 代理程式、Docker 和 containerd 都支援 cgroupv1 和 cgroupv2。Amazon ECS 代理程式和容器執行期會為您管理 cgroup,因此 Amazon ECS 客戶不需要為此基礎 cgroup 升級進行任何變更。

如需 cgroupv2 的更多詳細資訊,請參閱《Amazon Linux 2023 使用者指南》中的 Amazon Linux 2023 中的控制群組 v2

執行個體中繼資料服務 (IMDS) 變更

Amazon Linux 2023 預設需要執行個體中繼資料服務第 2 版 (IMDSv2)。IMDSv2 有多項優點,有助於改善安全狀態。它使用工作階段導向的身分驗證方法,需要在簡單的 HTTP PUT 請求中建立秘密字符,以啟動工作階段。工作階段的權杖可以在 1 秒到 6 小時之間的任何位置有效。

如需如何從 IMDSv1 轉換至 IMDSv2 的詳細資訊,請參閱《Amazon EC2 使用者指南》中的轉換為使用執行個體中繼資料服務第 2 版

如果您想要使用 IMDSv1,仍然可以使用執行個體中繼資料選項啟動屬性手動覆寫設定來執行此操作。

記憶體交換變更

Amazon Linux 2023 和 cgroups v2 不支援每個容器的記憶體交換。如需詳細資訊,請參閱管理 Amazon ECS 上的容器交換記憶體空間

FIPS 驗證變更

Amazon Linux 2 已通過 FIPS 140-2 認證,Amazon Linux 2023 已通過 FIPS 140-3 認證。

若要在 Amazon Linux 2023 上啟用 FIPS 模式,請在 Amazon EC2 執行個體上安裝必要的套件,並依照《Amazon Linux 2023 使用者指南》中的在 Amazon Linux 2023 上啟用 FIPS 模式中的指示執行組態步驟。

加速執行個體支援

Amazon ECS 最佳化 Amazon Linux 2023 AMIs 支援 Neuron 和 GPU 加速執行個體類型。如需詳細資訊,請參閱Amazon ECS 最佳化 Linux AMIs

建置自訂 AMIs

雖然我們建議移至官方支援和發佈的 Amazon Linux 2023 Amazon ECS 最佳化 AMIs,但您可以使用用於建置 Amazon ECS 最佳化 AMIs Linux 變體的開放原始碼建置指令碼,繼續建置自訂 Amazon Linux 2 Amazon ECS 最佳化 AMI。如需詳細資訊,請參閱Amazon ECS 最佳化 Linux AMI 建置指令碼

遷移策略

建議您建立並實作包含完整應用程式測試的遷移計劃。以下各節根據您管理 Amazon ECS 基礎設施的方式概述不同的遷移策略。

使用 Amazon ECS 容量提供者遷移

  1. 使用新的啟動範本建立新的容量提供者。這應該參考具有類似現有啟動範本的 Auto Scaling 群組,但它應該指定其中一個 Amazon Linux 2023 變體,而不是 Amazon Linux 2 Amazon ECS 最佳化 AMI。將此新的容量提供者新增至您現有的 Amazon ECS 叢集。

  2. 更新叢集的預設容量提供者策略,以包含現有的 Amazon Linux 2 容量提供者和新的 Amazon Linux 2023 容量提供者。從 Amazon Linux 2 提供者的較高權重和 Amazon Linux 2023 提供者的較低權重開始 (例如,Amazon Linux 2:權重 80、Amazon Linux 2023:權重 20)。這會導致 Amazon ECS 在排程新任務時開始佈建 Amazon Linux 2023 執行個體。確認執行個體已正確註冊,且任務能夠在新的執行個體上成功執行。

  3. 逐漸調整叢集預設策略中的容量提供者權重,增加 Amazon Linux 2023 提供者的權重,同時隨著時間減少 Amazon Linux 2 提供者權重 (例如 60/40、40/60、20/80)。您也可以更新個別服務容量提供者策略,以排定 Amazon Linux 2023 執行個體的優先順序。監控任務置放,以確保它們在 Amazon Linux 2023 執行個體上成功執行。

  4. 選擇性地耗盡 Amazon Linux 2 容器執行個體,以加速任務遷移。如果您有足夠的 Amazon Linux 2023 替換容量,您可以透過 Amazon ECS 主控台手動耗盡 Amazon Linux 2 容器執行個體 AWS CLI ,或加速將任務從 Amazon Linux 2 轉移至 Amazon Linux 2023。遷移完成後,從您的叢集中移除 Amazon Linux 2 容量提供者,並刪除相關聯的 Auto Scaling 群組。

使用 Amazon EC2 Auto Scaling 群組遷移

  1. 使用新的啟動範本建立新的 Amazon EC2 Auto Scaling 群組。這應該與您現有的啟動範本類似,但它應該指定其中一個 Amazon Linux 2023 變體,而不是 Amazon Linux 2 Amazon ECS 最佳化 AMI。這個新的 Auto Scaling 群組可以啟動執行個體到您現有的叢集。

  2. 擴展 Auto Scaling 群組,讓您開始讓 Amazon Linux 2023 執行個體註冊到您的叢集。確認執行個體已正確註冊,且任務能夠在新的執行個體上成功執行。

  3. 驗證您的任務在 Amazon Linux 2023 上運作後,請擴展 Amazon Linux 2023 Auto Scaling 群組,同時逐步縮減 Amazon Linux 2 Auto Scaling 群組,直到您完全取代所有 Amazon Linux 2 執行個體為止。

  4. 如果您有足夠的 Amazon Linux 2023 替換容量,建議您明確耗盡容器執行個體,以加速將任務從 Amazon Linux 2 轉移至 Amazon Linux 2023。如需詳細資訊,請參閱耗盡 Amazon ECS 容器執行個體

使用手動受管執行個體遷移

  1. 使用 Amazon EC2023 AMI 而非 Amazon Linux 2 手動啟動 (或調整啟動的指令碼) 新的 Amazon EC2 執行個體。確保這些執行個體使用與現有 Amazon Linux 2 執行個體相同的安全群組、子網路、IAM 角色和叢集組態。執行個體應在啟動時自動註冊到現有的 Amazon ECS 叢集。

  2. 確認新的 Amazon Linux 2023 執行個體已成功註冊到您的 Amazon ECS 叢集並處於 ACTIVE 狀態。透過等待自然任務置放或手動停止/啟動一些任務來觸發重新排程,測試任務是否可以排程並在這些新執行個體上正常執行。

  3. 視需要啟動其他 Amazon Linux 2023 執行個體,然後逐一手動耗盡和終止 Amazon Linux 2 執行個體,以逐漸取代您的 Amazon Linux 2 執行個體。您可以透過 Amazon ECS 主控台將執行個體設定為 DRAINING 狀態來耗盡執行個體,這會停止在其上放置新任務,並允許現有任務完成或在別處重新排程。