使用可能な AWS の Amazon EKS アドオン - Amazon EKS

このページの改善にご協力ください

本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。

使用可能な AWS の Amazon EKS アドオン

以下の Amazon EKS アドオンをクラスターで作成できます。eksctl、AWS Management Console、または AWS CLI を使用して、使用可能なアドオンの最新リストを表示できます。使用可能なすべてのアドオンを確認したり、アドオンをインストールしたりするには、Amazon EKS アドオンの作成 を参照してください。アドオンが IAM アクセス権限を要求する場合、クラスター用に IAM OpenID Connect (OIDC) プロバイダーが必要です。既に存在しているかどうかを確認する、または作成するには「クラスターの IAM OIDC プロバイダーを作成する」を参照してください。アドオンはインストール後に、更新または削除できます。

次の Amazon EKS アドオンのいずれかを使用できます。

説明 詳細はこちら

クラスターのためにネイティブ VPC ネットワークを提供する

Amazon VPC CNI plugin for Kubernetes

Kubernetes クラスター DNS として機能できる柔軟で拡張可能な DNS サーバー

CoreDNS
各 Amazon EC2 ノードのネットワークルールを管理する Kube-proxy
クラスターのために Amazon EBS ストレージを提供する Amazon EBS CSI ドライバー
クラスターのために Amazon EFS ストレージを提供する Amazon EFS CSI ドライバー
クラスターのために Amazon S3 ストレージを提供する Mountpoint for Amazon S3 CSI ドライバー
Amazon EBS CSI ドライバーなどの互換性のある CSI ドライバーでスナップショット機能の使用を有効にする CSI スナップショットコントローラー
OpenTelemetry プロジェクトの、安全かつ本番に対応した、AWS によってサポートされているディストリビューション AWS Distro for OpenTelemetry
AWS CloudTrail 管理イベントや Amazon VPC フローログなどの基本的なデータソースを分析および処理するセキュリティモニタリングサービス。Amazon GuardDuty は、Kubernetes 監査ログやランタイムモニタリングなどの機能も処理します Amazon GuardDuty エージェント
AWS によって提供されるモニタリングおよびオブザーバビリティサービス。このアドオンは CloudWatch エージェントをインストールし、Amazon EKS のオブザーバビリティが強化された CloudWatch アプリケーションシグナルと CloudWatch コンテナインサイトの両方を有効にします Amazon CloudWatch Observability Agent
EC2 インスタンスプロファイルから EC2 インスタンスに認証情報を提供する場合と同じような方法で、アプリケーションの認証情報を管理する機能。 EKS Pod Identity エージェント

Amazon VPC CNI plugin for Kubernetes

Amazon VPC CNI plugin for Kubernetes Amazon EKS アドオンは、クラスターにネイティブ VPC ネットワークを提供する Kubernetes コンテナネットワークインターフェイス (CNI) プラグインです。このアドオンのセルフマネージドタイプまたはマネージドタイプが、デフォルトで各 Amazon EC2 ノードにインストールされます。詳細については、「Kubernetes container network interface (CNI) plugin」を参照してください。

Amazon EKS アドオン名は vpc-cni です。

必要な IAM 許可

このアドオンは、Amazon EKS のサービスアカウント用の IAM ロール機能を使用します。クラスターが IPv4 ファミリーを使用する場合は、AmazonEKS_CNI_Policy のアクセス権限が必要です。クラスターが IPv6 ファミリーを使用する場合は、IPv6 モードのアクセス許可を持つ IAM ポリシーを作成する必要があります。次のコマンドで、IAM ロールを作成し、そのロールにポリシーの 1 つをアタッチして、アドオンが使用する Kubernetes サービスアカウントに注釈を付けることができます。

my-cluster をクラスターの名前に、AmazonEKSVPCCNIRole をロールに使用する名前に置き換えます。クラスターが IPv6 ファミリを使用する場合は、AmazonEKS_CNI_Policy を作成したポリシーの名前に置き換えます。このコマンドを使用するには、デバイスに eksctl がインストールされている必要があります。別のツールを使用してロールを作成し、ポリシーをアタッチして、Kubernetes サービスアカウントに注釈を付ける必要がある場合は、「Kubernetes サービスアカウントへの IAM ロールの割り当て」を参照してください。

eksctl create iamserviceaccount --name aws-node --namespace kube-system --cluster my-cluster --role-name AmazonEKSVPCCNIRole \ --role-only --attach-policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy --approve

情報を更新する

一度に更新できるマイナーバージョンは 1 つのみです。例えば、現在のバージョンが 1.29.x-eksbuild.y で、これを 1.31.x-eksbuild.y に更新する場合は、現在のバージョンを 1.30.x-eksbuild.y に更新してから、再度 1.31.x-eksbuild.y に更新する必要があります。アドオンの更新の詳細については、「Amazon VPC CNI plugin for Kubernetes Amazon EKS アドオンの更新」を参照してください。

CoreDNS

CoreDNS Amazon EKS アドオンは、Kubernetes クラスター DNS として機能できる柔軟で拡張可能な DNS サーバーです。このアドオンのセルフマネージドタイプまたはマネージドタイプが、クラスターの作成時にデフォルトでインストールされました。1 つ以上のノードで Amazon EKS クラスターを起動すると、クラスターにデプロイされたノード数に関係なく、デフォルトで CoreDNS イメージの 2 つのレプリカがデプロイされます。CoreDNS の Pods は、クラスター内のすべての Pods の名前解決を行います。クラスターに 起動時にどの Pods が AWS Fargate を使用するのかを定義する が含まれ、名前空間が CoreDNS deployment の名前空間と一致している場合、CoreDNS Pods を Fargate ノードにデプロイできます。

Amazon EKS アドオン名は coredns です。

必要な IAM 許可

このアドオンには許可は必要ありません。

追加情報

CoreDNS の詳細については、Kubernetes ドキュメントの「Using CoreDNS for Service Discovery」および「Customizing DNS Service」を参照してください。

Kube-proxy

Kube-proxy Amazon EKS アドオンは、各 Amazon EC2 ノードのネットワークルールを維持します。これにより、Pods とのネットワーク通信が可能になります。このアドオンのセルフマネージドタイプまたはマネージドタイプが、デフォルトでクラスター内の各 Amazon EC2 ノードにインストールされます。

Amazon EKS アドオン名は kube-proxy です。

必要な IAM 許可

このアドオンには許可は必要ありません。

情報を更新する

現在のバージョンを更新する前に、次の要件を考慮してください:

追加情報

kube-proxy の詳細については、Kubernetes ドキュメントの「kube-proxy」を参照してください。

Amazon EBS CSI ドライバー

Amazon EBS CSI ドライバー Amazon EKS アドオンは、クラスターのために Amazon EBS ストレージを提供する Kubernetes Container Storage Interface (CSI) プラグインです。

Amazon EKS アドオン名は aws-ebs-csi-driver です。

必要な IAM 許可

このアドオンは、Amazon EKS のサービスアカウント用の IAM ロール機能を使用します。AmazonEBSCSIDriverPolicy AWS マネージドポリシーの許可が必要です。次のコマンドで IAM ロールを作成して、それにマネージドポリシーをアタッチできます。my-cluster をクラスターの名前に、AmazonEKS_EBS_CSI_DriverRole をロールに使用する名前に置き換えます。このコマンドを使用するには、デバイスに eksctl がインストールされている必要があります。別のツールを使用する必要がある場合や、暗号化にカスタム KMS キー を使用する必要がある場合は、ステップ 1: IAM ロールを作成する を参照してください。

eksctl create iamserviceaccount \ --name ebs-csi-controller-sa \ --namespace kube-system \ --cluster my-cluster \ --role-name AmazonEKS_EBS_CSI_DriverRole \ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \ --approve

追加情報

アドオンの詳細については、「Amazon EBS を利用して Kubernetes ボリュームを保存する」を参照してください。

Amazon EFS CSI ドライバー

Amazon EFS CSI ドライバー Amazon EKS アドオンは、クラスターのために Amazon EFS ストレージを提供する Kubernetes Container Storage Interface (CSI) プラグインです。

Amazon EKS アドオン名は aws-efs-csi-driver です。

必要な IAM 許可

必要な IAM アクセス権限 — このアドオンは Amazon EKS の サービスアカウントの IAM ロール機能を利用します。AmazonEFSCSIDriverPolicy AWS マネージドポリシーの許可が必要です。次のコマンドで IAM ロールを作成して、そのロールにマネージドポリシーをアタッチできます。my-cluster をクラスターの名前に、AmazonEKS_EFS_CSI_DriverRole をロールに使用する名前に置き換えます。このコマンドを使用するには、デバイスに eksctl がインストールされている必要があります。別のツールを使用する必要がある場合は、ステップ 1: IAM ロールを作成する を参照してください。

export cluster_name=my-cluster export role_name=AmazonEKS_EFS_CSI_DriverRole eksctl create iamserviceaccount \ --name efs-csi-controller-sa \ --namespace kube-system \ --cluster $cluster_name \ --role-name $role_name \ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \ --approve TRUST_POLICY=$(aws iam get-role --role-name $role_name --query 'Role.AssumeRolePolicyDocument' | \ sed -e 's/efs-csi-controller-sa/efs-csi-*/' -e 's/StringEquals/StringLike/') aws iam update-assume-role-policy --role-name $role_name --policy-document "$TRUST_POLICY"

追加情報

アドオンの詳細については、「Amazon EFS で伸縮自在なファイルシステムを保存する」を参照してください。

Mountpoint for Amazon S3 CSI ドライバー

Mountpoint for Amazon S3 CSI ドライバー Amazon EKS アドオンは、クラスターのために Amazon S3 ストレージを提供する Kubernetes Container Storage Interface (CSI) プラグインです。

Amazon EKS アドオン名は aws-mountpoint-s3-csi-driver です。

必要な IAM 許可

このアドオンは、Amazon EKS のサービスアカウント用の IAM ロール機能を使用します。作成される IAM ロールには S3 へのアクセスを許可するポリシーが必要です。ポリシーを作成するときは、MountpointIAM アクセス許可の推奨事項に従ってください。あるいは、AWS 管理ポリシー AmazonS3FullAccess を使用することもできますが、この管理ポリシーでは、Mountpoint に必要以上のアクセス権限が付与されます。

次のコマンドで IAM ロールを作成して、そのロールにマネージドポリシーをアタッチできます。my-cluster をクラスターの名前、region-code を正しい AWS リージョン コードに、AmazonEKS_S3_CSI_DriverRole をロールの名前、AmazonEKS_S3_CSI_DriverRole_ARN をロール ARN に置き換えます。このコマンドを使用するには、デバイスに eksctl がインストールされている必要があります。IAM コンソールまたは AWS CLI を使用する手順については、「IAM ロールを作成する」を参照してください。

CLUSTER_NAME=my-cluster REGION=region-code ROLE_NAME=AmazonEKS_S3_CSI_DriverRole POLICY_ARN=AmazonEKS_S3_CSI_DriverRole_ARN eksctl create iamserviceaccount \ --name s3-csi-driver-sa \ --namespace kube-system \ --cluster $CLUSTER_NAME \ --attach-policy-arn $POLICY_ARN \ --approve \ --role-name $ROLE_NAME \ --region $REGION \ --role-only

追加情報

アドオンの詳細については、「Mountpoint for Amazon S3 CSI ドライバーを使用して Amazon S3 オブジェクトにアクセスする」を参照してください。

CSI スナップショットコントローラー

Container Storage Interface (CSI) スナップショットコントローラーを使用すると、Amazon EBS CSI ドライバーなどの互換性のある CSI ドライバーのスナップショット機能を使用できます。

Amazon EKS アドオン名は snapshot-controller です。

必要な IAM 許可

このアドオンには許可は必要ありません。

追加情報

アドオンの詳細については、「CSI ボリュームのためにスナップショット機能を有効にする」を参照してください。

AWS Distro for OpenTelemetry

AWS Distro for OpenTelemetry Amazon EKS アドオンは、安全な本番環境対応の、AWS によってサポートされている OpenTelemetry プロジェクトのディストリビューションです。詳細については、GitHub で「AWS Distro for OpenTelemetry」を参照してください。

Amazon EKS アドオン名は adot です。

必要な IAM 許可

このアドオンには、詳細設定でオプトインできる事前設定されたカスタムリソースの 1 つを使用している場合にのみ IAM 許可が必要です。

追加情報

追加情報 — 詳細については、AWS Distro for OpenTelemetry ドキュメントの「EKS アドオンを使用した AWS Distro for OpenTelemetry の開始方法」を参照してください。

ADOT では、前提条件として cert-managercert-manager がクラスターにデプロイされている必要があります。 そうでなければ、Amazon EKS Terraform cluster_addonsプロパティを使用して直接デプロイした場合、このアドオンは機能しません。その他の要件については、OpenTelemetry ドキュメント用の AWS Distro の「EKS アドオンを使用して AWS Distro for OpenTelemetry を始めるための要件」を参照してください。

Amazon GuardDuty エージェント

Amazon GuardDuty エージェント Amazon EKS アドオンは、AWS CloudTrail 管理イベントや Amazon VPC フローログなどの基本的なデータソースを分析および処理するセキュリティモニタリングサービスです。Amazon GuardDuty は、Kubernetes 監査ログやランタイムモニタリングなどの機能も処理します。

Amazon EKS アドオン名は aws-guardduty-agent です。

必要な IAM 許可

このアドオンには許可は必要ありません。

追加情報

詳細については、「Runtime Monitoring for Amazon EKS clusters in Amazon GuardDuty」を参照してください。

  • Amazon EKS クラスターで潜在的なセキュリティの脅威を検出するには、Amazon GuardDuty ランタイムモニタリングを有効にし、GuardDuty セキュリティエージェントを Amazon EKS クラスターにデプロイします。

Amazon CloudWatch Observability Agent

Amazon CloudWatch Observability エージェント Amazon EKS アドオンは、AWS が提供するモニタリングおよびオブザーバビリティサービスです。このアドオンは CloudWatch エージェントをインストールし、Amazon EKS のオブザーバビリティが強化された CloudWatch アプリケーションシグナルと CloudWatch コンテナインサイトの両方を有効にします。詳細については、「Amazon CloudWatch エージェント」を参照してください。

Amazon EKS アドオン名は amazon-cloudwatch-observability です。

必要な IAM 許可

このアドオンは、Amazon EKS のサービスアカウント用の IAM ロール機能を使用します。AWSXrayWriteOnlyAccessCloudWatchAgentServerPolicy AWS の管理ポリシーのパーミッションが必要です。次のコマンドで、IAM ロールを作成し、それに管理ポリシーをアタッチして、アドオンが使用する Kubernetes サービスアカウントに注釈を付けることができます。my-cluster をクラスターの名前に、AmazonEKS_Observability_role をロールに使用する名前に置き換えます。このコマンドを使用するには、デバイスに eksctl がインストールされている必要があります。別のツールを使用してロールを作成し、ポリシーをアタッチして、Kubernetes サービスアカウントに注釈を付ける必要がある場合は、「Kubernetes サービスアカウントへの IAM ロールの割り当て」を参照してください。

eksctl create iamserviceaccount \ --name cloudwatch-agent \ --namespace amazon-cloudwatch \ --cluster my-cluster \ --role-name AmazonEKS_Observability_Role \ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \ --approve

追加情報

詳細については、「CloudWatch エージェントのインストール」を参照してください。

EKS Pod Identity エージェント

Amazon EKS Pod Identity Agent Amazon EKS アドオンは、EC2 インスタンスプロファイルから EC2 インスタンスに認証情報を提供する場合と同じような方法で、アプリケーションの認証情報を管理する機能を提供します。

Amazon EKS アドオン名は eks-pod-identity-agent です。

必要な IAM 許可

このアドオンユーザーには、Amazon EKS ノードの IAM ロール からの許可があります。

情報を更新する

一度に更新できるマイナーバージョンは 1 つのみです。例えば、現在のバージョンが 1.29.x-eksbuild.y で、これを 1.31.x-eksbuild.y に更新する場合は、現在のバージョンを 1.30.x-eksbuild.y に更新してから、再度 1.31.x-eksbuild.y に更新する必要があります。アドオンの更新の詳細については、「Amazon VPC CNI plugin for Kubernetes Amazon EKS アドオンの更新」を参照してください。