

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

# Amazon ECS 最佳化 Linux AMI
<a name="ecs-optimized_AMI"></a>

**重要**  
Amazon ECS 最佳化 Amazon Linux 2 AMI 將於 2026 年 6 月 30 日終止服務，與上游 Amazon Linux 2 作業系統的相同終止服務日期同步 (如需詳細資訊，請參閱 [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/))。建議客戶將應用程式升級至 Amazon Linux 2023，該版本提供直至 2028 年的長期技術支援。如需有關從 Amazon Linux 2 遷移至 Amazon Linux 2023 的資訊，請參閱[從 Amazon Linux 2 Amazon ECS 最佳化 AMI 遷移至 Amazon Linux 2023 Amazon ECS 最佳化 AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/al2-to-al2023-ami-transition.html)。

根據預設，所有 Amazon ECS 最佳化 AMIs 的棄用日期都會設為 AMI 建立日期的兩年後。您可以使用 Amazon EC2 `DescribeImages` API 來檢查 AMI 的棄用狀態和日期。如需詳細資訊，請參閱《*Amazon Elastic Compute Cloud API 參考*》中的 [DescribeImages](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html)。

Amazon ECS 會提供根據執行容器工作負載的需求與建議而預先設定的 Amazon ECS 最佳化 AMI。建議為 Amazon EC2 執行個體使用 Amazon ECS 最佳化 Amazon Linux 2023 AMI。透過最新的 Amazon ECS 最佳化 AMI 啟動您的容器執行個體時，可確保您接收到最新的安全性更新和容器代理程式版本。如需執行個體啟動方式的詳細資訊，請參閱 [啟動 Amazon ECS Linux 容器執行個體](launch_container_instance.md)。

透過主控台建立叢集時，Amazon ECS 會使用與所選作業系統相關聯的最新 AMI 為執行個體建立啟動範本。

當您使用 CloudFormation 建立叢集時，SSM 參數是 Auto Scaling 群組執行個體的 Amazon EC2 啟動範本的一部分。您可以設定範本，透過動態 Systems Manager 參數來決定要部署的 Amazon ECS 最佳化 AMI。此參數可確保每次部署堆疊時，檢查是否有需要套用至 EC2 執行個體的可用更新。如需如何使用 Systems Manager 參數的範例，請參閱 *AWS CloudFormation User Guide* 中的 [Create an Amazon ECS cluster with the Amazon ECS-optimized Amazon Linux 2023 AMI](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#aws-resource-ecs-cluster--examples--Create_an_cluster_with_the_Amazon_Linux_2023_ECS-Optimized-AMI)。

如需自訂 Amazon ECS 最佳化 AMI，請參閱 GitHub 上的 [Amazon ECS Optimized AMI Build Recipes](https://github.com/aws/amazon-ecs-ami)。

下列 Amazon ECS 最佳化 AMI 的變體適用於搭配 Amazon Linux 2023 作業系統的 Amazon EC2 執行個體。


| 作業系統 | AMI | Description | 儲存組態 | 
| --- | --- | --- | --- | 
| Amazon Linux 2023 |  Amazon ECS 最佳化 Amazon Linux 2023 AMI |  Amazon Linux 2023 是新一代的 Amazon Linux AWS。建議在大部分情況下為 Amazon ECS 工作負載啟動 Amazon EC2 執行個體。如需詳細資訊，請參閱 *Amazon Linux 2023 使用者指南*中的[什麼是 Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html)。  | 根據預設，Amazon ECS 最佳化 Amazon Linux 2023 AMI 附有單個 30 GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2023 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
| Amazon Linux 2023 (arm64) |  Amazon ECS 最佳化 Amazon Linux 2023 (arm64) AMI |  此 AMI 以 Amazon Linux 2023 為基礎，建議在啟動 Amazon EC2 執行個體 (採用 ARM 型 AWS Graviton/Graviton 2/Graviton 3/Graviton 4 處理器的執行個體) 時為 Amazon ECS 工作負載採用。如需詳細資訊，請參閱 *Amazon EC2 Instance Types guide* 中的 [Specifications for the Amazon EC2 general purpose instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html)。  | 根據預設，Amazon ECS 最佳化 Amazon Linux 2023 AMI 附有單個 30 GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2023 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
| Amazon Linux 2023 (Neuron) |  Amazon ECS 最佳化 Amazon Linux 2023 AMI  |  此 AMI 以 Amazon Linux 2023 為基礎，適用於 Amazon EC2 Inf1、Trn1 或 Inf2 執行個體。它預先設定了 AWS Inferentia 和 AWS Trainium 驅動程式，以及 Docker 的 AWS Neuron 執行時間，這使得在 Amazon ECS 上執行機器學習推論工作負載更加輕鬆。如需詳細資訊，請參閱[AWS Neuron 機器學習工作負載的 Amazon ECS 任務定義](ecs-inference.md)。 Amazon ECS 最佳化 Amazon Linux 2023 (Neuron) AMI 未預先安裝 AWS CLI 。  | 根據預設，Amazon ECS 最佳化 Amazon Linux 2023 AMI 附有單個 30 GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2023 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
| Amazon Linux 2023 GPU | Amazon ECS 最佳化 Amazon Linux 2023 GPU AMI |  根據 Amazon Linux 2023，建議在為 Amazon ECS 工作負載啟動 Amazon EC2 GPU 型執行個體時使用此 AMI。它配備有已預先設定的 NVIDIA 核心驅動程式和 Docker GPU 執行時間，可讓您在 Amazon ECS 上執行利用 GPU 的工作負載。如需詳細資訊，請參閱[GPU 工作負載的 Amazon ECS 任務定義](ecs-gpu.md)。  | 根據預設，Amazon ECS 最佳化 Amazon Linux 2023 AMI 附有單個 30 GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2023 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 

下列 Amazon ECS 最佳化 AMI 的變體適用於搭配 Amazon Linux 2 作業系統的 Amazon EC2 執行個體。


| 作業系統 | AMI | Description | 儲存組態 | 
| --- | --- | --- | --- | 
|  **Amazon Linux 2**   |  Amazon ECS 最佳化 Amazon Linux 2 核心 5.10 AMI | 以 Amazon Linux 2 為基礎，在啟動 Amazon EC2 執行個體時使用此 AMI，而針對 Amazon ECS 工作負載，則使用 Linux 核心 5.10 而不是核心 4.14。Amazon ECS 最佳化 Amazon Linux 2 核心 5.10 AMI 未預先安裝 AWS CLI 。 | 依預設，基於 Amazon Linux 2 的 Amazon ECS 最佳化 AMI (Amazon ECS 最佳化 Amazon Linux 2 AMI、Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 和 Amazon ECS GPU 最佳化 AMI) 隨附有一個 30-GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
|  **Amazon Linux 2**  |  Amazon ECS 最佳化 Amazon Linux 2 AMI | 這適用於您的 Amazon ECS 工作負載。Amazon ECS 最佳化 Amazon Linux 2 AMI 不提供 AWS CLI 預先安裝。 | 依預設，基於 Amazon Linux 2 的 Amazon ECS 最佳化 AMI (Amazon ECS 最佳化 Amazon Linux 2 AMI、Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 和 Amazon ECS GPU 最佳化 AMI) 隨附有一個 30-GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
|  **Amazon Linux 2 (arm64)**  |  Amazon ECS 最佳化 Amazon Linux 2 核心 5.10 (arm64) AMI |  以 Amazon Linux 2 為基礎，此 AMI 適用於您的 Amazon EC2 執行個體，其採用 Arm 型 AWS Graviton/Graviton 2/Graviton 3/Graviton 4 處理器，而且您想要針對 Amazon ECS 工作負載使用 Linux 核心 5.10 而非 Linux 核心 4.14。如需詳細資訊，請參閱 *Amazon EC2 Instance Types guide* 中的 [Specifications for Amazon EC2 general purpose instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html)。 Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 不會隨附 AWS CLI 預先安裝的 。  | 依預設，基於 Amazon Linux 2 的 Amazon ECS 最佳化 AMI (Amazon ECS 最佳化 Amazon Linux 2 AMI、Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 和 Amazon ECS GPU 最佳化 AMI) 隨附有一個 30-GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
| Amazon Linux 2 (arm64) | Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI |  根據 Amazon Linux 2，此 AMI 適用於啟動 Amazon EC2 執行個體時，這些執行個體採用 Arm 型 AWS Graviton/Graviton 2/Graviton 3/Graviton 4 處理器，適用於 Amazon ECS 工作負載。 Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 不會隨附 AWS CLI 預先安裝的 。  | 依預設，基於 Amazon Linux 2 的 Amazon ECS 最佳化 AMI (Amazon ECS 最佳化 Amazon Linux 2 AMI、Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 和 Amazon ECS GPU 最佳化 AMI) 隨附有一個 30-GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
|  **Amazon Linux 2 (GPU)**  | Amazon ECS GPU 最佳化核心 5.10 AMI | 此 AMI 以 Amazon Linux 2 為基礎，建議在啟動基於 Amazon EC2 GPU 的執行個體時，搭配 Linux 核心 5.10 為 Amazon ECS 工作負載採用。它配備有已預先設定的 NVIDIA 核心驅動程式和 Docker GPU 執行時間，可讓您在 Amazon ECS 上執行利用 GPU 的工作負載。如需詳細資訊，請參閱[GPU 工作負載的 Amazon ECS 任務定義](ecs-gpu.md)。 | 依預設，基於 Amazon Linux 2 的 Amazon ECS 最佳化 AMI (Amazon ECS 最佳化 Amazon Linux 2 AMI、Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 和 Amazon ECS GPU 最佳化 AMI) 隨附有一個 30-GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
| Amazon Linux 2 (GPU) | Amazon ECS GPU 最佳化 AMI | 此 AMI 以 Amazon Linux 2 為基礎，建議在啟動基於 Amazon EC2 GPU 的執行個體時，搭配 Linux 核心 4.14 為 Amazon ECS 工作負載採用。它配備有已預先設定的 NVIDIA 核心驅動程式和 Docker GPU 執行時間，可讓您在 Amazon ECS 上執行利用 GPU 的工作負載。如需詳細資訊，請參閱[GPU 工作負載的 Amazon ECS 任務定義](ecs-gpu.md)。 | 依預設，基於 Amazon Linux 2 的 Amazon ECS 最佳化 AMI (Amazon ECS 最佳化 Amazon Linux 2 AMI、Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 和 Amazon ECS GPU 最佳化 AMI) 隨附有一個 30-GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
| Amazon Linux 2 (Neuron)  | Amazon ECS 最佳化 Amazon Linux 2 (Neuron) 核心 5.10 AMI  | 以 Amazon Linux 2 為基礎，此 AMI 適用於 Amazon EC2 Inf1、Trn1 或 Inf2 執行個體。它預先設定了 AWS Inferentia 搭配 Linux 核心 5.10 和 AWS Trainium 驅動程式，以及 Docker 的 AWS Neuron 執行期，這使得在 Amazon ECS 上執行機器學習推論工作負載更加輕鬆。如需詳細資訊，請參閱[AWS Neuron 機器學習工作負載的 Amazon ECS 任務定義](ecs-inference.md)。Amazon ECS 最佳化 Amazon Linux 2 (Neuron) AMI 不會隨附 AWS CLI 預先安裝的 。 | 依預設，基於 Amazon Linux 2 的 Amazon ECS 最佳化 AMI (Amazon ECS 最佳化 Amazon Linux 2 AMI、Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 和 Amazon ECS GPU 最佳化 AMI) 隨附有一個 30-GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 
| Amazon Linux 2 (Neuron)  | Amazon ECS 最佳化 Amazon Linux 2 (Neuron) AMI | 以 Amazon Linux 2 為基礎，此 AMI 適用於 Amazon EC2 Inf1、Trn1 或 Inf2 執行個體。它預先設定了 AWS Inferentia 和 AWS Trainium 驅動程式，以及 Docker 的 AWS Neuron 執行期，這使得在 Amazon ECS 上執行機器學習推論工作負載更加輕鬆。如需詳細資訊，請參閱[AWS Neuron 機器學習工作負載的 Amazon ECS 任務定義](ecs-inference.md)。Amazon ECS 最佳化 Amazon Linux 2 (Neuron) AMI 不會隨附 AWS CLI 預先安裝的 。 | 依預設，基於 Amazon Linux 2 的 Amazon ECS 最佳化 AMI (Amazon ECS 最佳化 Amazon Linux 2 AMI、Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI 和 Amazon ECS GPU 最佳化 AMI) 隨附有一個 30-GiB 的根磁碟區。您可以在修改啟動階段的這個 30 GiB 根磁碟區，增加或減少您容器執行個體的可用儲存體。此儲存體用於作業系統和 Docker 映像及中繼資料。Amazon ECS 最佳化 Amazon Linux 2 AMI 的預設檔案系統為 `xfs`，並且 Docker 使用 `overlay2` 儲存驅動程式。如需詳細資訊，請參閱 Docker 文件中的[使用 OverlayFS 儲存體驅動程式](https://docs.docker.com/engine/storage/drivers/overlayfs-driver/)。 | 

Amazon ECS 在 GitHub 上提供了 Amazon ECS 最佳化 AMI 的 Linux 變體變更記錄。如需詳細資訊，請參閱[變更記錄](https://github.com/aws/amazon-ecs-ami/blob/main/CHANGELOG.md)。

Amazon ECS 最佳化 AMI 的 Linux 變體使用 Amazon Linux 2 AMI 或 Amazon Linux 2023 AMI 作為其基礎。透過查詢 Systems Manager Parameter Store API，即可擷取每個變體的 AMI 名稱。如需詳細資訊，請參閱[擷取 Amazon ECS 最佳化 Linux AMI 中繼資料](retrieve-ecs-optimized_AMI.md)。此外，還提供 Amazon Linux 2 AMI 版本備註。如需詳細資訊，請參閱 [Amazon Linux 2 版本備註](https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html)。此外，還提供 Amazon Linux 2023 版本備註。如需詳細資訊，請參閱 [Amazon Linux 2023 版本備註](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html)。

下列頁面提供變更的其他資訊：
+ 在 GitHub 上取得[來源 AMI 發行](https://github.com/aws/amazon-ecs-ami/releases)說明
+ Docker 文件中的 [Docker 引擎版本備註](https://docs.docker.com/engine/release-notes/)
+ NVIDIA 文件中的 [NVIDIA 驅動程式文件](https://docs.nvidia.com/datacenter/tesla/index.html)
+ GitHub 上的 [Amazon ECS agent changelog](https://github.com/aws/amazon-ecs-agent/blob/master/CHANGELOG.md)

  `ecs-init` 應用程式的原始程式碼，以及用來封裝代理程式的指令碼和組態，現在已成為代理程式儲存庫的一部分。對於 `ecs-init` 舊版本和封裝，請參閱 GitHub 上的 [Amazon ecs-init 變更紀錄](https://github.com/aws/amazon-ecs-init/blob/master/CHANGELOG.md)

## 將安全性更新套用至 Amazon ECS 最佳化 AMI
<a name="ecs-optimized-AMI-security-changes"></a>

Amazon ECS 最佳化 AMI 以 Amazon Linux 為基礎，包含自訂版本的 cloud-init。Cloud-init 是一種套件，用於在雲端運算環境中引導 Linux 映像，並在啟動執行個體時執行所需的動作。依預設，在 2024 年 6 月 12 日之前發行的所有以 Amazon Linux 為基礎的 Amazon ECS 最佳化 AMI，皆會在執行個體啟動時套用所有「關鍵」與「重要」安全性更新。

自 2024 年 6 月 12 日起，以 Amazon Linux 2 為基礎的 Amazon ECS 最佳化 AMI 版本將不再預設在啟動時更新套件。因此，建議在新版 Amazon ECS 最佳化 AMI 發布時，及時更新至最新版本。Amazon ECS 最佳化 AMI 會在有可用安全性更新或基礎 AMI 變更時發行。這將確保您收到最新的套件版本與安全性更新，而且套件版本在執行個體啟動時不可變。如需有關擷取最新 Amazon ECS 最佳化 AMI 的詳細資訊，請參閱[擷取 Amazon ECS 最佳化 Linux AMI 中繼資料](retrieve-ecs-optimized_AMI.md)。

建議將環境自動化，以便在可用時自動更新至新 AMI。如需有關可用選項的資訊，請參閱 [Amazon ECS enables easier EC2 capacity management, with managed instance draining](https://aws.amazon.com/blogs/containers/amazon-ecs-enables-easier-ec2-capacity-management-with-managed-instance-draining/)。

若要在 AMI 版本上繼續手動套用「關鍵」與「重要」安全性更新，您可以在 Amazon EC2 執行個體上執行下列命令。

```
yum update --security
```

**警告**  
 更新 docker 或容器化套件會停止主機上所有執行中的容器，這表示所有執行中的 Amazon ECS 任務都會停止。據以規劃，將服務中斷降至最低。

若要在啟動時重新啟用安全性更新，您可以在啟動 Amazon EC2 執行個體時，將以下一行新增至 cloud-init 使用者資料的 `#cloud-config` 區段。如需詳細資訊，請參閱 *Amazon Linux User Guide* 中的[Using cloud-init on Amazon Linux 2](https://docs.aws.amazon.com/linux/al2/ug/amazon-linux-cloud-init.html)。

```
#cloud-config
repo_upgrade: security
```

## Amazon ECS 最佳化 AL2023 GPU AMIs 中的版本鎖定套件
<a name="ecs-optimized-ami-version-locked-packages"></a>

某些套件對於 Amazon ECS 最佳化 AL2023 GPU AMIs 中 GPU 功能的正確、高效能行為至關重要。其中包含：
+ NVIDIA 驅動程式 (`nvidia*`)
+ 核心模組 (`kmod*`)
+ NVIDIA 程式庫 (`libnvidia*`)
+ 核心套件 (`kernel*`)

**注意**  
這並非一份詳盡無遺的清單。鎖定套件的完整清單可透過 取得 `dnf versionlock list`

這些套件為版本鎖定，以確保穩定性，並防止可能中斷 GPU 工作負載的意外變更。因此，這些套件通常應該在受管程序的範圍內進行修改，以正常處理潛在問題並維護 GPU 功能。

為了防止意外修改，`dnf versionlock`外掛程式會用於這些套件。

如果您想要修改鎖定的套件，您可以：

```
# unlock a single package
sudo dnf versionlock delete $PACKAGE_NAME

# unlock all packages
sudo dnf versionlock clear
```

**重要**  
需要更新這些套件時，客戶應考慮使用包含必要更新的最新 AMI 版本。如果需要更新現有的執行個體，則應採用涉及解鎖、更新和重新鎖定套件的謹慎方法，始終確保在整個過程中維護 GPU 功能。

# 擷取 Amazon ECS 最佳化 Linux AMI 中繼資料
<a name="retrieve-ecs-optimized_AMI"></a>

您能以程式設計方式擷取 Amazon ECS 最佳化 AMI 中繼資料。中繼資料包括 AMI 名稱、Amazon ECS 容器代理程式版本，以及包含 Docker 版本的 Amazon ECS 執行時期版本。

透過主控台建立叢集時，Amazon ECS 會使用與所選作業系統相關聯的最新 AMI 為執行個體建立啟動範本。

當您使用 CloudFormation 建立叢集時，SSM 參數是 Auto Scaling 群組執行個體的 Amazon EC2 啟動範本的一部分。您可以設定範本，透過動態 Systems Manager 參數來決定要部署的 Amazon ECS 最佳化 AMI。此參數可確保每次部署堆疊時，檢查是否有需要套用至 EC2 執行個體的可用更新。如需如何使用 Systems Manager 參數的範例，請參閱 *AWS CloudFormation User Guide* 中的 [Create an Amazon ECS cluster with the Amazon ECS-optimized Amazon Linux 2023 AMI](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#aws-resource-ecs-cluster--examples--Create_an_cluster_with_the_Amazon_Linux_2023_ECS-Optimized-AMI)。

透過查詢 Systems Manager 參數存放區 API，可以程式設計方式擷取 Amazon ECS 最佳化 AMI 的每個變體的 AMI ID、映像名稱、作業系統、容器代理程式版本、來源映像名稱以及執行時間版本。如需有關 Systems Manager 參數存放區 API 的詳細資訊，請參閱 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) 和 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html)。

**注意**  
您的管理使用者必須擁有以下 IAM 許可，才能擷取 Amazon ECS 最佳化 AMI 中繼資料。已將這些權限新增至 `AmazonECS_FullAccess` IAM 政策。  
ssm:GetParameters
ssm:GetParameter
ssm:GetParametersByPath

## Systems Manager 參數存放區參數格式。
<a name="ecs-optimized-ami-parameter-format"></a>

以下是每個 Amazon ECS 最佳化 AMI 變體的參數名稱格式。

**Linux Amazon ECS 最佳化 AMI**
+ Amazon Linux 2023 AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/<version>
  ```
+ Amazon Linux 2023 (arm64) AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/<version>
  ```
+ Amazon Linux 2023 (Neuron) AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/<version>
  ```
+ Amazon Linux 2023 (GPU) AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2023/gpu/<version>
  ```

  Amazon Linux 2 AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/<version>
  ```
+ Amazon Linux 2 核心 5.10 AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/<version>
  ```
+ Amazon Linux 2 (arm64) AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/<version>
  ```
+ Amazon Linux 2 核心 5.10 (arm64) AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/arm64/<version>
  ```
+ Amazon ECS GPU 最佳化核心 5.10 AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/gpu/<version>
  ```
+ Amazon Linux 2 (GPU) AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/<version>
  ```
+ Amazon ECS 最佳化 Amazon Linux 2 (Neuron) 核心 5.10 AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/inf/<version>
  ```
+ Amazon Linux 2 (Neuron) AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/inf/<version>
  ```

以下參數名稱格式使用子參數 `image_id` 來擷取最新的建議 Amazon ECS 最佳化 Amazon Linux 2 AMI 的映像 ID。

```
/aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id
```

以下參數名稱格式透過指定 AMI 名稱來擷取特定 Amazon ECS 最佳化 AMI 版本的中繼資料。
+ Amazon ECS 最佳化 Amazon Linux 2 AMI 中繼資料：

  ```
  /aws/service/ecs/optimized-ami/amazon-linux-2/amzn2-ami-ecs-hvm-2.0.20181112-x86_64-ebs
  ```

**注意**  
可擷取 Amazon ECS 最佳化 Amazon Linux 2 AMI 的所有版本。只能擷取 Amazon ECS 最佳化 AMI 版本 `amzn-ami-2017.09.l-amazon-ecs-optimized` (Linux) 及更新版本。

## 範例
<a name="ecs-optimized-ami-parameter-examples"></a>

下列範例顯示您可擷取每個 Amazon ECS 最佳化 AMI 變體中繼資料的方法。

### 擷取最新的建議 Amazon ECS 最佳化 AMI 的中繼資料
<a name="ecs-optimized-ami-parameter-examples-1"></a>

您可以使用 AWS CLI 搭配下列 AWS CLI 命令，擷取最新建議的 Amazon ECS 最佳化 AMI。

**Linux Amazon ECS 最佳化 AMI**
+ **對於 Amazon ECS 最佳化 Amazon Linux 2023 AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended --region us-east-1
  ```
+ **對於 Amazon ECS 最佳化 Amazon Linux 2023 (arm64) AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/recommended --region us-east-1
  ```
+ **Amazon ECS 最佳化 Amazon Linux 2023 (Neuron) AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/recommended --region us-east-1
  ```
+ **Amazon ECS 最佳化 Amazon Linux 2023 GPU AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/gpu/recommended --region us-east-1
  ```
+ **對於 Amazon ECS 最佳化 Amazon Linux 2 核心 5.10 AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended --region us-east-1
  ```
+ **對於 Amazon ECS 最佳化 Amazon Linux 2 AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended --region us-east-1
  ```
+ **對於 Amazon ECS 最佳化 Amazon Linux 2 核心 5.10 (arm64) AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/arm64/recommended --region us-east-1
  ```
+ **對於 Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/recommended --region us-east-1
  ```
+ **Amazon ECS GPU 最佳化核心 5.10 AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/gpu/recommended --region us-east-1
  ```
+ **對於 Amazon ECS GPU 最佳化 AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region us-east-1
  ```
+ **Amazon ECS 最佳化 Amazon Linux 2 (Neuron) 核心 5.10 AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/inf/recommended --region us-east-1
  ```
+ **對於 Amazon ECS 最佳化 Amazon Linux 2 (Neuron) AMI：**

  ```
  aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/inf/recommended --region us-east-1
  ```

### 擷取最新建議的 Amazon ECS 最佳化 Amazon Linux 2023 AMI 的映像 ID
<a name="ecs-optimized-ami-parameter-examples-6"></a>

您可以使用子參數 `image_id` 來擷取最新建議的 Amazon ECS 最佳化 Amazon Linux 2023 AMI ID 的映像 ID。

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id --region us-east-1
```

若只要擷取 `image_id` 值，您可以查詢特定的參數值，例如：

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id --region us-east-1 --query "Parameters[0].Value"
```

### 擷取特定 Amazon ECS 最佳化 Amazon Linux 2 AMI 版本的中繼資料
<a name="ecs-optimized-ami-parameter-examples-2"></a>

使用 AWS CLI 搭配下列 AWS CLI 命令，擷取特定 Amazon ECS 最佳化 Amazon Linux AMI 版本的中繼資料。將 AMI 名稱替換為要擷取的 Amazon ECS 最佳化 Amazon Linux AMI 的名稱。

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/amzn2-ami-ecs-hvm-2.0.20200928-x86_64-ebs --region us-east-1
```

### 利用 Systems Manager GetParametersByPath API 來擷取 Amazon ECS 最佳化 Amazon Linux 2 核心 5.10 AMI 中繼資料
<a name="ecs-optimized-ami-parameter-examples-3"></a>

使用 Systems Manager GetParametersByPath API 搭配 AWS CLI 下列命令擷取 Amazon ECS 最佳化 Amazon Linux 2 AMI 中繼資料。

```
aws ssm get-parameters-by-path --path /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/ --region us-east-1
```

### 擷取最新的建議 Amazon ECS 最佳化 Amazon Linux 2 核心 5.10 AMI 的映像 ID
<a name="ecs-optimized-ami-parameter-examples-4"></a>

您可以使用子參數 `image_id` 來擷取最新的建議 Amazon ECS 最佳化 Amazon Linux 2 核心 5.10 AMI ID 的映像 ID。

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended/image_id --region us-east-1
```

若只要擷取 `image_id` 值，您可以查詢特定的參數值，例如：

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id --region us-east-1 --query "Parameters[0].Value"
```

### 在 CloudFormation 範本中使用最新建議的 Amazon ECS 最佳化 AMI
<a name="ecs-optimized-ami-parameter-examples-5"></a>

透過參考 Systems Manager 參數存放區名稱，可以在 CloudFormation 範本中參考最新建議的 Amazon ECS 最佳化 AMI。

**Linux 範例**

```
Parameters:kernel-5.10
  LatestECSOptimizedAMI:
    Description: AMI ID
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    Default: /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended/image_id
```

# 從 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` 狀態來排空執行個體，這會停止在其中置放新任務，並允許現有任務完成或在別處重新排程。

# Amazon ECS 最佳化 Linux AMI 建置指令碼
<a name="ecs-ami-build-scripts"></a>

Amazon ECS 已採用開放原始碼的形式提供建置指令碼，可用於建置 Amazon ECS 最佳化 AMI 的 Linux 變體。這些建置指令碼現可於 GitHub 取得。如需詳細資訊，請參閱 GitHub 上的 [amazon-ecs-ami](https://github.com/aws/amazon-ecs-ami)。

如需自訂 Amazon ECS 最佳化 AMI，請參閱 GitHub 上的 [Amazon ECS Optimized AMI Build Recipies](https://github.com/aws/amazon-ecs-ami)。

此建置指令碼儲存庫包含 [HashiCorp Packer](https://developer.hashicorp.com/packer/docs) 範本及用於產生 Amazon ECS 最佳化 AMI 每個 Linux 變數的建置指令碼。這些指令碼是 Amazon ECS 最佳化 AMI 建置的真實來源，因此您可遵循 GitHub 儲存庫來監控我們 AMI 的變更。例如，您可能希望自己的 AMI 使用的 Docker 版本，與 Amazon ECS 團隊用於官方 AMI 的版本相同。

如需詳細資訊，請參閱 GitHub 上的 Amazon ECS AMI 儲存庫，網址為 [aws/amazon-ecs-ami](https://github.com/aws/amazon-ecs-ami)。

**建置 Amazon ECS 最佳化 Linux AMI**

1. 複製 `aws/amazon-ecs-ami` GitHub 儲存庫。

   ```
   git clone https://github.com/aws/amazon-ecs-ami.git
   ```

1. 為建立 AMI 時要使用 AWS 的區域新增環境變數。將 `us-west-2` 值替換為要使用的區域。

   ```
   export REGION=us-west-2
   ```

1. 提供 Makefile 以用於建置 AMI。在已複製儲存庫的根目錄中，使用以下其中一項與您要建置的 Amazon ECS 最佳化 AMI 的 Linux 變數相對應的命令。
   + Amazon ECS 最佳化 Amazon Linux 2 AMI

     ```
     make al2
     ```
   + Amazon ECS 最佳化 Amazon Linux 2 (arm64) AMI

     ```
     make al2arm
     ```
   + Amazon ECS GPU 最佳化 AMI

     ```
     make al2gpu
     ```
   + Amazon ECS 最佳化 Amazon Linux 2 (Neuron) AMI

     ```
     make al2inf
     ```
   + Amazon ECS 最佳化 Amazon Linux 2023 AMI

     ```
     make al2023
     ```
   + Amazon ECS 最佳化 Amazon Linux 2023 (arm64) AMI

     ```
     make al2023arm
     ```
   + Amazon ECS 最佳化 Amazon Linux 2023 GPU AMI

     ```
     make al2023gpu
     ```
   + Amazon ECS 最佳化 Amazon Linux 2023 (Neuron) AMI

     ```
     make al2023neu
     ```