

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

# 如何从 ECS AL2 迁移到 ECS AL2023
<a name="ecs-migration-2023"></a>

AL2023 是一款基于 Linux 的操作系统，旨在为云应用程序提供安全、稳定和高性能的环境。有关 AL2 和 AL2023 之间差异的详细信息，请参阅《Amazon Linux 2023 用户指南》中的 [Compare Amazon Linux 2023 and Amazon Linux 2](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html)**。

从 2026 年 1 月起，AWS Batch 将新 Amazon ECS 计算环境的默认 AMI 从 Amazon Linux 2 更改为 Amazon Linux 2023，因为 AWS 将[终止对 Amazon Linux 2 的支持](https://aws.amazon.com/amazon-linux-2/faqs/)。如果您在创建新计算环境时没有为 [imageType.Ec2Configuration](https://docs.aws.amazon.com/batch/latest/APIReference/API_Ec2Configuration.html) 字段指定值，则将使用默认 AMI。我们建议将 AWS Batch Amazon ECS 计算环境迁移到 Amazon Linux 2023，以保持最佳性能和安全性。

您可以使用以下路径之一从 AL2 升级到 AL2023，具体取决于您的计算环境配置。

**使用 Ec2Configuration.ImageType 升级**
+ 如果您没有使用启动模板或启动模板覆盖功能，请将 [Ec2Configuration.ImageType](https://docs.aws.amazon.com/batch/latest/APIReference/API_Ec2Configuration.html#Batch-Type-Ec2Configuration-imageType) 更改为 `ECS_AL2023`（如果您使用的是 GPU 实例，则请更改为 `ECS_AL2023_NVIDIA`），然后运行 [UpdateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html)。
+ 如果您指定了 [Ec2Configuration.ImageIdOverride](https://docs.aws.amazon.com/batch/latest/APIReference/API_Ec2Configuration.html#Batch-Type-Ec2Configuration-imageIdOverride)，[Ec2Configuration.ImageType](https://docs.aws.amazon.com/batch/latest/APIReference/API_Ec2Configuration.html#Batch-Type-Ec2Configuration-imageType) 必须与 [Ec2Configuration.ImageIdOverride](https://docs.aws.amazon.com/batch/latest/APIReference/API_Ec2Configuration.html#Batch-Type-Ec2Configuration-imageIdOverride) 中指定的 AMI 类型匹配。

  如果 `ImageIdOverride` 和 `ImageType` 不匹配，则计算环境可能无法正常运行。

**使用启动模板升级**
+ 如果您使用启动模板来指定基于 `ECS_AL2023` 的 AMI，请确保您的启动模板与 Amazon Linux 2023 兼容。有关适用于 Amazon ECS 优化型 AMI 的 Amazon Linux 2023 更改的信息，请参阅《Amazon ECS 用户指南》中的[从 Amazon Linux 2 迁移到 Amazon Linux 2023 Amazon ECS 优化版 AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/al2-to-al2023-ami-transition.html)**。
+ 对于 AL2023 AMI，请验证所有自定义用户数据或初始化脚本是否与 AL2023 环境和软件包管理系统兼容。

**使用 CloudFormation 升级**
+ 如果您使用 CloudFormation 管理计算环境，请更新模板以将 `Ec2Configuration` 中的 `ImageType` 属性从 `ECS_AL2` 更改为 `ECS_AL2023`（如果您使用的是 GPU 实例，则更改为 `ECS_AL2023_NVIDIA`）：

  ```
  ComputeEnvironment:
    Type: AWS::Batch::ComputeEnvironment
    Properties:
      ComputeResources:
        Ec2Configuration:
          - ImageType: ECS_AL2023
  ```

  然后更新 CloudFormation 堆栈以应用更改。
+ 如果您的 CloudFormation 模板使用 `ImageIdOverride` 指定了某个自定义 AMI，请确保 AMI ID 对应于某个基于 AL2023 的 AMI 并且与 `ImageType` 设置一致。

## 迁移注意事项
<a name="ecs-migration-considerations"></a>

从 Amazon Linux 2 迁移到 Amazon Linux 2023 时，应注意以下因素：
+ **软件包管理**：Amazon Linux 2023 使用 `dnf` 而不是 `yum` 来进行软件包管理。
+ **系统服务**：AL2 和 AL2023 的某些系统服务及其配置可能不同。
+ **容器运行时**：AL2 和 AL2023 都支持 Docker，但是 AL2023 的默认配置可能不同。
+ **安全性**：AL2023 包括增强的安全功能，可能需要更新安全性相关配置。
+ **实例元数据服务版本 2（IMDSv2）**：IMDSv2 是一项面向会话的服务，需要基于令牌的身份验证才能访问 EC2 实例元数据，从而增强了安全性。有关 IMDS 的更多信息，请参阅《Amazon EC2 用户指南》中的[实例元数据服务版本 2 的工作原理](https://docs.aws.amazon.com/configuring-instance-metadata-service.html#instance-metadata-v2-how-it-works)**。

有关更改和迁移注意事项的完整列表，请参阅《Amazon ECS 用户指南》中的[从 Amazon Linux 2 迁移到 Amazon Linux 2023 Amazon ECS 优化版 AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/al2-to-al2023-ami-transition.html)**。