

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EKS コンピュート環境
<a name="eks"></a>

[Amazon EKS AWS Batch での の開始方法](getting-started-eks.md) EKS コンピュート環境を作成するための簡単なガイドを提供します。このセクションでは、Amazon EKS のコンピューティング環境についてより詳しく説明します。

![\[AWS Batch workflow diagram showing integration with Amazon EKS, ECS, Fargate, and EC2.\]](http://docs.aws.amazon.com/ja_jp/batch/latest/userguide/images/batch-on-eks.png)


AWS Batch は、マネージドバッチ機能を提供することで、Amazon EKS クラスターのバッチワークロードを簡素化します。これには、キューイング、依存関係の追跡、マネージドジョブの再試行と優先順位、ポッド管理、ノードスケーリングが含まれます。 は、複数のアベイラビリティーゾーンと複数の Amazon EC2 インスタンスタイプとサイズを処理 AWS Batch できます。 は、いくつかの Amazon EC2 スポットのベストプラクティス AWS Batch を統合して、耐障害性のある方法でワークロードを実行するため、中断が少なくなります。 AWS Batch を使用すると、わずかな夜間ジョブや数百万のミッションクリティカルなジョブを自信を持って実行できます。

![\[AWS Batch workflow on Amazon EKS, showing job queue, compute environment, and EC2 instances.\]](http://docs.aws.amazon.com/ja_jp/batch/latest/userguide/images/batch-on-eks-detail.png)


AWS Batch は、Amazon Elastic Kubernetes Service (Amazon EKS) によって管理されるKubernetesクラスター内のバッチワークロードをオーケストレーションするマネージドサービスです。 は、「オーバーレイ」モデルを使用して、クラスターの外部でこのオーケストレーション AWS Batch を実行します。 AWS Batch はマネージドサービスであるため、クラスターにインストールまたは管理するKubernetesコンポーネント (オペレーターやカスタムリソースなど) はありません。 では、 Kubernetes API サーバーとの AWS Batch 通信を に許可するロールベースのアクセスコントロール (RBAC) Kubernetes でクラスターを設定 AWS Batch する必要があります。 は Kubernetes APIs を AWS Batch 呼び出してポッドとノードを作成、モニタリング、削除します。

AWS Batch には、ジョブ容量の割り当てに関する最適化により、ジョブキューの負荷に基づいてKubernetesノードをスケールするスケーリングロジックが組み込まれています。ジョブキューが空の場合、 はノードを設定した最小容量に AWS Batch スケールダウンします。デフォルトではゼロです。 はこれらのノードのライフサイクル全体 AWS Batch を管理し、ノードにラベルとテイントをデコレーションします。これにより、他のKubernetesワークロードは によって管理されるノードに配置されません AWS Batch。例外は です。これは`DaemonSets`、ジョブの適切な実行に必要なモニタリングやその他の機能を提供するために AWS Batch ノードをターゲットにできます。さらに、管理 AWS Batch していないクラスター内のノードでは、ジョブ、特にポッドは実行されません。こうすることで、クラスター上の他のアプリケーションに個別のスケーリングロジックとサービスを使用できます。

ジョブを送信するには AWS Batch、 AWS Batch API と直接やり取りします。 はジョブを AWS Batch に変換し`podspecs`、Amazon EKS クラスター AWS Batch の によって管理されるノードにポッドを配置するリクエストを作成します。`kubectl` などのツールを使用して、実行中のポッドやノードを表示できます。ポッドの実行が完了すると、 はKubernetesシステムへの負荷を軽減するために作成したポッド AWS Batch を削除します。

有効な Amazon EKS クラスターを に接続することで開始できます AWS Batch。次に、 AWS Batch ジョブキューをアタッチし、`podspec`同等の属性を使用して Amazon EKS ジョブ定義を登録します。最後に、ジョブ定義を参照する [SubmitJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html) API オペレーションを使用してジョブを送信します。詳細については、「[Amazon EKS AWS Batch での の開始方法](getting-started-eks.md)」を参照してください。

## Amazon EKS
<a name="compute-environments-eks"></a>

**Topics**
+ [Amazon EKS](#compute-environments-eks)
+ [Amazon EKS デフォルト AMI](eks-ce-ami-selection.md)
+ [AMI が混在する環境](mixed-ami-environments.md)
+ [サポートされる Kubernetes バージョン](supported_kubernetes_version.md)
+ [コンピューティング環境の Kubernetes バージョンを更新する](updating-k8s-version-ce.md)
+ [Kubernetes ノードの責任分担](eks-ce-shared-responsibility.md)
+ [AWS Batch マネージドノードDaemonSetで を実行する](daemonset-on-batch-eks-nodes.md)
+ [Amazon EKS 起動テンプレートをカスタマイズする](eks-launch-templates.md)
+ [EKS AL2 から EKS AL2023 へアップグレードする方法](eks-migration-2023.md)

# Amazon EKS デフォルト AMI
<a name="eks-ce-ami-selection"></a>

Amazon EKS コンピューティング環境を作成するときは、Amazon マシンイメージ (AMI) を指定する必要はありません。 は、[CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html) リクエストで指定されたKubernetesバージョンとインスタンスタイプに基づいて Amazon EKS 最適化 AMI AWS Batch を選択します。一般的に、デフォルトの AMI 選択を使用することをお勧めします。Amazon EKS 最適化 AMI の詳細については、「*Amazon EKS ユーザーガイド*」の「[Amazon EKS 最適化 Amazon Linux AMI](https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html)」を参照してください。

**重要**  
Amazon Linux 2023 AMIs は、Amazon EKS AWS Batch の のデフォルトです。  
AWS は、 から Amazon EKS AL2-optimizedおよび AL2-accelerated AMIs のサポートを終了します11/26/25。サポート11/26/25end-of-supportを過ぎても、Amazon EKS コンピューティング環境で AWS Batch Amazon EKS 最適化 Amazon Linux 2 AMIs を引き続き使用できますが、これらのコンピューティング環境は から新しいソフトウェア更新、セキュリティパッチ、またはバグ修正を受け取りません AWS。AL2 から AL2023 へのアップグレードの詳細については、「*AWS Batch ユーザーガイド*」の「[EKS AL2 から EKS AL2023 へアップグレードする方法](eks-migration-2023.md)」を参照してください。

次のコマンドを実行して、Amazon EKS コンピューティング環境に AWS Batch 選択した AMI タイプを確認します。次の例は GPU 以外のインスタンスタイプです。

```
# compute CE example: indicates Batch has chosen the AL2 x86 or ARM EKS 1.32 AMI, depending on instance types
    $ aws batch describe-compute-environments --compute-environments My-Eks-CE1 \
        | jq '.computeEnvironments[].computeResources.ec2Configuration'
    [
      {
        "imageType": "EKS_AL2",
        "imageKubernetesVersion": "1.32"
      }
    ]
```

次の例は GPU インスタンスタイプです。

```
# GPU CE example: indicates Batch has choosen the AL2 x86 EKS Accelerated 1.32 AMI
    $ aws batch describe-compute-environments --compute-environments My-Eks-GPU-CE \
        | jq '.computeEnvironments[].computeResources.ec2Configuration'
    [
      {
        "imageType": "EKS_AL2_NVIDIA",
        "imageKubernetesVersion": "1.32"
      }
    ]
```

# AMI が混在する環境
<a name="mixed-ami-environments"></a>

起動テンプレートオーバーライドを使用して、Amazon Linux 2 (AL2) AMI と Amazon Linux 2023 (AL2023) AMI の両方を持つコンピューティング環境を作成できます。これは、アーキテクチャごとに異なる AMI を使用する場合や、AL2 から AL2023 への移行期間において役立ちます。

**注記**  
AWS は、 から Amazon EKS AL2-optimizedおよび AL2-accelerated AMIs のサポートを終了します11/26/25。サポート11/26/25end-of-supportを過ぎても、Amazon EKS コンピューティング環境で AWS Batch Amazon EKS 最適化 Amazon Linux 2 AMIs を引き続き使用できますが、これらのコンピューティング環境は から新しいソフトウェア更新、セキュリティパッチ、またはバグ修正を受け取りません AWS。AMI が混在する環境は移行期間中に役立つため、既存の AL2 ベースのワークロードとの互換性を維持しながら、ワークロードを AL2023 に段階的に移行できます。

両方の AMI タイプを使用した設定例:

```
{
  "computeResources": {
    "launchTemplate": {
      "launchTemplateId": "TemplateId",
      "version": "1",
      "userdataType": "EKS_BOOTSTRAP_SH",
      "overrides": [
        {
          "instanceType": "c5.large",
          "imageId": "ami-al2-custom",
          "userdataType": "EKS_BOOTSTRAP_SH"
        },
        {
          "instanceType": "c6a.large",
          "imageId": "ami-al2023-custom",
          "userdataType": "EKS_NODEADM"
        }
      ]
    },
    "instanceTypes": ["c5.large", "c6a.large"]
  }
}
```

# サポートされる Kubernetes バージョン
<a name="supported_kubernetes_version"></a>

AWS Batch Amazon EKS の は現在、次のKubernetesバージョンをサポートしています。
+ `1.34`
+ `1.33`
+ `1.32`
+ `1.31`
+ `1.30`
+ `1.29`

`CreateComputeEnvironment` API オペレーションまたは API オペレーション `UpdateComputeEnvironment` を使用してコンピュート環境を作成または更新すると、次のようなエラーメッセージが表示されることがあります。この問題は、Kubernetes でサポートされていないバージョンを `EC2Configuration` で指定した場合に発生します。

```
At least one imageKubernetesVersion in EC2Configuration is not supported.
```

この問題を解決するには、コンピュート環境を削除し、サポートされている Kubernetes バージョンで再作成してください。

Amazon EKS クラスターでマイナーバージョンアップグレードを実行できます。例えば、イナーバージョンがサポートされていない場合でも、クラスターを `1.xx` から `1.yy` マにアップグレードできます。

ただし、`INVALID` メジャーバージョンを更新すると、コンピュート環境のステータスがに変わることがあります。例えば、`1.xx` から `2.yy` へのメジャーバージョンアップグレードを実行する場合などです。メジャーバージョンが でサポートされていない場合は AWS Batch、次のようなエラーメッセージが表示されます。

```
reason=CLIENT_ERROR - ... EKS Cluster version [2.yy] is unsupported
```

# コンピューティング環境の Kubernetes バージョンを更新する
<a name="updating-k8s-version-ce"></a>

を使用すると AWS Batch、Amazon EKS クラスターのアップグレードをサポートするようにコンピューティング環境Kubernetesのバージョンを更新できます。コンピューティング環境Kubernetesのバージョンは、 がジョブを実行するために AWS Batch 起動するKubernetesノードの Amazon EKS AMI バージョンです。Amazon EKS ノードの Kubernetes バージョンのアップグレードは、Amazon EKS クラスターのコントロールプレーンのバージョンを更新する前後どちらでも実行できます。コントロールプレーンをアップグレードした後に、ノードを更新することをお勧めします。詳細については、「*Amazon EKS ユーザーガイド*」の「[Amazon EKS クラスターの Kubernetes バージョンを更新](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html)」を参照してください。

コンピュート環境の Kubernetes バージョンをアップグレードするには、[https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html) API オペレーションを使用します。

```
$ aws batch update-compute-environment \
    --compute-environment <compute-environment-name> \
    --compute-resources \
      'ec2Configuration=[{imageType=EKS_AL2,imageKubernetesVersion=1.32}]'
```

# Kubernetes ノードの責任分担
<a name="eks-ce-shared-responsibility"></a>

コンピュート環境のメンテナンスは共同責任です。
+  AWS Batch ノード、ラベル、テイント、名前空間、起動テンプレート、または自動スケーリンググループを変更または削除しないでください。 AWS Batch マネージドノードにテイントを追加しないでください。これらの変更を行うと、コンピュート環境がサポートされなくなり、アイドル状態のインスタンスなどの障害が発生します。
+ ポッドを AWS Batch マネージドノードにターゲットにしないでください。ポッドを管理対象ノードにすると、スケーリングが中断したり、ジョブキューが停止したりします。セルフマネージド型ノードまたはマネージド型ノードグループ AWS Batch で を使用しないワークロードを実行します。詳細については、「*Amazon EKS ユーザーガイド*」の「[マネージドノードグループ](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html)」を参照してください。
+  AWS Batch マネージドノードで実行する DaemonSet をターゲットにできます。詳細については、「[AWS Batch マネージドノードDaemonSetで を実行する](daemonset-on-batch-eks-nodes.md)」を参照してください。

AWS Batch はコンピューティング環境 AMIs を自動的に更新しません。更新するのはあなたの責任です。モジュールを最新バージョンにアップグレードするには、次のコマンドを実行します。

```
$ aws batch update-compute-environment \
    --compute-environment <compute-environment-name> \
    --compute-resources 'updateToLatestImageVersion=true'
```

AWS Batch はKubernetesバージョンを自動的にアップグレードしません。次のコマンドを実行して、コンピュータ環境Kubernetesのバージョンを *1.32* に更新します。

```
$ aws batch update-compute-environment \
    --compute-environment <compute-environment-name> \
    --compute-resources \
      'ec2Configuration=[{imageType=EKS_AL2,imageKubernetesVersion=1.32}]'
```

Kubernetes より新しいバージョンの AMI に更新する場合、更新時にジョブを終了するかどうか (`terminateJobsOnUpdate`) と、実行中のジョブが終了しない場合にインスタンスが置き換えられるまでの待機時間 (`jobExecutionTimeoutMinutes`.) を指定できます。詳細については、[でコンピューティング環境を更新する AWS Batch](updating-compute-environments.md) および [https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html) API オペレーションで設定されているインフラストラクチャ更新ポリシー ([https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdatePolicy.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdatePolicy.html)) を参照してください。

# AWS Batch マネージドノードDaemonSetで を実行する
<a name="daemonset-on-batch-eks-nodes"></a>

AWS Batch AWS Batch はマネージドKubernetesノードにテイントを設定します。次の を使用して、 AWS Batch マネージドノードで を実行するDaemonSetように をターゲットにできます`tolerations`。

```
tolerations:
  - key: "batch.amazonaws.com/batch-node"
    operator: "Exists"
```

そのためのもう 1 つの方法は、次の `tolerations` のように実行することです。

```
tolerations:
  - key: "batch.amazonaws.com/batch-node"
    operator: "Exists"
    effect: "NoSchedule"
  - key: "batch.amazonaws.com/batch-node"
    operator: "Exists"
    effect: "NoExecute"
```

# Amazon EKS 起動テンプレートをカスタマイズする
<a name="eks-launch-templates"></a>

AWS Batch Amazon EKS の では、起動テンプレートがサポートされています。起動テンプレートでできることには制約があります。

**重要**  
EKS AL2 AMIs、 は AWS Batch を実行します`/etc/eks/bootstrap.sh`。`/etc/eks/bootstrap.sh` を起動テンプレートや cloud-init user-data スクリプトでは実行しないでください。[bootstrap.sh ](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2/runtime/bootstrap.sh) には `--kubelet-extra-args` パラメータ以外にもパラメータを追加できます。これを行うには、`AWS_BATCH_KUBELET_EXTRA_ARGS` `/etc/aws-batch/batch.config` ファイルに変数を設定します。詳細は以下の例を参照してください。
EKS AL2023 の場合、 は EKS の [NodeConfigSpec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec) AWS Batch を使用してインスタンスを EKS クラスターに参加させます。 AWS Batch は EKS クラスターの [NodeConfigSpec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec) に [ClusterDetails](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#clusterdetails) を入力するため、指定する必要はありません。

**注記**  
は値を上書きするため AWS Batch 、起動テンプレートで以下の[https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)設定は行わないことをお勧めします。詳細については、「[Kubernetes ノードの責任分担](eks-ce-shared-responsibility.md)」を参照してください。  
`Taints`
`Cluster Name`
`apiServerEndpoint`
`certificatAuthority`
`CIDR`
プレフィックス `batch.amazonaws.com/` が付いたラベルを作成しないでください

**注記**  
[CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html) を呼び出した後に起動テンプレートが変更された場合は、[https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html) を呼び出して代替用の起動テンプレートのバージョンを評価する必要があります。

**Topics**
+ [`kubelet` 追加因数を追加する](#kubelet-extra-args)
+ [コンテナランタイムを設定する](#change-container-runtime)
+ [Amazon EFS ボリュームをマウントする](#mounting-efs-volume)
+ [IPv6 サポート](#eks-ipv6-support)

## `kubelet` 追加因数を追加する
<a name="kubelet-extra-args"></a>

AWS Batch は、 `kubelet` コマンドへの引数の追加をサポートしています。サポートされるパラメータのリストについては、「*Kubernetes ドキュメント*」の「[https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/)」 を参照してください。EKS AL2 AMI の次の例では、`--node-labels mylabel=helloworld` が `kubelet` コマンドラインに追加されています。

```
MIME-Version: 1.0
      Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

      --==MYBOUNDARY==
      Content-Type: text/x-shellscript; charset="us-ascii"

      #!/bin/bash
      mkdir -p /etc/aws-batch

      echo AWS_BATCH_KUBELET_EXTRA_ARGS=\"--node-labels mylabel=helloworld\" >> /etc/aws-batch/batch.config

      --==MYBOUNDARY==--
```

EKS AL2023 AMI の場合、ファイル形式は YAML です。サポートされるパラメータのリストについては、「*Kubernetes ドキュメント*」の「[https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/api/#nodeconfigspec)」 を参照してください。EKS AL2023 AMI の次の例では、`--node-labels mylabel=helloworld` が `kubelet` コマンドラインに追加されています。

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: application/node.eks.aws

apiVersion: node.eks.aws/v1alpha1
kind: NodeConfig
spec:
  kubelet:
    flags:
    - --node-labels=mylabel=helloworld

--==MYBOUNDARY==--
```

## コンテナランタイムを設定する
<a name="change-container-runtime"></a>

環境変数を使用して AWS Batch `CONTAINER_RUNTIME`、マネージドノードでコンテナランタイムを設定できます。次の例では、`bootstrap.sh` コンテナランタイムを実行時に `containerd` を設定しています。詳細については、「*Kubernetes ドキュメント*」の「 [https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd](https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd)」を参照してください。

最適化された `EKS_AL2023` または `EKS_AL2023_NVIDIA` AMI を使用している場合は、**containerd** のみがサポートされているため、コンテナランタイムを指定する必要はありません。

**注記**  
`CONTAINER_RUNTIME` 環境変数は `bootstrap.sh` の `--container-runtime` オプションと同等です。詳細については、「*Kubernetes ドキュメント*」の「 [https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/#options](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/#options)」を参照してください。

```
MIME-Version: 1.0
      Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

      --==MYBOUNDARY==
      Content-Type: text/x-shellscript; charset="us-ascii"

      #!/bin/bash
      mkdir -p /etc/aws-batch

      echo CONTAINER_RUNTIME=containerd >> /etc/aws-batch/batch.config

      --==MYBOUNDARY==--
```

## Amazon EFS ボリュームをマウントする
<a name="mounting-efs-volume"></a>

起動テンプレートを使用してボリュームをノードにマウントできます。次の例では、`cloud-config`、`packages` および `runcmd` の設定が使用されています。詳細については、「*cloud-init ドキュメント*」の「[クラウド設定例](https://cloudinit.readthedocs.io/en/latest/topics/examples.html)」を参照してください。

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"

packages:
- amazon-efs-utils

runcmd:
- file_system_id_01=fs-abcdef123
- efs_directory=/mnt/efs

- mkdir -p ${efs_directory}
- echo "${file_system_id_01}:/ ${efs_directory} efs _netdev,noresvport,tls,iam 0 0" >> /etc/fstab
- mount -t efs -o tls ${file_system_id_01}:/ ${efs_directory}

--==MYBOUNDARY==--
```

このボリュームをジョブで使用するには、[RegisterJobDefinition](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) の [EKSProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksProperties.html) パラメーターにボリュームを追加する必要があります。次の例は、仕事定義の大部分です。

```
{
    "jobDefinitionName": "MyJobOnEks_EFS",
    "type": "container",
    "eksProperties": {
        "podProperties": {
            "containers": [
                {
                    "image": "public.ecr.aws/amazonlinux/amazonlinux:2",
                    "command": ["ls", "-la", "/efs"],
                    "resources": {
                        "limits": {
                            "cpu": "1",
                            "memory": "1024Mi"
                        }
                    },
                    "volumeMounts": [
                        {
                            "name": "efs-volume",
                            "mountPath": "/efs"
                        }
                    ]
                }
            ],
            "volumes": [
                {
                    "name": "efs-volume",
                    "hostPath": {
                        "path": "/mnt/efs"
                    }
                }
            ]
        }
    }
}
```

ノードでは、Amazon EFS ボリュームが `/mnt/efs` ディレクトリにマウントされます。Amazon EKS ジョブのコンテナでは、ボリュームは `/efs` ディレクトリにマウントされます。

## IPv6 サポート
<a name="eks-ipv6-support"></a>

AWS Batch は、IPv6 アドレスを持つ Amazon EKS クラスターをサポートします。 AWS Batch サポートにカスタマイズは必要ありません。ただし、始める前に、「*Amazon EKS ユーザーガイド*」の「[ポッドとサービスへの IPv6 アドレスの割り当て](https://docs.aws.amazon.com/eks/latest/userguide/cni-ipv6.html)」で説明されている考慮事項と条件を確認することをお勧めします。

# EKS AL2 から EKS AL2023 へアップグレードする方法
<a name="eks-migration-2023"></a>

Amazon EKS 最適化 AMI は、Amazon Linux 2 (AL2) および Amazon Linux 2023 (AL2023) をベースとする 2 つのファミリーで使用できます。AL2023 は、クラウドアプリケーションに安全かつ安定した高パフォーマンス環境を提供するように設計された、Linux ベースのオペレーティングシステムです。AL2 および AL2023 間の相違点の詳細については、「*Amazon EKS ユーザーガイド*」の「[Amazon Linux 2 から Amazon Linux 2023 にアップグレードする](https://docs.aws.amazon.com/eks/latest/userguide/al2023.html)」を参照してください。

**重要**  
AWS は、 から Amazon EKS AL2-optimizedおよび AL2-accelerated AMIs のサポートを終了します11/26/25。最適なパフォーマンスとセキュリティを維持するために、11/26/25 より前に AWS Batch Amazon EKS コンピューティング環境を Amazon Linux 2023 に移行することをお勧めします。11/26/25 end-of-supportを過ぎても、Amazon EKS コンピューティング環境で AWS Batchが提供する Amazon EKS 最適化 Amazon Linux 2 AMIs を引き続き使用できますが、これらのコンピューティング環境は から新しいソフトウェア更新、セキュリティパッチ、またはバグ修正を受け取りません AWS。サポート終了後に Amazon EKS 最適化 Amazon Linux 2 AMI 上のこうしたコンピューティング環境を[維持することはお客様の責任](eks-ce-shared-responsibility.md#eks-ce-shared-responsibility.title)となります。

コンピューティング環境の設定方法に応じて、AL2 から AL2023 への以下のアップグレードパスのいずれかを使用できます。

**Ec2Configuration.ImageType を使用したアップグレード**
+ 起動テンプレートまたは起動テンプレートの上書きを使用していない場合は、[Ec2Configuration.ImageType](https://docs.aws.amazon.com/batch/latest/APIReference/API_Ec2Configuration.html#Batch-Type-Ec2Configuration-imageType) を `EKS_AL2023`または に変更し`EKS_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` が一致しない場合、ノードはクラスターに参加しません。

**起動テンプレートを使用したアップグレード**
+ 起動テンプレートまたは起動テンプレートの上書きで`kubelet`追加の引数が定義されている場合は、新しい[`kubelet`追加の引数形式](eks-launch-templates.md#kubelet-extra-args.title)に更新する必要があります。

  `kubelet` の追加の引数の形式が一致しない場合、追加の引数は適用されません。
+ AL2023 AMI の場合、サポートされているコンテナランタイムは **containerd** のみです。起動テンプレートの `EKS_AL2023` のコンテナランタイムを指定する必要はありません。

  でカスタマイズされたコンテナランタイムを指定することはできません`EKS_AL2023`。
+ `EKS_AL2023` に基づいて AMI を指定する起動テンプレートまたは起動テンプレートオーバーライドを使用する場合は、[userdataType](https://docs.aws.amazon.com/batch/latest/APIReference/API_LaunchTemplateSpecification.html) を `EKS_NODEADM` に設定する必要があります。

  `userdataType` と AMI が一致しない場合、ノードはクラスターに参加しません。