

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

# 從 Amazon Linux 2 遷移至 Amazon Linux 2023 Amazon ECS 最佳化 AMI
<a name="al2-to-al2023-ami-transition"></a>

遵循 [Amazon Linux](https://aws.amazon.com/amazon-linux-2/faqs) 支援政策，Amazon ECS 將於 2026 年 6 月 30 日起終止對 Amazon Linux 2 Amazon ECS 最佳化 AMI 的標準支援。此日期之後，Amazon ECS 代理程式版本將被固定，且僅當來源 Amazon Linux 2 AMI 進行更新時，才會發布新的 Amazon Linux 2 Amazon ECS 最佳化 AMI。完整終止服務 (EOL) 將與 2026 年 6 月 30 日生效，此後將不再發布 Amazon ECS 最佳化的 Amazon Linux 2 AMI，即使來源 AMI 有更新亦是如此。

Amazon Linux 2023 採用預設安全的方式，具備預先設定的安全政策、處於寬容模式的 SELinux、預設啟用的僅 IMDSv2 模式、最佳化的開機時間以及改善的套件管理功能，可大幅提升安全性與效能。

Amazon Linux 2 與 Amazon Linux 2023 Amazon ECS 最佳化 AMI 之間具有高度相容性，大多數客戶在這兩個作業系統之間遇到的工作負載變更很小，甚至為零。

如需詳細資訊，請參閱 *Amazon Linux 2023 User Guide* 中的 [Comparing Amazon Linux 2 and *Amazon Linux 2023*](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html)，以及 [AL2023 FAQs](https://aws.amazon.com/linux/amazon-linux-2023/faqs)。

## 相容性考量
<a name="al2-to-al2023-ami-transition-compatibility"></a>

### 套件管理與作業系統更新
<a name="al2-to-al2023-ami-transition-compatibility-package-management"></a>

與舊版本的 Amazon Linux 不同，Amazon ECS 最佳化 Amazon Linux 2023 AMI 會鎖定到特定版本的 Amazon Linux 儲存庫。這可以防止使用者意外更新套件，導致非必要變更或重大變更。如需詳細資訊，請參閱 *Amazon Linux 2023 User Guide* 中的 [Managing repositories and OS updates in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html)。

### Linux 核心版本
<a name="al2-to-al2023-ami-transition-compatibility-kernel"></a>

Amazon Linux 2 AMI 以 Linux 核心 4.14 與 5.10 為基礎，而 Amazon Linux 2023 使用 Linux 核心 6.1 與 6.12。如需詳細資訊，請參閱 *Amazon Linux 2023 User Guide* 中的 [Comparing Amazon Linux 2 and Amazon Linux 2023 kernels](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2-kernel.html)。

### 套件可用性變更
<a name="al2-to-al2023-ami-transition-compatibility-packages"></a>

以下是 Amazon Linux 2023 中的重要套件變更：
+ Amazon Linux 2 中的部分來源二進位套件在 Amazon Linux 2023 中不再提供。如需詳細資訊，請參閱 *Amazon Linux 2023 Release Notes* 中的 [Packages removed from Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/release-notes/removed.html)。
+ Amazon Linux 支援不同版本套件方式的變更。Amazon Linux 2 中使用的 `amazon-linux-extras` 系統不存在於 Amazon Linux 2023 中。所有套件皆可在「核心」儲存庫中使用。
+ Amazon Linux 2023 不支援適用於 Enterprise Linux (EPEL) 的額外套件。如需詳細資訊，請參閱 *Amazon Linux 2023 User Guide* 中的 [EPEL compatibility in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/epel.html)。
+ Amazon Linux 2023 不支援 32 位元應用程式。如需詳細資訊，請參閱 *Amazon Linux 2023 User Guide* 中的 [Deprecated features from Amazon Linux 2](https://docs.aws.amazon.com/linux/al2023/ug/deprecated-al2.html#deprecated-32bit-rpms)。

### 控制群組 (cgroups) 變更
<a name="al2-to-al2023-ami-transition-compatibility-cgroups"></a>

控制群組 (cgroup) 是 Linux 核心功能，用於階層式整理程序並為其分配系統資源。控制組廣泛用於執行容器執行期，並由 `systemd` 執行。

Amazon ECS 代理程式、Docker 與 containerd 都支援 cgroupv1 及 cgroupv2。Amazon ECS 代理程式與容器執行時期會代為管理 cgroup，因此 Amazon ECS 客戶不需要為此底層 cgroup 升級進行任何變更。

如需有關 cgroupv2 的更多詳細資訊，請參閱 *Amazon Linux 2023 User Guide* 中的 [Control groups v2 in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/cgroupv2.html)。

### 執行個體中繼資料服務 (IMDS) 變更
<a name="al2-to-al2023-ami-transition-compatibility-imds"></a>

Amazon Linux 2023 預設需要執行個體中繼資料服務第 2 版 (IMDSv2)。IMDSv2 有多項優勢，有助於改善安全狀態。它使用面向工作階段的身分驗證方法，需要透過一個簡單的 HTTP PUT 請求來建立一個秘密權杖以啟動工作階段。工作階段的權杖有效期可設定為 1 秒至 6 小時之間的任何時間。

如需有關從 IMDSv1 轉換至 IMDSv2 的詳細資訊，請參閱 *Amazon EC2 User Guide* 中的 [Transition to using Instance Metadata Service Version 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.html)。

若您仍想使用 IMDSv1，可以透過使用執行個體中繼資料選項啟動屬性，手動覆寫設定來實現。

### 記憶體交換積極性變更
<a name="al2-to-al2023-ami-transition-compatibility-memory-swappiness"></a>

Amazon Linux 2023 與 cgroups v2 不支援容器層級的記憶體交換積極性。如需詳細資訊，請參閱[在 Amazon ECS 上管理容器交換記憶體空間](container-swap.md)。

### FIPS 驗證變更
<a name="al2-to-al2023-ami-transition-compatibility-fips"></a>

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

若要在 Amazon Linux 2023 上啟用 FIPS 模式，需在 Amazon EC2 執行個體上安裝必要套件，並遵循 *Amazon Linux 2023 User Guide* 中 [Enable FIPS Mode on Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/fips-mode.html) 的說明執行設定步驟。

### 加速執行個體支援
<a name="al2-to-al2023-ami-transition-compatibility-accelerated"></a>

Amazon ECS 最佳化 Amazon Linux 2023 AMI 同時支援 Neuron 與 GPU 兩種加速執行個體類型。如需詳細資訊，請參閱[Amazon ECS 最佳化 Linux AMI](ecs-optimized_AMI.md)。

## 建置自訂 AMI
<a name="al2-to-al2023-ami-transition-custom-ami"></a>

雖然建議遷移至官方支援與發布的 Amazon Linux 2023 Amazon ECS 最佳化 AMI，但也可透過用於建置 Amazon ECS 最佳化 AMI Linux 變體的開放原始碼建置指令碼，繼續建置自訂的 Amazon Linux 2 Amazon ECS 最佳化 AMI。如需詳細資訊，請參閱[Amazon ECS 最佳化 Linux AMI 建置指令碼](ecs-ami-build-scripts.md)。

## 遷移策略
<a name="al2-to-al2023-ami-transition-migration"></a>

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

### 透過 Amazon ECS 容量提供者進行遷移
<a name="al2-to-al2023-ami-transition-migration-capacity-providers"></a>

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

1. 更新叢集的預設容量提供者策略，使其同時包含現有的 Amazon Linux 2 容量提供者與新的 Amazon Linux 2023 容量提供者。初始權重設定應以 Amazon Linux 2 提供者為主 (例如權重 80)，Amazon Linux 2023 提供者為輔 (例如權重 20)。這會使 Amazon ECS 在排程新任務時，開始佈建 Amazon Linux 2023 執行個體。確認這些執行個體能正確註冊，且任務能在新的執行個體上順利執行。

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

1. 選擇性地排空 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 群組進行遷移
<a name="al2-to-al2023-ami-transition-migration-asg"></a>

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

1. 向上擴展 Auto Scaling 群組，使 Amazon Linux 2023 執行個體開始向叢集進行註冊。確認這些執行個體能正確註冊，且任務能在新的執行個體上順利執行。

1. 確認任務在 Amazon Linux 2023 上運作後，請向上擴展 Amazon Linux 2023 Auto Scaling 群組，同時逐步縮減 Amazon Linux 2 Auto Scaling 群組規模，直至完全替換所有 Amazon Linux 2 執行個體為止。

1. 如果有足夠的 Amazon Linux 2023 替代容量，建議您明確排空容器執行個體，加速將任務從 Amazon Linux 2 轉換至 Amazon Linux 2023。如需詳細資訊，請參閱[排空 Amazon ECS 容器執行個體](container-instance-draining.md)。

### 透過手動受管執行個體進行遷移
<a name="al2-to-al2023-ami-transition-migration-manual"></a>

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

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

1. 透過隨需啟動額外的 Amazon Linux 2023 執行個體，逐步取代 Amazon Linux 2 執行個體，接著手動逐台排空並終止 Amazon Linux 2 執行個體。您可以透過 Amazon ECS 主控台將執行個體設定為 `DRAINING` 狀態來排空執行個體，這會停止在其中置放新任務，並允許現有任務完成或在別處重新排程。