

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

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「**GitHub でこのページを編集する**」リンクを選択してください。

# Amazon EKS アドオン
<a name="eks-add-ons"></a>

アドオンは、Kubernetes アプリケーションをサポートする操作機能を提供するソフトウェアですが、アプリケーションに固有のものではありません。これには、監視エージェントや Kubernetes ドライバなどのソフトウェアが含まれます。これらのソフトウェアにより、クラスターは、ネットワーク、コンピューティング、およびストレージ用の基盤となる AWS リソースと相互作用できるようになります。アドオンソフトウェアは、通常、Kubernetes コミュニティや AWS のようなクラウドプロバイダ、またはサードパーティーベンダーによって構築、保守されます。Amazon EKS は、Amazon VPC CNI plugin for Kubernetes、`kube-proxy`、および、CoreDNS などのセルフマネージド型アドオンを、すべてのクラスターで自動的にインストールします。VPC CNI アドオンは Amazon EKS Hybrid Nodes と互換性がなく、ハイブリッドノードにデプロイされないことに注意してください。必要に応じて、アドオンのデフォルト設定は変更と更新が可能です。

Amazon EKS アドオンはAmazon EKS クラスター用に厳選されたアドオンセットのインストールと管理を実行してください。Amazon EKS アドオンには最新のセキュリティパッチ、バグ修正が含まれており、また Amazon EKS と連携するために AWS により検証されています。Amazon EKS アドオンを使用すると、Amazon EKS クラスターの安全性と安定性を一貫して保証でき、アドオンのインストール、設定、および更新に必要となる作業量を削減できます。セルフマネージド型のアドオン (`kube-proxy` など) がすでにクラスターで実行されており、Amazon EKS アドオンとして利用可能な場合、`kube-proxy` Amazon EKS アドオンをインストールすれば、その機能からのメリットを活用できるようになります。

Amazon EKS API を使用することで、Amazon EKS アドオンのための、Amazon EKS 管理の特定の設定フィールドを更新できます。Amazon EKS で管理されていない設定フィールドは、アドオンの起動後に Kubernetes クラスター内で直接変更することもできます。これには、アドオン向けの特定の設定フィールドの定義が含まれます (該当する場合)。これらの変更は一度実行されると Amazon EKS によって上書きされることはありません。これは、Kubernetes によるサーバー側の適用機能を使用して実現しています。詳細については、「[Amazon EKS アドオンのためにカスタマイズできるフィールドを決定する](kubernetes-field-management.md)」を参照してください。

Amazon EKS アドオンはどの Amazon EKS ノードタイプでも使用できます。詳細については「[ノードを使用してコンピューティングリソースを管理する](eks-compute.md)」を参照してください。

Amazon EKS アドオンはAmazon EKS API、AWS マネジメントコンソール、AWS CLI、および `eksctl` を使用して、追加、更新、または削除ができます。Amazon EKS アドオンは[AWS クラウドフォーメーション](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html) を使用しても作成できます。

## 考慮事項
<a name="eks-add-ons-considerations"></a>

Amazon EKS アドオンを使用する場合は次の点を考慮してください:
+ クラスターでアドオンの設定を行うにはアドオンを操作するための IAM 許可を、[IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)が持っている必要があります。詳細については「[Amazon Elastic Kubernetes Service で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions)」で、`Addon` の名前ごとにアクションを参照してください。
+ Amazon EKS アドオンはクラスター用にプロビジョニングまたは設定するノードで実行されます。ノードタイプには Amazon EC2 インスタンス、Fargate、ハイブリッドノードがあります。
+ Amazon EKS で管理されていないフィールドを変更して、Amazon EKS アドオンのインストールをカスタマイズできます。詳細については、「[Amazon EKS アドオンのためにカスタマイズできるフィールドを決定する](kubernetes-field-management.md)」を参照してください。
+ AWS マネジメントコンソール を使用してクラスターを作成すると、Amazon EKS `kube-proxy`、Amazon VPC CNI plugin for Kubernetes、および CoreDNS Amazon EKS アドオンが自動的にクラスターに追加されます。また、`eksctl` を使用して `config` ファイルでクラスターを作成する場合は`eksctl` は Amazon EKS アドオンを持つクラスターを作成できます。`config` ファイルなしで (あるいは他のツールを使用して) `eksctl` によりクラスターを作成する場合は、Amazon EKS アドオンではなく、セルフマネージドの `kube-proxy` や、Amazon VPC CNI plugin for Kubernetes、および CoreDNS アドオンがインストールされます。これらは自分で管理することが可能で、また、クラスターの作成後に Amazon EKS アドオンを手動で追加することもできます。クラスターの作成にどの方法を使用するかにかかわらず、VPC CNI アドオンはハイブリッドノードにインストールされません。
+ `eks:addon-cluster-admin` `ClusterRoleBinding` は `cluster-admin` `ClusterRole` を `eks:addon-manager` Kubernetes の ID にバインドします。このロールには `eks:addon-manager` ID が Kubernetes 名前空間を作成し、アドオンを名前空間にインストールするために必要なアクセス許可があります。`eks:addon-cluster-admin` `ClusterRoleBinding` が削除されても、Amazon EKS クラスターは引き続き機能しますが、Amazon EKS はアドオンを管理できなくなります。次のプラットフォームバージョンから始まるすべてのクラスターは新しい `ClusterRoleBinding` バージョンを使用します。
+ AWS からの EKS アドオンのサブセットは Amazon EKS Hybrid Nodes との互換性が検証されています。詳細については[AWSアドオン](workloads-add-ons-available-eks.md) の互換性の表を参照してください。

## アドオン用のカスタム名前空間
<a name="custom-namespace"></a>

コミュニティアドオンと AWS アドオンの場合、アドオンの作成時に必要に応じてカスタム名前空間を指定できます。特定の名前空間にアドオンをインストールした後で、その名前空間を変更するには、いったんアドオンを削除してから再作成する必要があります。

名前空間を指定しないと、アドオンには事前定義された名前空間が使用されます。

カスタム名前空間を使用すると、EKS クラスター内でアドオンオブジェクトを効率よく分類整理できるようになります。この柔軟性により、アドオンを運用上のニーズや既存の名前空間戦略に合わせて整理できます。

アドオンを作成するときに、カスタム名前空間を設定できます。詳細については、「[Amazon EKS アドオンを作成する](creating-an-add-on.md)」を参照してください。

### アドオン向けに事前定義された名前空間を取得する
<a name="_get_predefined_namespace_for_add_on"></a>

アドオン向けに事前定義された名前空間は、名前空間を指定しない場合にアドオンがインストールされる名前空間です。

アドオン向けに事前定義された名前空間を取得するには、次のコマンドを使用します。

```
aws eks describe-addon-versions --addon-name <addon-name> --query "addons[].defaultNamespace"
```

出力例:

```
[
    "kube-system"
]
```

## Amazon EKS 自動モードl の考慮事項
<a name="addon-consider-auto"></a>

Amazon EKS 自動 モードには以下のような重要なクラスター機能を提供する機能が含まれています：
+ ポッドネットワーキング
+ サービスネットワーキング
+ クラスター DNS
+ 自動スケーリング
+ ブロックストレージ
+ ロードバランサーコントローラー
+ Pod Identity エージェント
+ ノードモニタリングエージェント

自動 mode コンピューティングでは以下に示すような、一般的に使用される多くの EKS アドオンが冗長になります：
+ Amazon VPC CNI
+ kube-proxy
+ CoreDNS
+ Amazon EBS CSI ドライバー
+ EKS Pod Identity エージェント

ただし、クラスターが 自動 mode をセルフマネージド EC2 インスタンス、マネージド型ノードグループ、AWS Fargate などの他のコンピューティングオプションと組み合わせる場合、これらのアドオンは引き続き必要です。AWS はアンチアフィニティルールを用いて EKS アドオンを強化し、アドオンポッドがサポートされているコンピュートタイプのみに自動的にスケジュールされるようにしています。さらに、ユーザーは EKS アドオン `DescribeAddonVersions` API を活用して、各アドオンとその特定のバージョンでサポートされている computeTypes を検証できるようになりました。加えて EKS 自動 モードでは上記のコントローラーは AWS の所有するインフラストラクチャで実行されます。そのため、EKS 自動 モードを他のタイプのコンピューティングと組み合わせて使用している場合をのぞいて、これらのコントローラーをアカウントで見ることすらないかもしれません。組み合わせて使用している場合はクラスターにインストールしたコントローラーが表示されます。

既存のクラスターで EKS 自動モードl を有効にする予定がある場合は特定のアドオンのバージョンアップグレードが必要になる場合があります。詳細については「EKS 自動モードl の [必要なアドオンバージョン](auto-enable-existing.md#auto-addons-required)」を参照してください。

## サポート
<a name="addon-support"></a>

 AWS はサポートレベルが異なる複数のタイプのアドオンを発行します。
+  ** AWS アドオン：** これらのアドオンは によって構築され、完全にサポートされていますAWS。
  + AWS アドオンを使用して、Amazon EFS などのAWS 他のサービスと連携します。
  + 詳細については「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。
+  ** AWS マーケットプレイス アドオン：** これらのアドオンは独立したAWSパートナーによってスキャンAWSされ、サポートされます。
  + マーケットプレイス アドオンを使用して、Splunk によるモニタリングなど、クラスターに価値のある高度な機能を追加します。
  + 詳細については「[AWS マーケットプレイス アドオン](workloads-add-ons-available-vendors.md)」を参照してください。
+  **コミュニティアドオン**: これらのアドオンは によってスキャンされますAWSが、オープンソースコミュニティによってサポートされます。
  + コミュニティアドオンを使用すると、Kubernetes メトリクスサーバーなどの一般的なオープンソースソフトウェアのインストールの複雑さを軽減できます。
  + コミュニティアドオンは AWS によってソースからパッケージ化され、AWS はバージョンの互換性についてのみコミュニティアドオンを検証します。
  + 詳細については、「[コミュニティアドオン](community-addons.md)」を参照してください。

次の表は各アドオンタイプのサポート範囲の詳細を示しています：


| Category | 機能 |  AWSアドオン |  AWS マーケットプレイス アドオン | コミュニティアドオン | 
| --- | --- | --- | --- | --- | 
|  開発  |  AWS によって構築されました   |  はい  |  なし  |  はい  | 
|  開発  |  AWS によって検証済み   |  はい  |  なし  |  あり\$1  | 
|  開発  |  AWS パートナーによって検証済み  |  不可  |  あり  |  なし  | 
|  メンテナンス  |  AWS によってスキャンされました   |  はい  |  はい  |  はい  | 
|  メンテナンス  |  AWS によって修正されました   |  はい  |  なし  |  はい  | 
|  メンテナンス  |  AWS パートナーによってパッチが適用されました  |  不可  |  あり  |  なし  | 
|  ディストリビューション  |  AWS によって公開   |  はい  |  なし  |  はい  | 
|  ディストリビューション  |  AWS パートナーによって公開  |  不可  |  あり  |  なし  | 
|  サポート  |  AWSによる基本インストールサポート   |  はい  |  はい  |  はい  | 
|  サポート  |  フルAWSサポート  |  はい  |  なし  |  不可  | 
|  サポート  |  完全なAWSパートナーサポート  |  不可  |  あり  |  なし  | 

 `*`: コミュニティアドオンの検証には、Kubernetes バージョンの互換性のみが含まれます。例えば、クラスターにコミュニティアドオンをインストールすると、AWS はクラスターの Kubernetes バージョンと互換性があるかどうかを確認します。

 AWS マーケットプレイス アドオンは の外部ソースから追加のソフトウェア依存関係をダウンロードできますAWS。これらの外部依存関係は によってスキャンまたは検証されませんAWS。外部の依存関係を取得する AWS マーケットプレイス アドオンをデプロイするときはセキュリティ要件を考慮してください。

# AWSアドオン
<a name="workloads-add-ons-available-eks"></a>

以下の Amazon EKS アドオンをクラスターで作成できます。`eksctl`、AWS マネジメントコンソール、または AWS CLI を使用して、使用可能なアドオンの最新リストを表示できます。使用可能なすべてのアドオンを確認したり、アドオンをインストールしたりするには[Amazon EKS アドオンを作成する](creating-an-add-on.md) を参照してください。アドオンが IAM アクセス権限を要求する場合、クラスター用に IAM OpenID Connect (OIDC) プロバイダーが必要です。既に存在しているかどうかを確認する、または作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。アドオンはインストール後に、作成または削除できます。詳細については「[Amazon EKS アドオンを更新する](updating-an-add-on.md)」または「[クラスターから Amazon EKS アドオンを削除する](removing-an-add-on.md)」を参照してください。Amazon EKS Hybrid Nodes で EKS アドオンを実行する際の考慮事項の詳細については「[ハイブリッドノードのアドオンを構成する](hybrid-nodes-add-ons.md)」を参照してください。

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


| 説明 | 詳細情報 | 互換性のあるコンピューティングタイプ | 
| --- | --- | --- | 
|  クラスターのためにネイティブ VPC ネットワークを提供する  |   [Amazon VPC CNI Kubernetes用プラグイン](#add-ons-vpc-cni)   |  EC2  | 
|  Kubernetes クラスター DNS として機能する、フレキシブルで拡張可能な DNS サーバー  |   [CoreDNS](#add-ons-coredns)   |  EC2、Fargate、EKS 自動モード、EKS Hybrid Nodes  | 
|  各 Amazon EC2 ノードのネットワークルールを管理する  |   [`Kube-proxy`](#add-ons-kube-proxy)   |  EC2、EKS Hybrid Nodes  | 
|  クラスターのために Amazon EBS ストレージを提供する  |   [Amazon EBS CSI ドライバー](#add-ons-aws-ebs-csi-driver)   |  EC2  | 
|  クラスターのために Amazon EFS ストレージを提供する  |   [Amazon EFS CSI ドライバー](#add-ons-aws-efs-csi-driver)   |  EC2、EKS 自動モード  | 
|  クラスターに Amazon FSx for Lustre ストレージを提供する  |   [Amazon FSx CSI ドライバー](#add-ons-aws-fsx-csi-driver)   |  EC2、EKS 自動モード  | 
|  クラスターのために Amazon S3 ストレージを提供する  |   [Mountpoint for Amazon S3 CSI ドライバー](#mountpoint-for-s3-add-on)   |  EC2、EKS 自動モード  | 
|  追加ノードのヘルス問題を検出する  |   [ノードモニタリングエージェント](#add-ons-eks-node-monitoring-agent)   |  EC2、EKS Hybrid Nodes  | 
|  Amazon EBS CSI ドライバーなどの互換性のある CSI ドライバーでスナップショット機能の使用を有効にする  |   [CSI スナップショットコントローラー](#addons-csi-snapshot-controller)   |  EC2、Fargate、EKS 自動モード、EKS Hybrid Nodes  | 
|  SageMaker HyperPod タスクガバナンスは Amazon EKS クラスター内のチーム間のコンピューティングリソースの割り当てと使用状況を最適化し、タスクの優先順位付けとリソース共有の非効率性に対処します。  |   [Amazon SageMaker HyperPod タスクガバナンス](#addons-hyperpod)   |  EC2、EKS 自動モード  | 
|  Amazon SageMaker HyperPod オブザーバビリティアドオンは、HyperPod クラスターの包括的なモニタリングおよびオブザーバビリティ機能を実現します。  |   [Amazon SageMaker HyperPod オブザーバビリティアドオン](#addons-hyperpod-observability)   |  EC2、EKS 自動モード  | 
|  Amazon SageMaker HyperPod トレーニングオペレーターは、高度なスケジューリング機能とリソース管理機能を備えており、Amazon EKS クラスターで効率よく分散トレーニングを実施できます。  |   [Amazon SageMaker HyperPod トレーニングオペレーター](#addons-hyperpod-training-operator)   |  EC2、EKS 自動モード  | 
|  Amazon SageMaker HyperPod 推論演算子は、リソース使用率とコスト効率を最適化して、高性能 AI 推論ワークロードのデプロイと管理を可能にします。  |   [Amazon SageMaker HyperPod 推論演算子](#addons-hyperpod-inference-operator)   |  EC2、EKS 自動モード  | 
|  ネットワークフローデータを収集して Amazon CloudWatch に報告する Kubernetes エージェント。クラスターノード間の TCP 接続を包括的にモニタリングできます。  |   [ネットワーク・フロー・モニター の AWS](#addons-network-flow)   |  EC2、EKS 自動モード  | 
|  オープンテレメトリー プロジェクトの、安全かつ本番に対応した、AWS によってサポートされているディストリビューション  |   [AWS オープンテレメトリー用ディストロ](#add-ons-adot)   |  EC2、Fargate、EKS 自動モード、EKS Hybrid Nodes  | 
|  AWS CloudTrail 管理イベントや Amazon VPC フローログなどの基本的なデータソースを分析および処理するセキュリティモニタリングサービス。Amazon GuardDuty は、Kubernetes 監査ログやランタイムモニタリングなどの機能も処理します  |   [Amazon GuardDuty エージェント](#add-ons-guard-duty)   |  EC2、EKS 自動モード  | 
|  AWS によって提供されるモニタリングおよびオブザーバビリティサービス。このアドオンは CloudWatch エージェントをインストールし、Amazon EKS のオブザーバビリティが強化された CloudWatch アプリケーションシグナルと CloudWatch コンテナインサイトの両方を有効にします  |   [Amazon CloudWatch 観測可能エージェント](#amazon-cloudwatch-observability)   |  EC2、EKS 自動モード、EKS Hybrid Nodes  | 
|  EC2 インスタンスプロファイルから EC2 インスタンスに認証情報を提供する場合と同じような方法で、アプリケーションの認証情報を管理する機能。  |   [EKS Pod Identity エージェント](#add-ons-pod-id)   |  EC2、EKS Hybrid Nodes  | 
|  cert-manager を有効にして、AWS プライベート CA から X.509 証明書を発行します。cert-manager が必要です。  |   [AWS プライベート CA の Connector for Kubernetes](#add-ons-aws-privateca-connector)   |  EC2、Fargate、EKS 自動モード、EKS Hybrid Nodes  | 
|  SR-IOV ネットワークデバイスのパフォーマンスに関する Prometheus メトリクスを生成する  |   [SR-IOV ネットワークメトリクスエクスポーター](#add-ons-sriov-network-metrics-exporter)   |  EC2  | 
|  AWS Secrets Manager からシークレットを取得し、AWS Systems Manager Parameter Store からパラメータを取得して、Kubernetes ポッドにファイルとしてマウントします。  |   [AWS Secrets Store CSI Driver プロバイダー](#add-ons-aws-secrets-store-csi-driver-provider)   |  EC2、EKS 自動モード、EKS Hybrid Nodes  | 
|  Spaces を使用すると、JupyterLab および Code Editor アプリケーションを作成および管理して、インタラクティブな ML ワークロードを実行できます。  |   [Amazon SageMaker Spaces](#add-ons-amazon-sagemaker-spaces)   |  HyperPod  | 

## Amazon VPC CNI Kubernetes用プラグイン
<a name="add-ons-vpc-cni"></a>

Amazon VPC CNI Plugin for Kubernetes の Amazon EKS アドオンは、クラスターにネイティブ VPC ネットワークを提供する Kubernetes コンテナネットワークインターフェイス (CNI) プラグインです。このアドオンのセルフマネージドタイプまたはマネージドタイプが、デフォルトで各 Amazon EC2 ノードにインストールされます。詳細については「[Kubernetesコンテナネットワークインターフェース（CNI）プラグイン](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)」を参照してください。

**注記**  
このアドオンを Amazon EKS 自動モード クラスターにインストールする必要はありません。詳細については「[Amazon EKS 自動モードl の考慮事項](eks-add-ons.md#addon-consider-auto)」を参照してください。

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

### 必要な IAM 許可
<a name="add-ons-vpc-cni-iam-permissions"></a>

このアドオンはAmazon EKS のサービスアカウント用の IAM 役割機能を使用します。詳細については「[サービスアカウントの IAM ロール](iam-roles-for-service-accounts.md)」を参照してください。

クラスターが `IPv4` ファミリーを使用する場合は[AmazonEKS\$1CNI\$1Policy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKS_CNI_Policy.html) のアクセス権限が必要です。クラスターが `IPv6` ファミリーを使用する場合は[IPv6 モード](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/iam-policy.md#ipv6-mode)のアクセス許可を持つ [IAM ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)を作成する必要があります。次のコマンドで、IAM ロールを作成し、そのロールにポリシーの 1 つをアタッチして、アドオンが使用する Kubernetes サービスアカウントに注釈を付けることができます。

*マイクラスター* をクラスターの名前に置き換え、*AmazonEKSVPCCNIRole* を役割の名前に置き換えます。クラスターが `IPv6` ファミリを使用する場合は*AmazonEKS\$1CNI\$1Policy* を作成したポリシーの名前に置き換えてください。このコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。別のツールを使用してロールを作成し、ポリシーをアタッチして、Kubernetes サービスアカウントに注釈を付ける必要がある場合は、「[IAM ロールを Kubernetes サービスアカウントに割り当てる](associate-service-account-role.md)」を参照してください。

```
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
```

### 情報を更新する
<a name="add-ons-vpc-cni-update-information"></a>

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

## CoreDNS
<a name="add-ons-coredns"></a>

CoreDNS の Amazon EKS アドオンは、Kubernetes クラスター DNS として機能できる柔軟で拡張可能な DNS サーバーです。このアドオンのセルフマネージドタイプまたはマネージドタイプが、クラスターの作成時にデフォルトでインストールされました。少なくとも 1 つのノードで Amazon EKS クラスターを起動すると、クラスターにデプロイされたノード数に関係なく、デフォルトで CoreDNS イメージの 2 つのレプリカがデプロイされます。これらの CoreDNS ポッドは、クラスター内のすべてのポッドの名前解決を行います。クラスターに Fargate プロファイルが含まれ、名前空間が CoreDNS デプロイの名前空間と一致している場合、CoreDNS Pod を Fargate ノードにデプロイできます。詳細については、[起動時にどの Pod が AWS Fargate を使用するのかを定義する](fargate-profile.md)を参照してください。

**注記**  
このアドオンを Amazon EKS 自動モード クラスターにインストールする必要はありません。詳細については「[Amazon EKS 自動モードl の考慮事項](eks-add-ons.md#addon-consider-auto)」を参照してください。

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

### 必要な IAM 許可
<a name="add-ons-coredns-iam-permissions"></a>

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

### 追加情報
<a name="add-ons-coredns-information"></a>

CoreDNS の詳細については、Kubernetes ドキュメントの「[サービスディスカバリーに CoreDNS を使用する](https://kubernetes.io/docs/tasks/administer-cluster/coredns/)」および「[Customizing DNS Service](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)」を参照してください。

## `Kube-proxy`
<a name="add-ons-kube-proxy"></a>

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

**注記**  
このアドオンを Amazon EKS 自動モード クラスターにインストールする必要はありません。詳細については「[Amazon EKS 自動モードl の考慮事項](eks-add-ons.md#addon-consider-auto)」を参照してください。

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

### 必要な IAM 許可
<a name="add-ons-kube-proxy-iam-permissions"></a>

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

### 情報を更新する
<a name="add-ons-kube-proxy-update-information"></a>

現在のバージョンを更新する前に、次の要件を考慮してください:
+  Amazon EKS クラスターの `Kube-proxy` は[Kubernetes と同じ互換性およびスキューポリシー](https://kubernetes.io/releases/version-skew-policy/#kube-proxy)が適用されます。

### 追加情報
<a name="add-ons-kube-proxy-information"></a>

`kube-proxy` の詳細については、Kubernetes ドキュメントの「[kube-proxy](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/)」を参照してください。

## Amazon EBS CSI ドライバー
<a name="add-ons-aws-ebs-csi-driver"></a>

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

**注記**  
このアドオンを Amazon EKS 自動モード クラスターにインストールする必要はありません。自動モード にはブロックストレージ機能があります。詳細については「[ステートフルワークロードのサンプルを EKS Auto Mode にデプロイする](sample-storage-workload.md)」を参照してください。

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

### 必要な IAM 許可
<a name="add-ons-aws-ebs-csi-driver-iam-permissions"></a>

このアドオンはAmazon EKS のサービスアカウント用の IAM 役割機能を使用します。詳細については「[サービスアカウントの IAM ロール](iam-roles-for-service-accounts.md)」を参照してください。[AmazonEBSCSIDriverPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEBSCSIDriverPolicy.html) AWS マネージドポリシーの許可が必要です。次のコマンドで IAM 役割を作成して、それにマネージドポリシーをアタッチできます。*マイクラスター* をクラスターの名前に置き換え、*AmazonEKS\$1EBS\$1CSI\$1DriverRole* を役割の名前に置き換えます。このコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。別のツールを使用する必要がある場合や、暗号化にカスタム [KMS キー](https://aws.amazon.com/kms/) を使用する必要がある場合は[ステップ 1: IAM ロールを作成する](ebs-csi.md#csi-iam-role) を参照してください。

```
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
```

### 追加情報
<a name="add-ons-aws-ebs-csi-driver-information"></a>

アドオンの詳細については「[Amazon EBS で Kubernetes ボリュームストレージを使用する](ebs-csi.md)」を参照してください。

## Amazon EFS CSI ドライバー
<a name="add-ons-aws-efs-csi-driver"></a>

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

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

### 必要な IAM 許可
<a name="add-ons-aws-efs-csi-driver-iam-permissions"></a>

 **必要な IAM アクセス権限** — このアドオンは Amazon EKS の サービスアカウントの IAM 役割機能を利用します。詳細については「[サービスアカウントの IAM ロール](iam-roles-for-service-accounts.md)」を参照してください。[AmazonEFSCSIDriverPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEFSCSIDriverPolicy.html) AWS マネージドポリシーの許可が必要です。次のコマンドで IAM 役割を作成して、その役割にマネージドポリシーをアタッチできます。*マイクラスター* をクラスターの名前に置き換え、*AmazonEKS\$1EFS\$1CSI\$1DriverRole* を役割の名前に置き換えます。これらのコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。別のツールを使用する必要がある場合は[ステップ 1: IAM ロールを作成する](efs-csi.md#efs-create-iam-resources) を参照してください。

```
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 --output json --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"
```

### 追加情報
<a name="add-ons-aws-efs-csi-driver-information"></a>

アドオンの詳細については「[Amazon EFS で Elastic File System ストレージを使用する](efs-csi.md)」を参照してください。

## Amazon FSx CSI ドライバー
<a name="add-ons-aws-fsx-csi-driver"></a>

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

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

**注記**  
クラスターに既存の Amazon FSx CSI ドライバーをインストールすると、アドオンのインストールに失敗する可能性があります。EKS 以外の FSx CSI ドライバーが存在するところに Amazon EKS のアドオンバージョンをインストールしようとすると、リソースの競合によりインストールが失敗します。この問題を解決するには、インストール時に `OVERWRITE` フラグを使用します。  

  ```
  aws eks create-addon --addon-name aws-fsx-csi-driver --cluster-name my-cluster --resolve-conflicts OVERWRITE
  ```
Amazon FSx CSI ドライバー EKS アドオンの認証には、EKS Pod Identity エージェントが必要です。このコンポーネントがないと、アドオンは「`Amazon EKS Pod Identity agent is not installed in the cluster`」というエラーで失敗し、ボリュームオペレーションが回避されます。FSx CSI ドライバーアドオンをデプロイする前後に Pod Identity エージェントをインストールします。詳細については、「[Amazon EKS Pod Identity エージェントのセットアップ](pod-id-agent-setup.md)」を参照してください。

### 必要な IAM アクセス許可
<a name="add-ons-aws-fsx-csi-driver-iam-permissions"></a>

このアドオンはAmazon EKS のサービスアカウント用の IAM 役割機能を使用します。詳細については、「[サービスアカウントの IAM ロール](iam-roles-for-service-accounts.md)」を参照してください。[AmazonFSxFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonFSxFullAccess.html) AWSマネージドポリシーの許可が必要です。次のコマンドで IAM 役割を作成して、それにマネージドポリシーをアタッチできます。*マイクラスター* をクラスターの名前に置き換え、*AmazonEKS\$1FSx\$1CSI\$1* をロールの名前に置き換えます。このコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。

```
eksctl create iamserviceaccount \
    --name fsx-csi-controller-sa \
    --namespace kube-system \
    --cluster my-cluster \
    --role-name AmazonEKS_FSx_CSI_DriverRole \
    --role-only \
    --attach-policy-arn arn:aws:iam::aws:policy/AmazonFSxFullAccess \
    --approve
```

### 追加情報
<a name="add-ons-aws-fsx-csi-driver-information"></a>

アドオンの詳細については「[Amazon FSx for Lustre で高性能なアプリケーションストレージを使用する](fsx-csi.md)」を参照してください。

## Mountpoint for Amazon S3 CSI ドライバー
<a name="mountpoint-for-s3-add-on"></a>

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

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

### 必要な IAM 許可
<a name="add-ons-mountpoint-for-s3-add-on-iam-permissions"></a>

このアドオンはAmazon EKS のサービスアカウント用の IAM 役割機能を使用します。詳細については「[サービスアカウントの IAM ロール](iam-roles-for-service-accounts.md)」を参照してください。

作成される IAM 役割には S3 へのアクセスを許可するポリシーが必要です。ポリシーを作成するときは[Mountpoint IAM アクセス許可の推奨事項](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#iam-permissions)に従ってください。別の方法として、AWS マネージドポリシー[ AmazonS3FullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor) を使用することもできますが、このマネージドポリシーでは Mountpoint に必要以上のアクセス権限が付与されます。

次のコマンドで IAM 役割を作成して、その役割にマネージドポリシーをアタッチできます。*my-cluster* をクラスターの名前に、*region-code* を正しい AWS リージョンコードに、*AmazonEKS\$1S3\$1CSI\$1DriverRole* を役割の名前に、*AmazonEKS\$1S3\$1CSI\$1DriverRole\$1ARN* を役割 ARN に置き換えます。これらのコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。IAM コンソールまたは AWS CLI を使用する手順については「[ステップ 2: IAM ロールを作成する](s3-csi-create.md#s3-create-iam-role)」を参照してください。

```
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
```

### 追加情報
<a name="add-ons-mountpoint-for-s3-add-on-information"></a>

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

## CSI スナップショットコントローラー
<a name="addons-csi-snapshot-controller"></a>

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

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

### 必要な IAM 許可
<a name="add-ons-csi-snapshot-controller-iam-permissions"></a>

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

### 追加情報
<a name="add-ons-csi-snapshot-controller-information"></a>

アドオンの詳細については「[CSI ボリュームのためにスナップショット機能を有効にする](csi-snapshot-controller.md)」を参照してください。

## Amazon SageMaker HyperPod タスクガバナンス
<a name="addons-hyperpod"></a>

SageMaker HyperPod タスクガバナンスはリソースの割り当てを合理化し、Amazon EKS クラスターのチームやプロジェクト全体でコンピューティングリソースを効率的に活用できるように設計されています。これにより、管理者は次の設定を行うことができます。
+ さまざまなタスクの優先度
+ 各チームのコンピューティング割り当て
+ 各チームがアイドル状態のコンピューティングリソースを貸し借りする方法
+ チームが自らのタスクを先取りした場合

HyperPod タスクガバナンスは Amazon EKS クラスターオブザーバビリティも提供し、クラスター容量をリアルタイムで可視化します。これにはコンピューティングの可用性と使用状況、チームの割り当てと使用状況、タスクの実行と待機時間に関する情報が含まれ、情報に基づいた意思決定とプロアクティブなリソース管理のための設定を行います。

Amazon EKS アドオン名は `amazon-sagemaker-hyperpod-taskgovernance` です。

### 必要な IAM 許可
<a name="_required_iam_permissions"></a>

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

### 追加情報
<a name="_additional_information"></a>

アドオンの詳細については[SageMaker HyperPod タスクガバナンス](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-governance.html)」を参照してください。

## Amazon SageMaker HyperPod オブザーバビリティアドオン
<a name="addons-hyperpod-observability"></a>

Amazon SageMaker HyperPod Observability アドオンは、HyperPod クラスターの包括的なモニタリングおよびオブザーバビリティ機能を実現します。このアドオンは、ノードエクスポーター、DCGM エクスポーター、kube-state-metrics、EFA エクスポーターなどの重要なモニタリングコンポーネントを自動的にデプロイおよび管理します。メトリクスを収集して顧客指定の Amazon Managed Prometheus (AMP) インスタンスに転送し、顧客のトレーニングジョブからカスタムメトリクスおよびイベント取り込み用の OTLP エンドポイントを公開します。

アドオンは、HyperPod Task Governance アドオン、HyperPod Training Operator、Kubeflow、KEDA などのさまざまなコンポーネントからメトリクスをスクレイピングすることで、より広範な HyperPod エコシステムに統合されます。収集されたすべてのメトリクスは Amazon Managed Prometheus で一元化され、顧客は Amazon Managed Grafana ダッシュボードを通じて統一されたオブザーバビリティビューを実現できます。HyperPod 環境全体でクラスターの状態、リソース使用率、トレーニングジョブのパフォーマンスをエンドツーエンドで可視化できるようになります。

Amazon EKS アドオン名は `amazon-sagemaker-hyperpod-observability` です。

### 必要な IAM 許可
<a name="_required_iam_permissions_2"></a>

このアドオンはAmazon EKS のサービスアカウント用の IAM 役割機能を使用します。詳細については、「[サービスアカウントの IAM ロール](iam-roles-for-service-accounts.md)」を参照してください。次のマネージドポリシーが必要です。
+  `AmazonPrometheusRemoteWriteAccess` – クラスターから AMP へのリモート書き込みメトリクスの場合
+  `CloudWatchAgentServerPolicy` – クラスターから CloudWatch へのログのリモート書き込みの場合

### 追加情報
<a name="_additional_information_2"></a>

アドオンおよびその機能の詳細については、「[SageMaker HyperPod のオブザーバビリティ](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-cluster-observability-cluster.html)」を参照してください。

## Amazon SageMaker HyperPod トレーニングオペレーター
<a name="addons-hyperpod-training-operator"></a>

Amazon SageMaker HyperPod トレーニングオペレーターでは、大規模な GPU クラスター全体で分散トレーニングを効率的に管理することで、生成 AI モデルを迅速に開発できます。インテリジェントな障害復旧、ハングしたジョブの検出、プロセスレベルの管理機能が導入されており、トレーニングの中断を最小限に抑え、コストを削減できます。障害発生時にジョブを完全に再起動しなければならない従来のトレーニングインフラストラクチャとは異なり、このオペレーターは外科的なプロセス復旧を実装してトレーニングジョブを円滑に実行し続けます。

また、HyperPod のヘルスモニタリング機能およびオブザーバビリティ機能と連携して、トレーニングの実行と重要なメトリクス (損失の急増やスループットの低下など) の自動モニタリングをリアルタイムに可視化します。コード変更が不要なシンプルな YAML 設定を利用して復旧ポリシーを定義できるため、回復不能なトレーニング状態にすばやく対応して復旧させることができます。こうしたモニタリング機能と復旧機能が連携して、運用上のオーバーヘッドを最小限に抑えながら、最適なトレーニングパフォーマンスを維持します。

Amazon EKS アドオン名は `amazon-sagemaker-hyperpod-training-operator` です。

詳細については、「*Amazon SageMaker デベロッパーガイド*」の「[HyperPod トレーニングオペレーターの使用](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html)」を参照してください。

### 必要な IAM 許可
<a name="_required_iam_permissions_3"></a>

このアドオンでは、IAM アクセス許可が必須であり、EKS Pod Identity を使用します。

 AWS では、`AmazonSageMakerHyperPodTrainingOperatorAccess`[マネージドポリシー](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodTrainingOperatorAccess.html)を推奨しています。

詳細については、「*Amazon SageMaker 開発者ガイド*」の「[Installing the training operator](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator-install.html#sagemaker-eks-operator-install-operator)」を参照してください。

### 追加情報
<a name="_additional_information_3"></a>

アドオンの詳細については、「[SageMaker HyperPod training operator](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html)」を参照してください。

## Amazon SageMaker HyperPod 推論演算子
<a name="addons-hyperpod-inference-operator"></a>

Amazon SageMaker HyperPod は、インタラクティブな実験やトレーニングから推論やトレーニング後のワークフローまで、AI 開発のライフサイクル全体をサポートするエンドツーエンドのエクスペリエンスを実現します。Kubernetes の柔軟性とマネージドエクスペリエンスの運用上の優位性を組み合わせた包括的な推論プラットフォームを提供します。モデルライフサイクル全体で同じ HyperPod コンピューティングを使用して、エンタープライズグレードの信頼性で生成 AI モデルをデプロイ、スケーリング、最適化できます。

Amazon SageMaker HyperPod は、kubectl、Python SDK、Amazon SageMaker Studio UI、HyperPod CLI など、複数の方法でモデルをデプロイできる柔軟なデプロイインターフェイスを提供します。この機能は、需要に基づいて自動的に調整される動的リソース割り当てを備えた高度なオートスケーリング機能を提供します。さらに、パフォーマンスを最適化するために time-to-first-token、GPU 使用率などの重要なメトリクスを追跡する包括的なオブザーバビリティとモニタリング機能を提供しています。

Amazon EKS アドオン名は `amazon-sagemaker-hyperpod-inference` です。

### インストール方法
<a name="_installation_methods"></a>

このアドオンをインストールするには、次のいずれかの方法を使用します。
+  **SageMaker コンソール (推奨)**: ガイド付き設定で効率的なインストールエクスペリエンスを提供します。
+  **EKS アドオンコンソールまたは CLI**: 推論演算子をインストールする前に、依存関係アドオンを手動でインストールする必要があります。必要な依存関係については、以下の前提条件セクションを参照してください。

### 前提条件
<a name="_prerequisites"></a>

EKS アドオンコンソールまたは CLI を使用して推論演算子アドオンをインストールする前に、次の依存関係がインストールされていることを確認してください。

必要な EKS アドオン:
+ Amazon S3 Mountpoint CSI ドライバー (最小バージョン: v1.14.1-eksbuild.1)
+ Metrics Server (最小バージョン: v0.7.2-eksbuild.4)
+ Amazon FSx CSI ドライバー (最小バージョン: v1.6.0-eksbuild.1)
+ Cert Manager (最小バージョン: v1.18.2-eksbuild.2)

各依存関係のインストール手順の詳細については、「[Installing the inference operator](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-setup.html)」を参照してください。

### 必要な IAM 許可
<a name="_required_iam_permissions_4"></a>

このアドオンは IAM アクセス許可を必要とし、OIDC/IRSA を使用します。

以下のマネージドポリシーは、最小範囲のアクセス許可を提供するため、使用が推奨されます。
+  `AmazonSageMakerHyperPodInferenceAccess` – 推論演算子の設定に必要な管理者権限を提供します
+  `AmazonSageMakerHyperPodGatedModelAccess` – SageMaker Jumpstart (Meta Llama、GPT-Neo など) でゲート付きモデルへのアクセスを SageMaker HyperPod に提供します

詳細については、「[Installing the inference operator](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-setup.html)」を参照してください。

### 追加情報
<a name="_additional_information_4"></a>

Amazon SageMaker HyperPod 推論演算子の詳細については、「[SageMaker HyperPod inference operator](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment.html)」を参照してください。

トラブルシューティングの詳細については、「[Troubleshooting SageMaker HyperPod model deployment](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-ts.html)」を参照してください。

## ネットワーク・フロー・モニター の AWS
<a name="addons-network-flow"></a>

Amazon CloudWatch ネットワーク・フロー・モニター エージェントはクラスター内のすべてのノードから TCP 接続統計を収集し、ネットワークフローレポートを Amazon CloudWatch ネットワーク・フロー・モニター 摂取 APIs。

Amazon EKS アドオン名は `aws-network-flow-monitoring-agent` です。

### 必要な IAM 許可
<a name="_required_iam_permissions_5"></a>

このアドオンには IAM 権限が必要です。

アドオンに `CloudWatchNetworkFlowMonitorAgentPublishPolicy` 管理ポリシーを添付する必要があります。

必要な IAM セットアップの詳細については Amazon CloudWatch ネットワーク・フロー・モニター エージェント GitHub リポジトリの[「IAM ポリシー](https://github.com/aws/network-flow-monitor-agent?tab=readme-ov-file#iam-policy)」を参照してください。

管理ポリシーの詳細については、Amazon CloudWatch ユーザーガイドの [CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/security-iam-awsmanpol-network-flow-monitor.html#security-iam-awsmanpol-CloudWatchNetworkFlowMonitorAgentPublishPolicy) を参照してください。

### 追加情報
<a name="_additional_information_5"></a>

アドオンの詳細については [Amazon CloudWatch ネットワーク・フロー・モニター エージェント GitHub リポジトリ](https://github.com/aws/network-flow-monitor-agent?tab=readme-ov-file)を参照してください。

## ノードモニタリングエージェント
<a name="add-ons-eks-node-monitoring-agent"></a>

ノードモニタリングエージェントの Amazon EKS アドオンは追加ノードヘルスの問題を検出できます。これらの追加のヘルスシグナルはオプションのノード自動修復機能でも活用でき、必要に応じてノードを自動的に置き換えることができます。

**注記**  
このアドオンを Amazon EKS 自動モード クラスターにインストールする必要はありません。詳細については「[Amazon EKS 自動モードl の考慮事項](eks-add-ons.md#addon-consider-auto)」を参照してください。

Amazon EKS アドオン名は `eks-node-monitoring-agent` です。

### 必要な IAM 許可
<a name="add-ons-eks-node-monitoring-agent-iam-permissions"></a>

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

### 追加情報
<a name="add-ons-eks-node-monitoring-agent-information"></a>

詳細については「[ノードのヘルス問題を検出し、自動ノード修復を有効にする](node-health.md)」を参照してください。

## AWS オープンテレメトリー用ディストロ
<a name="add-ons-adot"></a>

AWS オープンテレメトリー用ディストロ Amazon EKS アドオンは安全な本番環境対応の、AWS によってサポートされている オープンテレメトリー プロジェクトのディストリビューションです。詳細についてはGitHub で「[AWS オープンテレメトリー用ディストロ](https://aws-otel.github.io/)」を参照してください。

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

### 必要な IAM 許可
<a name="add-ons-adot-iam-permissions"></a>

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

### 追加情報
<a name="add-ons-adot-information"></a>

詳細については、AWS Distro for OpenTelemetry ドキュメントの「[Getting Started with AWS Distro for OpenTelemetry using EKS Add-Ons](https://aws-otel.github.io/docs/getting-started/adot-eks-add-on)」を参照してください。

ADOT では前提条件として `cert-manager` アドオンがクラスターにデプロイされている必要があります。そうでなければ、https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest `cluster_addons` プロパティを使用して直接デプロイした場合、このアドオンは機能しません。その他の要件については、AWS Distro for OpenTelemetry ドキュメントの「[Requirements for Getting Started with AWS Distro for OpenTelemetry using EKS Add-Ons](https://aws-otel.github.io/docs/getting-started/adot-eks-add-on/requirements)」を参照してください。

## Amazon GuardDuty エージェント
<a name="add-ons-guard-duty"></a>

Amazon GuardDuty エージェント Amazon EKS アドオンでは、GuardDuty Runtime Monitoring による分析のために、EKS クラスターノードから[ランタイムイベント](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring-collected-events.html) (ファイルアクセス、プロセス実行、ネットワーク接続) を収集します。GuardDuty 自体 (エージェントではない) は、AWS CloudTrail 管理イベントや Amazon VPC フローログなどの[基本的なデータソース](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_data-sources.html)と、Kubernetes 監査ログやランタイムモニタリングなどの[機能](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-features-activation-model.html)を分析して処理するセキュリティモニタリングサービスです。

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

### 必要な IAM 許可
<a name="add-ons-guard-duty-iam-permissions"></a>

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

### 追加情報
<a name="add-ons-guard-duty-information"></a>

詳細については「[Amazon GuardDuty における Amazon EKSクラスタのランタイム・モニタリング](https://docs.aws.amazon.com/guardduty/latest/ug/how-runtime-monitoring-works-eks.html)」を参照してください。
+ Amazon EKS クラスターで潜在的なセキュリティの脅威を検出するには Amazon GuardDuty ランタイムモニタリングを有効にし、ガードデューティ セキュリティエージェントを Amazon EKS クラスターにデプロイします。

## Amazon CloudWatch 観測可能エージェント
<a name="amazon-cloudwatch-observability"></a>

Amazon CloudWatch 観測可能エージェント Amazon EKS アドオンはAWS が提供するモニタリングおよびオブザーバビリティサービスです。このアドオンは CloudWatch エージェントをインストールし、Amazon EKS のオブザーバビリティが強化された CloudWatch アプリケーションシグナルと CloudWatch コンテナインサイトの両方を有効にします。詳細については「[Amazon CloudWatch エージェント](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」を参照してください。

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

### 必要な IAM 許可
<a name="amazon-cloudwatch-observability-iam-permissions"></a>

このアドオンはAmazon EKS のサービスアカウント用の IAM 役割機能を使用します。詳細については「[サービスアカウントの IAM ロール](iam-roles-for-service-accounts.md)」を参照してください。[AWSXrayWriteOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess) と [CloudWatchAgentServerPolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy) AWS の管理ポリシーのパーミッションが必要です。次のコマンドで IAM ロールを作成し、それに管理ポリシーをアタッチして、アドオンが使用する Kubernetes サービスアカウントに注釈を付けることができます。*マイクラスター* をクラスターの名前に置き換え、*AmazonEKS\$1Observability\$1role* を役割の名前に置き換えます。このコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。別のツールを使用してロールを作成し、ポリシーをアタッチして、Kubernetes サービスアカウントに注釈を付ける必要がある場合は、「[IAM ロールを Kubernetes サービスアカウントに割り当てる](associate-service-account-role.md)」を参照してください。

```
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
```

### 追加情報
<a name="amazon-cloudwatch-observability-information"></a>

詳細については「[CloudWatch エージェントのインストール](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html)」を参照してください。

## AWS プライベート CA の Connector for Kubernetes
<a name="add-ons-aws-privateca-connector"></a>

Kubernetes 用 AWS プライベート CA Connector は、ユーザーが AWS プライベート Certificate Authority (AWS プライベート CA) から証明書を取得できるようにする cert-manager のアドオンです。
+ Amazon EKS アドオン名は `aws-privateca-connector-for-kubernetes` です。
+ アドオン名前空間は `aws-privateca-issuer` です。

このアドオンには `cert-manager` が必要です。`cert-manager` はコミュニティアドオンとして Amazon EKS で使用できます。このアドオンの詳細については、「[Cert Manager](community-addons.md#addon-cert-manager)」を参照してください。アドオンのインストールに関する詳細については「[Amazon EKS アドオンを作成する](creating-an-add-on.md)」を参照してください。

### 必要な IAM 許可
<a name="add-ons-aws-privateca-connector-iam-permissions"></a>

このアドオンには IAM 権限が必要です。

EKS Pod Identities を使用して `AWSPrivateCAConnectorForKubernetesPolicy` IAM ポリシーを `aws-privateca-issuer` Kubernetes サービスアカウントにアタッチします。詳細については、「[Pod Identity を使用して Amazon EKS アドオンに IAM 役割を割り当てる](update-addon-role.md)」を参照してください。

必要な権限の詳細については、「AWS Managed Policy Reference」の「[AWSPrivateCAConnectorForKubernetesPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSPrivateCAConnectorForKubernetesPolicy.html)」を参照してください。

### 追加情報
<a name="add-ons-aws-privateca-connector-information"></a>

詳細については、[AWS Private CA Issuer for Kubernetes GitHub リポジトリ](https://github.com/cert-manager/aws-privateca-issuer)を参照してください。

アドオン設定の詳細については、`aws-privateca-issuer` GitHub リポジトリの「[values.yaml](https://github.com/cert-manager/aws-privateca-issuer/blob/main/charts/aws-pca-issuer/values.yaml)」を参照してください。values.yaml のバージョンが、クラスターにインストールされているアドオンのバージョンと一致していることを確認します。

このアドオンは、EKS Auto Mode の `system` NodePool で使用される `CriticalAddonsOnly` テイントを許容します。詳細については、「[ハードウェア専有インスタンスで重要なアドオンを実行する](critical-workload.md)」を参照してください。

## EKS Pod Identity エージェント
<a name="add-ons-pod-id"></a>

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

**注記**  
このアドオンを Amazon EKS 自動モード クラスターにインストールする必要はありません。Amazon EKS 自動モード は EKS Pod Identity と統合されています。詳細については「[Amazon EKS 自動モードl の考慮事項](eks-add-ons.md#addon-consider-auto)」を参照してください。

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

### 必要な IAM 許可
<a name="add-ons-pod-id-iam-permissions"></a>

Pod Identity Agent アドオン自体には IAM ロールは必要ありません。[Amazon EKS ノードの IAM ロール](create-node-role.md)からの許可を使用して機能しますが、アドオン専用の IAM ロールは必要ありません。

### 情報を更新する
<a name="add-ons-pod-id-update-information"></a>

一度に更新できるマイナーバージョンは 1 つのみです。例えば、現在のバージョンが `1.28.x-eksbuild.y` で、これを `1.30.x-eksbuild.y` に更新する場合は現在のバージョンを `1.29.x-eksbuild.y` に更新してから、再度 `1.30.x-eksbuild.y` に更新する必要があります。アドオンの更新の詳細については「[Amazon EKS アドオンを更新する](updating-an-add-on.md)」を参照してください。

## SR-IOV ネットワークメトリクスエクスポーター
<a name="add-ons-sriov-network-metrics-exporter"></a>

SR-IOV ネットワークメトリクスエクスポーターの Amazon EKS アドオンは、SR-IOV ネットワークデバイスに関するメトリクスを Prometheus 形式で収集して公開します。これにより、EKS ベアメタルノードの SR-IOV ネットワークパフォーマンスをモニタリングできます。エクスポーターは、SR-IOV 対応のネットワークインターフェイスを持つノードで DaemonSet として動作し、Prometheus でスクレイピングできるメトリクスをエクスポートします。

**注記**  
このアドオンには、SR-IOV 対応のネットワークインターフェイスを持つノードが必要です。


| プロパティ | 値 | 
| --- | --- | 
|  アドオン名  |   `sriov-network-metrics-exporter`   | 
|  名前空間  |   `monitoring`   | 
|  ドキュメント  |   [SR-IOV ネットワークメトリクスエクスポーター GitHub リポジトリ](https://github.com/k8snetworkplumbingwg/sriov-network-metrics-exporter)   | 
|  サービスアカウント名  |  なし  | 
|  マネージド IAM ポリシー  |  なし  | 
|  カスタム IAM 許可  |  なし  | 

### AWS Secrets Store CSI Driver プロバイダー
<a name="add-ons-aws-secrets-store-csi-driver-provider"></a>

Secrets Store CSI Driver 用の AWS プロバイダーは、AWS Secrets Manager からシークレットを、AWS Systems Manager Parameter Store からパラメータを取得し、Kubernetes ポッドにファイルとしてマウントできるようにするアドオンです。

### 必要な IAM 許可
<a name="add-ons-ascp-iam-permissions"></a>

このアドオンには IAM 許可は必要ありません。ただし、アプリケーションポッドには、AWS Secrets Manager からシークレットを、AWS Systems Manager Parameter Store からパラメータを取得するための IAM 許可が必要です。アドオンをインストールしたら、サービスアカウントの IAM ロール (IRSA) または EKS Pod Identity を介してアクセスを設定する必要があります。IRSA を使用するには、Secrets Manager の [IRSA セットアップドキュメント](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating_ascp_irsa.html)を参照してください。EKS Pod Identity を使用するには、Secrets Manager の [Pod Identity セットアップドキュメント](https://docs.aws.amazon.com/secretsmanager/latest/userguide/ascp-pod-identity-integration.html)を参照してください。

 AWS では、`AWSSecretsManagerClientReadOnlyAccess`[マネージドポリシー](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-policies.html#security-iam-awsmanpol-AWSSecretsManagerClientReadOnlyAccess)を推奨しています。

必要な許可の詳細については、「AWS マネージドポリシーリファレンス」の「`AWSSecretsManagerClientReadOnlyAccess`」を参照してください。

### 追加情報
<a name="_additional_information_6"></a>

詳細については、secrets-store-csi-driver-provider-aws [GitHub リポジトリ](https://github.com/aws/secrets-store-csi-driver-provider-aws)を参照してください。

アドオンの詳細については、[アドオンに関する AWS Secrets Manager ドキュメント](https://docs.aws.amazon.com/secretsmanager/latest/userguide/ascp-eks-installation.html)を参照してください。

## Amazon SageMaker Spaces
<a name="add-ons-amazon-sagemaker-spaces"></a>

Amazon SageMaker Spaces アドオンは、EKS クラスターまたは HyperPod-EKS クラスターで IDE とノートブックを実行する機能を提供します。管理者は EKS コンソールを使用してクラスターにアドオンをインストールし、イメージ、コンピューティングリソース、ノートブック設定用のローカルストレージ (スペースにアタッチされる追加ストレージ)、ファイルシステム、初期化スクリプトなどのデフォルトのスペース設定を定義できます。

AI 開発者は kubectl を使用してスペースを作成、更新、削除できます。管理者が提供するデフォルト設定を使用することも、設定をカスタマイズすることもできます。AI 開発者は、ローカルの VS Code IDE や、管理者が設定したカスタム DNS ドメインで JupyterLab または CodeEditor IDE をホストするウェブブラウザを使用して、EKS または HyperPod-EKS 上のスペースにアクセスできます。また、kubernetes のポート転送機能を使用して、ウェブブラウザからスペースにアクセスすることもできます。

Amazon EKS アドオン名は `amazon-sagemaker-spaces` です。

### 必要な IAM 許可
<a name="_required_iam_permissions_6"></a>

このアドオンには IAM 権限が必要です。必要な IAM セットアップの詳細については、「*Amazon SageMaker デベロッパーガイド*」の「[IAM 許可のセットアップ](https://docs.aws.amazon.com/sagemaker/latest/dg/permission-setup.html)」を参照してください。

### 追加情報
<a name="_additional_information_7"></a>

アドオンとその機能の詳細については、「*Amazon SageMaker デベロッパーガイド*」の「[HyperPod 上の SageMaker AI ノートブック](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-cluster-ide.html)」を参照してください。

# コミュニティアドオン
<a name="community-addons"></a>

AWS API を使用して、Kubernetes Metrics Server などのコミュニティ アドオンをインストールできます。複数のクラスターでソフトウェアを保守する際の複雑さを軽減するために、コミュニティアドオンを Amazon EKS アドオンとしてインストールすることもできます。

例えば、AWS API、CLI、または管理コンソールを使用してコミュニティ アドオンをインストールできます。クラスターの作成時にコミュニティアドオンをインストールできます。

コミュニティアドオンは既存の Amazon EKS アドオンと同様に管理します。コミュニティアドオンは独自のサポート範囲があるという点で、既存のアドオンとは異なります。

**注記**  
コミュニティアドオンの使用はユーザーが自由に決定できます。お客様と AWS 間の[責任共有モデル](security.md)の一環として、これらのサードパーティープラグインに関して、何をクラスターにインストールするかを理解しておく必要があります。また、お客様はクラスターのセキュリティニーズを満たすコミュニティアドオンについても責任を負います。詳細については、「[EKS にデプロイされたソフトウェアのサポート](related-projects.md#oss-scope)」を参照してください。

コミュニティアドオンは AWS によって構築されるものではありません。AWS は、バージョンの互換性に関するコミュニティアドオンの検証のみ行います。例えば、クラスターにコミュニティアドオンをインストールすると、AWS はクラスターの Kubernetes バージョンと互換性があるかどうかを確認します。

重要なのは AWS はコミュニティアドオンを完全にサポートしていないことです。AWS はアドオンのインストールやアドオンの削除など、AWS API を使用して行われたライフサイクルオペレーションのみをサポートします。

Sコミュニティアドオンのサポートが必要な場合は、既存のプロジェクトリソースを使用します。例えば、プロジェクトのリポジトリに GitHub の問題を作成できます。

## アドオンタイプを決定する
<a name="_determine_add_on_type"></a>

AWS CLI を使用して、Amazon EKS アドオンのタイプを判断できます。

アドオンに関する情報を取得するには、次の CLI コマンドを使用します。`metrics-server` を任意のアドオンの名前に置き換えることができます。

```
aws eks describe-addon-versions --addon-name metrics-server
```

`owner` フィールドの CLI 出力を確認します。

```
{
    "addons": [
        {
            "addonName": "metrics-server",
            "type": "observability",
            "owner": "community",
            "addonVersions": [
```

`owner` の値が `community` の場合、アドオンはコミュニティ アドオンです。AWS は、アドオンのインストール、更新、および削除のサポートのみを提供します。アドオン自体の機能とオペレーションについて質問がある場合は、GitHub の問題などのコミュニティリソースを使用してください。

## コミュニティアドオンをインストールまたは更新する
<a name="_install_or_update_community_add_on"></a>

コミュニティアドオンは他の Amazon EKS アドオンと同じ方法でインストールまたは更新します。
+  [Amazon EKS アドオンを作成する](creating-an-add-on.md) 
+  [Amazon EKS アドオンを更新する](updating-an-add-on.md) 
+  [クラスターから Amazon EKS アドオンを削除する](removing-an-add-on.md) 

## 利用可能なコミュニティアドオン
<a name="_available_community_add_ons"></a>

Amazon EKS で利用できるコミュニティアドオンは次のとおりです。
+  [Kubernetes メトリクスサーバー](#kubernetes-metrics-server) 
+  [kube-state-metrics](#kube-state-metrics) 
+  [Prometheus Node Exporter](#prometheus-node-exporter) 
+  [Cert Manager](#addon-cert-manager) 
+  [外部 DNS](#external-dns) 
+  [Fluent Bit](#fluent-bit) 

### Kubernetes メトリクスサーバー
<a name="kubernetes-metrics-server"></a>

Kubernetes Metrics Server は、Kubernetes の組み込み自動スケーリングパイプラインのコンテナリソースメトリクスのスケーラブルで効率的なソースです。Kubelets からリソースメトリクスを収集し、Horizontal Pod Autoscaler と Vertical Pod Autoscaler で使用するメトリクス API を通じて Kubernetes apiserver で公開します。


| プロパティ | 値 | 
| --- | --- | 
|  アドオン名  |   `metrics-server`   | 
|  名前空間  |   `kube-system`   | 
|  ドキュメント  |   [GitHub Readme](https://github.com/kubernetes-sigs/metrics-server)   | 
|  サービスアカウント名  |  なし  | 
|  マネージド IAM ポリシー  |  なし  | 
|  カスタム IAM 許可  |  なし  | 

### kube-state-metrics
<a name="kube-state-metrics"></a>

クラスターレベルのメトリクスを生成して公開するアドオンエージェント。

Kubernetes API の Kubernetes オブジェクトの状態は、メトリクスとして公開できます。kube-state-metrics というアドオンエージェントは、Kubernetes API サーバーに接続し、クラスター内の個々のオブジェクトの状態から生成されたメトリクスを使用して HTTP エンドポイントを公開することができます。ラベルと注釈、起動時間と終了時間、オブジェクトの現在のステータスまたはフェーズなど、オブジェクトの状態に関するさまざまな情報が公開されます。


| プロパティ | 値 | 
| --- | --- | 
|  アドオン名  |   `kube-state-metrics`   | 
|  名前空間  |   `kube-state-metrics`   | 
|  ドキュメント  |   Kubernetes ドキュメントの「[Metrics for Kubernetes Object States](https://kubernetes.io/docs/concepts/cluster-administration/kube-state-metrics/)」  | 
|  サービスアカウント名  |  なし  | 
|  マネージド IAM ポリシー  |  なし  | 
|  カスタム IAM 許可  |  なし  | 

### Prometheus Node Exporter
<a name="prometheus-node-exporter"></a>

プラガブルメトリクスコレクターを使用して Go で記述された \$1NIX カーネルによって公開される、ハードウェアおよび OS メトリクス用の Prometheus エクスポーター。Prometheus Node Exporter は、さまざまなハードウェアおよびカーネル関連のメトリクスを公開します。


| プロパティ | 値 | 
| --- | --- | 
|  アドオン名  |   `prometheus-node-exporter`   | 
|  名前空間  |   `prometheus-node-exporter`   | 
|  ドキュメント  |   Prometheus ドキュメントの「[Monitoring Linux host metrics with the Node Exporter](https://prometheus.io/docs/guides/node-exporter/#monitoring-linux-host-metrics-with-the-node-exporter)」  | 
|  サービスアカウント名  |  なし  | 
|  マネージド IAM ポリシー  |  なし  | 
|  カスタム IAM 許可  |  なし  | 

### Cert Manager
<a name="addon-cert-manager"></a>

Cert Manager を使用すると、証明書の作成と更新を管理できます。


| プロパティ | 値 | 
| --- | --- | 
|  アドオン名  |   `cert-manager`   | 
|  名前空間  |   `cert-manager`   | 
|  ドキュメント  |   [Cert Manager のドキュメント](https://cert-manager.io/docs/)   | 
|  サービスアカウント名  |  なし  | 
|  マネージド IAM ポリシー  |  なし  | 
|  カスタム IAM 許可  |  なし  | 

### 外部 DNS
<a name="external-dns"></a>

外部 DNS EKS アドオンを使用すると、Kubernetes リソースを介して Route53 DNS レコードを管理できます。

外部 DNS アクセス許可を、管理対象とするホストゾーンの `route53:ChangeResourceRecordSets`、`route53:ListHostedZones`、`route53:ListResourceRecordSets` に縮小できます。


| プロパティ | 値 | 
| --- | --- | 
|  アドオン名  |   `external-dns`   | 
|  名前空間  |   `external-dns`   | 
|  ドキュメント  |   [GitHub Readme](https://github.com/kubernetes-sigs/external-dns)   | 
|  サービスアカウント名  |   `external-dns`   | 
|  マネージド IAM ポリシー  |   ` arn:aws:iam::aws:policy/AmazonRoute53FullAccess`   | 
|  カスタム IAM 許可  |  なし  | 

### Fluent Bit
<a name="fluent-bit"></a>

Fluent Bit は、軽量で高性能なログプロセッサおよびフォワーダーです。さまざまなソースからデータやログを収集して統合し、Amazon CloudWatch Logs、Amazon S3、Amazon Kinesis Data Firehose などの複数の送信先に送信できるようにします。Fluent Bit はパフォーマンスおよびリソースの効率を配慮して設計され、Kubernetes 環境に最適です。

このアドオンには、デフォルト設定で IAM アクセス許可は必要ありません。ただし、AWS 出力ロケーションを設定する場合、このアドオンに IAM アクセス許可を付与する必要がある場合があります。詳細については、「[Pod Identity を使用して Amazon EKS アドオンに IAM 役割を割り当てる](update-addon-role.md)」を参照してください。


| プロパティ | 値 | 
| --- | --- | 
|  アドオン名  |   `fluent-bit`   | 
|  名前空間  |   `fluent-bit`   | 
|  ドキュメント  |   [Fluent Bit のドキュメント](https://docs.fluentbit.io/manual/)   | 
|  サービスアカウント名  |   `fluent-bit`   | 
|  マネージド IAM ポリシー  |  なし  | 
|  カスタム IAM 許可  |  なし  | 

## 属性を表示する
<a name="_view_attributions"></a>

コミュニティアドオンのオープンソース属性とライセンス情報をダウンロードできます。

1. 属性をダウンロードするアドオンの名前とバージョンを決定します。

1. その名前とバージョンで次のコマンドを更新します。

   ```
   curl -O https://amazon-eks-docs.s3.amazonaws.com/attributions/<add-on-name>/<add-on-version>/attributions.zip
   ```

   例えば、次のようになります。

   ```
   curl -O https://amazon-eks-docs.s3.amazonaws.com/attributions/kube-state-metrics/v2.14.0-eksbuild.1/attributions.zip
   ```

1. コマンドを使用して、ファイルをダウンロードします。

この zip ファイルを使用して、ライセンス属性に関する情報を表示します。

# AWS マーケットプレイス アドオン
<a name="workloads-add-ons-available-vendors"></a>

前述の Amazon EKS アドオンのリストに加えて、独立系ソフトウェアベンダーのさまざまな運用ソフトウェア Amazon EKS アドオンを追加することもできます。アドオンを選択すると、そのアドオンとそのインストール要件について詳しく知ることができます。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/IIPj119mspc?rel=0/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/IIPj119mspc?rel=0)


## Accuknox
<a name="add-on-accuknox"></a>

アドオン名は `accuknox_kubearmor` で、名前空間は `kubearmor` です。アドオンの公開は、Accuknox で行います。

アドオンの詳細についてはKubeArmor ドキュメントの「[KubeArmorを始める](https://docs.kubearmor.io/kubearmor/quick-links/deployment_guide)」を参照してください。

### サービスアカウント名
<a name="add-on-accuknox-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-accuknox-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-accuknox-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Akuity
<a name="add-on-akuity"></a>

アドオン名は `akuity_agent` で、名前空間は `akuity` です。アドオンの公開は、Akuity で行います。

アドオンの使用方法の詳細についてはAkuity Platform ドキュメントの「[Akuity EKSアドオンによるAmazon EKSへのAkuityエージェントのインストール](https://docs.akuity.io/tutorials/eks-addon-agent-install/)」を参照してください。

### サービスアカウント名
<a name="add-on-akuity-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-akuity-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-akuity-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Calyptia
<a name="add-on-calyptia"></a>

アドオン名は `calyptia_fluent-bit` で、名前空間は `calytia-fluentbit` です。アドオンの公開は、Calyptia で行います。

アドオンの詳細についてはCalyptia ドキュメントウェブサイトの「[Calyptia Core Agentを使い始める](https://docs.akuity.io/tutorials/eks-addon-agent-install/)」を参照してください。

### サービスアカウント名
<a name="add-on-calyptia-service-account-name"></a>

サービスアカウント名は `clyptia-fluentbit` です。

### AWS マネージド IAM ポリシー
<a name="add-on-calyptia-managed-policy"></a>

このアドオンは `AWSMarketplaceMeteringRegisterUsage` マネージドポリシーを使用します。詳細については「AWS マネージドポリシーリファレンスガイド」の「[AWSMarketplaceMeteringRegisterUsage](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSMarketplaceMeteringRegisterUsage.html)」を参照してください。

### 必要な IAM 役割を作成するコマンド
<a name="add-on-calyptia-custom-permissions"></a>

次のコマンドではクラスターの IAM OpenID Connect (OIDC) プロバイダーが必要です。既に存在しているかどうかを確認する、または作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。*マイクラスター* をクラスターの名前に置き換え、*my-calyptia-role* を役割の名前に置き換えます。このコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。別のツールを使用してロールを作成し、Kubernetes サービスアカウントに注釈を付ける必要がある場合は「[IAM ロールを Kubernetes サービスアカウントに割り当てる](associate-service-account-role.md)」を参照してください。

```
eksctl create iamserviceaccount --name service-account-name  --namespace calyptia-fluentbit --cluster my-cluster --role-name my-calyptia-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/AWSMarketplaceMeteringRegisterUsage --approve
```

## Cisco Observability Collector
<a name="add-on-cisco-collector"></a>

アドオン名は `cisco_cisco-cloud-observability-collectors` で、名前空間は `appdynamics` です。アドオンの公開は、Cisco で行います。

アドオンの詳細についてはCisco AppDynamics ドキュメントの「[Cisco Cloud Observabilityを使用する AWS マーケットプレイス Add-Ons](https://docs.appdynamics.com/observability/cisco-cloud-observability/en/kubernetes-and-app-service-monitoring/install-kubernetes-and-app-service-monitoring-with-amazon-elastic-kubernetes-service/use-the-cisco-cloud-observability-aws-marketplace-add-ons)」を参照してください。

### サービスアカウント名
<a name="add-on-cisco-collector-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-cisco-collector-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-cisco-collector-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Cisco Observability Operator
<a name="add-on-cisco-operator"></a>

アドオン名は `cisco_cisco-cloud-observability-operators` で、名前空間は `appdynamics` です。アドオンの公開は、Cisco で行います。

アドオンの詳細についてはCisco AppDynamics ドキュメントの「[Cisco Cloud Observabilityを使用する AWS マーケットプレイス Add-Ons](https://docs.appdynamics.com/observability/cisco-cloud-observability/en/kubernetes-and-app-service-monitoring/install-kubernetes-and-app-service-monitoring-with-amazon-elastic-kubernetes-service/use-the-cisco-cloud-observability-aws-marketplace-add-ons)」を参照してください。

### サービスアカウント名
<a name="add-on-cisco-operator-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-cisco-operator-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-cisco-operator-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## CLOUDSOFT
<a name="add-on-cloudsoft"></a>

アドオン名は `cloudsoft_cloudsoft-amp` で、名前空間は `cloudsoft-amp` です。アドオンの公開は、CLOUDSOFT で行います。

アドオンの詳細についてはCLOUDSOFT ドキュメントの「[Amazon EKS ADDON](https://docs.cloudsoft.io/operations/configuration/aws-eks-addon.html)」を参照してください。

### サービスアカウント名
<a name="add-on-cloudsoft-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-cloudsoft-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-cloudsoft-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Cribl
<a name="add-on-cribl"></a>

アドオン名は `cribl_cribledge` で、名前空間は `cribledge` です。アドオンの公開は、Cribl で行います。

アドオンの詳細についてはCribl ドキュメントの「[Installing the Cribl Amazon EKS Add-on for Edge](https://docs.cribl.io/edge/usecase-edge-aws-eks/)」を参照してください。

### サービスアカウント名
<a name="add-on-cribl-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-cribl-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-cribl-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Dynatrace
<a name="add-on-dynatrace"></a>

アドオン名は `dynatrace_dynatrace-operator` で、名前空間は `dynatrace` です。アドオンの公開は、Dynatrace で行います。

アドオンの詳細については、Dynatrace ドキュメントの「[Kubernetes のオブザーバビリティと監視](https://www.dynatrace.com/technologies/kubernetes-monitoring/)」を参照してください。

### サービスアカウント名
<a name="add-on-dynatrace-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-dynatrace-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-dynatrace-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Datree
<a name="add-on-datree-pro"></a>

アドオン名は `datree_engine-pro` で、名前空間は `datree` です。アドオンの公開は、Datree で行います。

アドオンの詳細についてはDatree ドキュメントの「[Amazon EKS-intergration](https://hub.datree.io/integrations/eks-integration)」を参照してください。

### サービスアカウント名
<a name="add-on-datree-pro-service-account-name"></a>

サービスアカウント名はdatree-webhook-server-awsmp です。

### AWS マネージド IAM ポリシー
<a name="add-on-datree-pro-managed-policy"></a>

マネージドポリシーはAWSLicenseManagerConsumptionPolicy です。詳細については「AWS マネージドポリシーリファレンスガイド」の「[AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html)」を参照してください。

### 必要な IAM 役割を作成するコマンド
<a name="add-on-datree-pro-iam-command"></a>

次のコマンドではクラスターの IAM OpenID Connect (OIDC) プロバイダーが必要です。既に存在しているかどうかを確認する、または作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。*マイクラスター* をクラスターの名前に置き換え、*my-datree-role* を役割の名前に置き換えます。このコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。別のツールを使用してロールを作成し、Kubernetes サービスアカウントに注釈を付ける必要がある場合は「[IAM ロールを Kubernetes サービスアカウントに割り当てる](associate-service-account-role.md)」を参照してください。

```
eksctl create iamserviceaccount --name datree-webhook-server-awsmp --namespace datree --cluster my-cluster --role-name my-datree-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
```

### カスタム権限
<a name="add-on-datree-pro-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Datadog
<a name="add-on-datadog"></a>

アドオン名は `datadog_operator` で、名前空間は `datadog-agent` です。アドオンの公開は、Datadog で行います。

アドオンの詳細についてはDatadog ドキュメントの「[Datadog オペレーターアドオンを使用したAmazon EKS への Datadog エージェントのインストール](https://docs.datadoghq.com/containers/guide/operator-eks-addon/?tab=console)」を参照してください。

### サービスアカウント名
<a name="add-on-datadog-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-datadog-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-datadog-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Groundcover
<a name="add-on-groundcover"></a>

アドオン名は `groundcover_agent` で、名前空間は `groundcover` です。アドオンの公開は、Groundcover で行います。

アドオンの詳細についてはgroundcover ドキュメントの「[グランドカバー Amazon EKS アドオンのインストール](https://docs.groundcover.com/docs/~/changes/VhDDAl1gy1VIO3RIcgxD/configuration/customization-guide/customize-deployment/eks-add-on)」を参照してください。

### サービスアカウント名
<a name="add-on-groundcover-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-groundcover-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-groundcover-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## IBM Instana
<a name="add-on-instana"></a>

アドオン名は `instana-agent` で、名前空間は `instana-agent` です。IBM がアドオンを公開しています。

アドオンの詳細については、AWS ブログの「[Implement observability for Amazon EKS workloads using the Instana Amazon EKS add-on](https://aws.amazon.com/blogs/ibm-redhat/implement-observability-for-amazon-eks-workloads-using-the-instana-amazon-eks-add-on/)」と「[Monitor and optimize Amazon EKS costs with IBM Instana and Kubecost](https://aws.amazon.com/blogs/ibm-redhat/monitor-and-optimize-amazon-eks-costs-with-ibm-instana-and-kubecost/)」を参照してください。

Instana Observability (Instana) は、Instana エージェントを Amazon EKS クラスターにデプロイする Amazon EKS アドオンを提供しています。このアドオンを使用すると、リアルタイムのパフォーマンスデータを収集および分析して、コンテナ化されたアプリケーションに関するインサイトを得ることができます。Instana Amazon EKS アドオンでは、Kubernetes 環境全体を可視化できます。デプロイすると、Instana エージェントがノード、名前空間、デプロイ、サービス、ポッドなど、Amazon EKS クラスター内のコンポーネントを自動的に検出します。

### サービスアカウント名
<a name="add-on-instana-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-instana-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-instana-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Grafana Labs
<a name="add-on-grafana"></a>

アドオン名は `grafana-labs_kubernetes-monitoring` で、名前空間は `monitoring` です。アドオンの公開は、Grafana Labs で行います。

アドオンの詳細についてはGrafana Labs ドキュメントの「[Amazon EKS でKubernetes 監視をアドオンとして設定する](https://grafana.com/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/configuration/config-aws-eks/)」を参照してください。

### サービスアカウント名
<a name="add-on-grafana-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-grafana-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-grafana-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Guance
<a name="add-on-guance"></a>
+  **パブリッシャー** – Guance
+  **名前** – `guance_datakit` 
+  **名前空間** – `datakit` 
+  **サービスアカウント名** – サービスアカウントはこのアドオンでは使用されません。
+  **AWS マネージド IAM ポリシー** – このアドオンではマネージドポリシーは使用されません。
+  **カスタム IAM アクセス許可** – このアドオンではカスタムアクセス許可は使用されません。
+  **セットアップと使用に関する指示** - Guance ドキュメントの「[Using Amazon EKS add-on](https://docs.guance.com/en/datakit/datakit-eks-deploy/#add-on-install)」を参照してください。

## HA Proxy
<a name="add-on-ha-proxy"></a>

名前は `haproxy-technologies_kubernetes-ingress-ee` で、名前空間は `haproxy-controller` です。アドオンの公開は、HA Proxy で行います。

アドオンの詳細についてはDatree ドキュメントの「[Amazon EKS-intergration](https://hub.datree.io/integrations/eks-integration)」を参照してください。

### サービスアカウント名
<a name="add-on-ha-proxy-service-account-name"></a>

サービスアカウント名は `customer defined` です。

### AWS マネージド IAM ポリシー
<a name="add-on-ha-proxy-managed-policy"></a>

マネージドポリシーはAWSLicenseManagerConsumptionPolicy です。詳細については「AWS マネージドポリシーリファレンスガイド」の「[AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html)」を参照してください。

### 必要な IAM 役割を作成するコマンド
<a name="add-on-ha-proxy-iam-command"></a>

次のコマンドではクラスターの IAM OpenID Connect (OIDC) プロバイダーが必要です。既に存在しているかどうかを確認する、または作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。*マイクラスター* をクラスターの名前に置き換え、*my-haproxy-role* を役割の名前に置き換えます。このコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。別のツールを使用してロールを作成し、Kubernetes サービスアカウントに注釈を付ける必要がある場合は「[IAM ロールを Kubernetes サービスアカウントに割り当てる](associate-service-account-role.md)」を参照してください。

```
eksctl create iamserviceaccount --name service-account-name  --namespace haproxy-controller --cluster my-cluster --role-name my-haproxy-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
```

### カスタム権限
<a name="add-on-ha-proxy-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Kpow
<a name="add-on-kpow"></a>

アドオン名は `factorhouse_kpow` で、名前空間は `factorhouse` です。アドオンの公開は、Factorhouse で行います。

アドオンの詳細については、Kpow ドキュメントの「[AWS Marketplace LM](https://docs.kpow.io/installation/aws-marketplace-lm/)」を参照してください。

### サービスアカウント名
<a name="add-on-kpow-service-account-name"></a>

サービスアカウント名は `kpow` です。

### AWS マネージド IAM ポリシー
<a name="add-on-kpow-managed-policy"></a>

マネージドポリシーはAWSLicenseManagerConsumptionPolicy です。詳細については「AWS マネージドポリシーリファレンスガイド」の「[AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html)」を参照してください。

### 必要な IAM 役割を作成するコマンド
<a name="add-on-kpow-iam-command"></a>

次のコマンドではクラスターの IAM OpenID Connect (OIDC) プロバイダーが必要です。既に存在しているかどうかを確認する、または作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。*マイクラスター* をクラスターの名前に置き換え、*my-role-name* を IAM 役割の名前に置き換えます。このコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。別のツールを使用してロールを作成し、Kubernetes サービスアカウントに注釈を付ける必要がある場合は「[IAM ロールを Kubernetes サービスアカウントに割り当てる](associate-service-account-role.md)」を参照してください。

```
eksctl create iamserviceaccount --name kpow --namespace factorhouse --cluster my-cluster --role-name my-kpow-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
```

### カスタム権限
<a name="add-on-kpow-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Kubecost
<a name="add-on-kubecost"></a>

アドオン名は `kubecost_kubecost` で、名前空間は `kubecost` です。アドオンの公開は、Kubecost で行います。

アドオンの詳細については、Kubecost ドキュメントの「[AWS Cloud Billing Integration](https://docs.kubecost.com/install-and-configure/install/cloud-integration/aws-cloud-integrations)」を参照してください。

クラスターに「[Amazon EBS で Kubernetes ボリュームを保存する](ebs-csi.md)」がインストールされている必要があります。インストールされていないと、エラーが発生します。

### サービスアカウント名
<a name="add-on-kubecost-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-kubecost-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-kubecost-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Kasten
<a name="add-on-kasten"></a>

アドオン名は `kasten_k10` で、名前空間は `kasten-io` です。アドオンの公開は、Kasten by Veeam で行います。

アドオンの詳細については Kasten ドキュメントの[「Amazon EKS アドオンを使用したAWSへの K10 のインストール」](https://docs.kasten.io/latest/install/aws-eks-addon/aws-eks-addon.html)を参照してください。

デフォルトが `StorageClass` のクラスターに Amazon EBS CSI ドライバーがインストールされている必要があります。

### サービスアカウント名
<a name="add-on-kasten-service-account-name"></a>

サービスアカウント名は `k10-k10` です。

### AWS マネージド IAM ポリシー
<a name="add-on-kasten-managed-policy"></a>

マネージドポリシーはAWSLicenseManagerConsumptionPolicy です。詳細については「AWS マネージドポリシーリファレンスガイド」の「[AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html)」を参照してください。

### 必要な IAM 役割を作成するコマンド
<a name="add-on-kasten-iam-command"></a>

次のコマンドではクラスターの IAM OpenID Connect (OIDC) プロバイダーが必要です。既に存在しているかどうかを確認する、または作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。*マイクラスター* をクラスターの名前に置き換え、*my-kasten-role* を役割の名前に置き換えます。このコマンドを使用するにはデバイスに [eksctl](https://eksctl.io) がインストールされている必要があります。別のツールを使用してロールを作成し、Kubernetes サービスアカウントに注釈を付ける必要がある場合は「[IAM ロールを Kubernetes サービスアカウントに割り当てる](associate-service-account-role.md)」を参照してください。

```
eksctl create iamserviceaccount --name k10-k10 --namespace kasten-io --cluster my-cluster --role-name my-kasten-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
```

### カスタム権限
<a name="add-on-kasten-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Kong
<a name="add-on-kong"></a>

アドオン名は `kong_konnect-ri` で、名前空間は `kong` です。アドオンの公開は、Kong で行います。

アドオンの詳細についてはKong ドキュメントの「[Installing the Kong Gateway EKS Add-on](https://kong.github.io/aws-marketplace-addon-kong-gateway/)」を参照してください。

クラスターに「[Amazon EBS で Kubernetes ボリュームを保存する](ebs-csi.md)」がインストールされている必要があります。インストールされていないと、エラーが発生します。

### サービスアカウント名
<a name="add-on-kong-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-kong-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-kong-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## LeakSignal
<a name="add-on-leaksignal"></a>

アドオン名は `leaksignal_leakagent` で、名前空間は `leakagent` です。アドオンの公開は、LeakSignal で行います。

アドオンの詳細については、LeakSignal ドキュメントの https://www.leaksignal.com/docs/LeakAgent/Deployment/AWS%20EKS%20Addon/[Install the LeakAgent add-on] を参照してください。

クラスターに「[Amazon EBS で Kubernetes ボリュームを保存する](ebs-csi.md)」がインストールされている必要があります。インストールされていないと、エラーが発生します。

### サービスアカウント名
<a name="add-on-leaksignal-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-leaksignal-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-leaksignal-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## NetApp
<a name="add-on-netapp"></a>

アドオン名は `netapp_trident-operator` で、名前空間は `trident` です。アドオンの公開は、NetApp で行います。

アドオンの詳細についてはNetApp ドキュメントの「[Configure the Trident EKS add-on](https://docs.netapp.com/us-en/trident/trident-use/trident-aws-addon.html)」を参照してください。

### サービスアカウント名
<a name="add-on-netapp-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-netapp-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-netapp-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## New Relic
<a name="add-on-new-relic"></a>

アドオン名は `new-relic_kubernetes-operator` で、名前空間は `newrelic` です。アドオンの公開は、New Relic で行います。

アドオンの詳細についてはNew Relic ドキュメントの「[Installing the New Relic Add-on for EKS](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/connect/eks-add-on)」を参照してください。

### サービスアカウント名
<a name="add-on-new-relic-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-new-relic-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-new-relic-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Rafay
<a name="add-on-rafay"></a>

アドオン名は `rafay-systems_rafay-operator` で、名前空間は `rafay-system` です。アドオンの公開は、Rafay で行います。

アドオンの詳細についてはRafay ドキュメントの「[Installing the Rafay Amazon EKS Add-on](https://docs.rafay.co/clusters/import/eksaddon/)」を参照してください。

### サービスアカウント名
<a name="add-on-rafay-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-rafay-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-rafay-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Rad Security
<a name="add-on-rad"></a>
+  **パブリッシャー** – RAD SECURITY
+  **名前** – `rad-security_rad-security` 
+  **名前空間** – `ksoc` 
+  **サービスアカウント名** – サービスアカウントはこのアドオンでは使用されません。
+  **AWS マネージド IAM ポリシー** – このアドオンではマネージドポリシーは使用されません。
+  **カスタム IAM アクセス許可** – このアドオンではカスタムアクセス許可は使用されません。
+  **セットアップと使用に関する指示** – Rad Security ドキュメントの「[AWS マーケットプレイス](https://docs.rad.security/docs/installing-ksoc-in-the-aws-marketplace)経由でのRADのインストール」を参照してください。

## SolarWinds
<a name="add-on-solarwinds"></a>
+  **パブリッシャー** – SOLARWINDS
+  **名前** – `solarwinds_swo-k8s-collector-addon` 
+  **名前空間** – `solarwinds` 
+  **サービスアカウント名** – サービスアカウントはこのアドオンでは使用されません。
+  **AWS マネージド IAM ポリシー** – このアドオンではマネージドポリシーは使用されません。
+  **カスタム IAM アクセス許可** – このアドオンではカスタムアクセス許可は使用されません。
+  **セットアップと使用に関する指示** – SolarWinds ドキュメントの「[Amazon EKSクラスターを監視する](https://documentation.solarwinds.com/en/success_center/observability/content/configure/configure-kubernetes.htm#MonitorAmazonEKS)」を参照してください。

## Solo
<a name="add-on-solo"></a>

アドオン名は `solo-io_istio-distro` で、名前空間は `istio-system` です。アドオンの公開は、Solo で行います。

アドオンの詳細についてはSolo.io ドキュメントの「[Istioのインストール](https://docs.solo.io/gloo-mesh-enterprise/main/setup/install/eks_addon/)」を参照してください。

### サービスアカウント名
<a name="add-on-solo-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-solo-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-solo-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Snyk
<a name="add-on-snyk"></a>
+  **パブリッシャー** – SNYK
+  **名前** – `snyk_runtime-sensor` 
+  **名前空間** – `snyk_runtime-sensor` 
+  **サービスアカウント名** – サービスアカウントはこのアドオンでは使用されません。
+  **AWS マネージド IAM ポリシー** – このアドオンではマネージドポリシーは使用されません。
+  **カスタム IAM アクセス許可** – このアドオンではカスタムアクセス許可は使用されません。
+  **セットアップと使用に関する指示** – Snyk ユーザードキュメントの「[Snyk runtime sensor](https://docs.snyk.io/integrate-with-snyk/snyk-runtime-sensor)」を参照してください。

## Stormforge
<a name="add-on-stormforge"></a>

アドオン名は `stormforge_optimize-Live` で、名前空間は `stormforge-system` です。アドオンの公開は、Stormforge で行います。

アドオンの詳細についてはStormForge ドキュメントの「[StormForgeエージェントのインストール](https://docs.stormforge.io/optimize-live/getting-started/install-v2/)」を参照してください。

### サービスアカウント名
<a name="add-on-stormforge-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-stormforge-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-stormforge-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## SUSE
<a name="add-on-suse"></a>
+  **パブリッシャー** – SUSE
+  **名前** – `suse_observability-agent` 
+  **名前空間** – `suse-observability` 
+  **サービスアカウント名** – サービスアカウントはこのアドオンでは使用されません。
+  **AWS マネージド IAM ポリシー** – このアドオンではマネージドポリシーは使用されません。
+  **カスタム IAM アクセス許可** – このアドオンではカスタムアクセス許可は使用されません。
+  **セットアップと使用手順** - SUSE のドキュメントの「[Quick Start](https://docs.stackstate.com/get-started/k8s-quick-start-guide#amazon-eks)」を参照してください。

## Splunk
<a name="add-on-splunk"></a>

アドオン名は `splunk_splunk-otel-collector-chart` で、名前空間は `splunk-monitoring` です。アドオンの公開は、Splunk で行います。

アドオンの詳細についてはSplunk ドキュメントの「[Amazon EKS 用 Splunk アドオンをインストールする](https://help.splunk.com/en/splunk-observability-cloud/manage-data/splunk-distribution-of-the-opentelemetry-collector/get-started-with-the-splunk-distribution-of-the-opentelemetry-collector/collector-for-kubernetes/kubernetes-eks-add-on)」を参照してください。

### サービスアカウント名
<a name="add-on-splunk-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-splunk-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-splunk-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Teleport
<a name="add-on-teleport"></a>

アドオン名は `teleport_teleport` で、名前空間は `teleport` です。アドオンの公開は、Teleport で行います。

アドオンの詳細については、Teleport ドキュメントの「[How Teleport Works](https://goteleport.com/how-it-works/)」を参照してください。

### サービスアカウント名
<a name="add-on-teleport-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-teleport-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-teleport-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Tetrate
<a name="add-on-tetrate"></a>

アドオン名は `tetrate-io_istio-distro` で、名前空間は `istio-system` です。アドオンの公開は、Tetrate で行います。

アドオンの詳細についてはウェブサイトの「[テトレート・イスティ・ディオストロ](https://tetratelabs.io/)」を参照してください。

### サービスアカウント名
<a name="add-on-tetrate-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-tetrate-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-tetrate-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Upbound Universal Crossplane
<a name="add-on-upbound"></a>

アドオン名は `upbound_universal-crossplane` で、名前空間は `upbound-system` です。アドオンの公開は、Upbound で行います。

アドオンの詳細についてはUpbound ドキュメントの「[Upbound Universal Crossplane (UXP)](https://docs.upbound.io/uxp/)」を参照してください。

### サービスアカウント名
<a name="add-on-upbound-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-upbound-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-upbound-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

## Upwind
<a name="add-on-upwind"></a>

アドオン名は `upwind` で、名前空間は `upwind` です。アドオンの公開は、Upwind で行います。

アドオンの詳細については[Upwind のドキュメント](https://docs.upwind.io/install-sensor/kubernetes/install?installation-method=amazon-eks-addon)を参照してください。

### サービスアカウント名
<a name="add-on-upwind-service-account-name"></a>

サービスアカウントはこのアドオンでは使用されません。

### AWS マネージド IAM ポリシー
<a name="add-on-upwind-managed-policy"></a>

このアドオンではマネージドポリシーは使用されません。

### カスタム IAM 許可
<a name="add-on-upwind-custom-permissions"></a>

このアドオンではカスタム許可は使用されません。

# Amazon EKS アドオンを作成する
<a name="creating-an-add-on"></a>

Amazon EKS アドオンはAmazon EKS クラスター用のアドオンソフトウェアです。すべての Amazon EKS アドオン:
+ 最新のセキュリティパッチやバグ修正が含まれています。
+ AWS によって Amazon EKS で動作することが検証されています。
+ アドオンソフトウェアの管理に必要な作業量を削減します。

Amazon EKS アドオンは `eksctl`、AWS マネジメントコンソール、AWS CLI を使用して作成できます。アドオンに IAM ロールが必要な場合、ロールの作成の詳細については [Amazon EKS アドオンの特定のア](eks-add-ons.md) ドオンの詳細を参照してください。

## 前提条件
<a name="creating-an-add-on-prereq"></a>

アドオンを作成する前に、次を完了します:
+ クラスターのアドオンを作成する前に、そのクラスターが存在している必要があります。詳細については「[Amazon EKS クラスターを作成します。](create-cluster.md)」を参照してください。
+ アドオンに IAM ロールが必要かどうかを確認します。詳細については「[Amazon EKS アドオンバージョンのクラスターとの互換性を検証する](addon-compat.md)」を参照してください。
+ Amazon EKS アドオンバージョンがクラスターと互換性があることを検証します。詳細については「[Amazon EKS アドオンバージョンのクラスターとの互換性を検証する](addon-compat.md)」を参照してください。
+ 使用しているコンピュータまたは AWS クラウドシェル に、`eksctl` コマンドラインツールのバージョン 0.190.0 以降がインストールされていることを確認します。詳細については`eksctl` ウェブサイトの「[インストール](https://eksctl.io/installation/)」を参照してください。

## 手順
<a name="creating-an-add-on-procedure"></a>

Amazon EKS アドオンは `eksctl`、AWS マネジメントコンソール、AWS CLI を使用して作成できます。アドオンに IAM ロールが必要な場合、ロールの作成の詳細については「[使用可能な AWS](workloads-add-ons-available-eks.md) の Amazon EKS アドオン」の特定のアドオンの詳細を参照してください。

## アドオンの作成 (eksctl)
<a name="_create_add_on_eksctl"></a>

1. クラスターバージョンで利用可能なアドオンの名前を表示します。*1.35* をお持ちのクラスターのバージョンに置き換えます。

   ```
   eksctl utils describe-addon-versions --kubernetes-version 1.35 | grep AddonName
   ```

   出力例は次のとおりです。

   ```
   "AddonName": "aws-ebs-csi-driver",
                           "AddonName": "coredns",
                           "AddonName": "kube-proxy",
                           "AddonName": "vpc-cni",
                           "AddonName": "adot",
                           "AddonName": "dynatrace_dynatrace-operator",
                           "AddonName": "upbound_universal-crossplane",
                           "AddonName": "teleport_teleport",
                           "AddonName": "factorhouse_kpow",
                           [...]
   ```

1. 作成するアドオンで使用できるバージョンを表示します。*1.35* をお持ちのクラスターのバージョンに置き換えます。*name-of-addon* を表示するバージョンのアドオン名に置き換えます。名前は前のステップで返された名前のいずれかである必要があります。

   ```
   eksctl utils describe-addon-versions --kubernetes-version 1.35 --name name-of-addon | grep AddonVersion
   ```

   次の出力は`vpc-cni` という名前のアドオンに対して返される内容の例です。このアドオンには複数のバージョンがあることがわかります。

   ```
   "AddonVersions": [
       "AddonVersion": "v1.12.0-eksbuild.1",
       "AddonVersion": "v1.11.4-eksbuild.1",
       "AddonVersion": "v1.10.4-eksbuild.1",
       "AddonVersion": "v1.9.3-eksbuild.1",
   ```

   1. 作成するアドオンが Amazon EKS か AWS マーケットプレイス アドオンか判断します。AWS マーケットプレイス にはサードパーティ製のアドオンがあり、アドオンを作成するために追加のステップを実行する必要があります。

      ```
      eksctl utils describe-addon-versions --kubernetes-version 1.35 --name name-of-addon | grep ProductUrl
      ```

      出力が返されない場合、アドオンは Amazon EKS です。出力が返された場合、アドオンは AWS マーケットプレイス アドオンです。次の出力は`teleport_teleport` という名前のアドオンのものです。

      ```
      "ProductUrl": "https://aws.amazon.com/marketplace/pp?sku=3bda70bb-566f-4976-806c-f96faef18b26"
      ```

      返される URL を含んだ AWS マーケットプレイス のアドオンの詳細について説明します。アドオンにサブスクリプションが必要な場合、AWS マーケットプレイス を通じてアドオンにサブスクライブできます。AWS マーケットプレイス からアドオンを作成する場合、アドオンの作成に使用する [IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)には[AWSServiceRoleForAWSライセンスマネージャーRole](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager-role-core.html) のサービスにリンクされたロールを作成する許可が必要です。IAM エンティティへの許可の割り当てに関する詳細については「IAM ユーザーガイド」の「[IAM アイデンティティ許可の追加と削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

1. Amazon EKS アドオンを作成します。コマンドをコピーし、次のように *user-data* を置き換えます:
   + *マイクラスター* の部分は自分のクラスター名に置き換えます。
   + *アドオン名* を作成するアドオンの名前に置き換えます。
   + 最新バージョンよりも前のバージョンのアドオンが必要な場合、*最終* を使用する前のステップの出力で返されたバージョン番号に置き換えます。
   + アドオンがサービスアカウントロールを使用している場合、*111122223333* をアカウント ID に置き換え、*role-name* をロールの名前に置き換えます。サービスアカウントのロールを作成する手順については作成するアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。サービスアカウント役割を指定するにはクラスター用に IAM OpenID Connect (OIDC) プロバイダーが必要です。クラスター用に持っているかどうかを確認、あるいは作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。

     アドオンがサービスアカウントロールを使用していない場合、`--service-account-role-arnarn:aws:iam::111122223333:role/role-name` を削除してください。
   + このコマンド例はアドオンの既存のセルフマネージドバージョンがある場合、その設定を上書きします。既存のセルフマネージド型アドオンの設定を上書きしたくない場合、*--force* オプションを削除してください。オプションを削除し、Amazon EKS アドオンが既存のセルフマネージド型アドオンの設定を上書きする必要がある場合、Amazon EKS アドオンの作成が失敗します。その場合、競合を解決するためのエラーメッセージが表示されます。このオプションを指定する前に、自分が管理する必要がある設定を Amazon EKS アドオンが管理していないことを確認してください。これらの設定はこのオプションの指定により上書きされます。

     ```
     eksctl create addon --cluster my-cluster --name name-of-addon --version latest \
         --service-account-role-arn arn:aws:iam::111122223333:role/role-name --force
     ```

     コマンドにすべての利用可能なオプションのリストを確認できます。

     ```
     eksctl create addon --help
     ```

     利用可能なオプションの詳細については「`eksctl` ドキュメント」の「[アドオン](https://eksctl.io/usage/addons/)」を参照してください。

## アドオンの作成 (AWS コンソール）
<a name="create_add_on_console"></a>

1. [Amazon EKS コンソール](https://console.aws.amazon.com/eks/home#/clusters)を開きます。

1. 左のナビゲーションペインで **[クラスター]** を選択してください。

1. アドオンを作成するクラスターの名前を選択してください。

1. **[アドオン]** タブを選択してください。

1. **[その他のアドオンを入手]** を選択してください。

1. **[アドオンの選択]** ページで、クラスターに追加するアドオンを選択してください。**[Amazon EKS アドオン]** と **[AWS マーケットプレイス アドオン]** は必要な数だけ追加できます。

   **AWS マーケットプレイス** アドオンの場合、アドオンを作成するために使用する [IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)にはAWS ライセンスマネージャー からアドオンの資格を読み取る許可が必要です。AWSライセンスマネージャー はユーザーに代わってライセンスを管理する AWS リソースを許可する「[AWSServiceRoleForAWSライセンスマネージャーRole](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager-role-core.html)」のサービスリンクロール (SLR が必要になります。SLR はアカウントごとに 1 回限りの要件であり、アドオンやクラスターごとに別々の SLR を作成する必要はありません。[IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)への許可の割り当ての詳細については「IAM ユーザーガイド」の「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

   インストールする **AWS マーケットプレイス アドオン**がリストされていない場合はページ番号をクリックして追加のページ結果を表示するか、または検索ボックスで検索できます。**[フィルタリング] オプション**で、**[カテゴリ]**、**[ベンダー]**、または **[料金モデル]** によってフィルタリングして、検索結果からアドオンを選択することもできます。インストールするアドオンを選択したら、**[次へ]** を選択してください。

1. **[選択したアドオンセッティングの設定]** ページで、次の操作を行います：

   1. **[サブスクリプションオプションを表示]** を選択し、**[サブスクリプションのオプション]** フォームを開きます。**[料金の詳細]** と **[法務]** のセクションを確認し、**[登録]** ボタンを選択して続行します。

   1. **[バージョン]** で、インストールするバージョンを選択してください。作成する個々のアドオンが別のバージョンを推奨している場合を除き、**[最新]** と表示されたバージョンをお勧めします。アドオンに推奨バージョンがあるかどうかを確認するには作成しているアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。

   1. アドオンの役割を設定するにはEKS ポッド・アイデンティティー IAM 役割とサービスアカウント用の IAM 役割 (IRSA) の 2 つのオプションがあります。希望するオプションについては以下の適切なステップに従います。選択したすべてのアドオンの **[ステータス]** で **[サブスクリプションが必要]** と表示されている場合、**[次へ]** を選択してください。クラスターが作成された後にサブスクライブするまで、それ以上これらのアドオンを設定することはできません。**[ステータス]** で **[サブスクリプションが必要]** と表示されていないアドオンの場合、次を実行してください：

      1. **[サービスアカウント用の ポッド・アイデンティティー IAM 役割]** で、既存の EKS Pod Identity IAM 役割を使用するか、または **[推奨役割を作成]** ボタンを使用して EKS Pod Identity IAM 役割を作成できます。このフィールドには適切な信頼ポリシーを持つオプションのみが表示されます。選択する役割がない場合は一致する信頼ポリシーを持つ既存の役割が存在しないことになります。選択したアドオンのサービスアカウント用の EKS Pod Identity IAM 役割を設定するには**[推奨役割を作成]** を選択してください。役割作成ウィザードが別のウィンドウで開きます。ウィザードは次のように役割の情報を自動的に入力してください。EKS Pod Identity IAM 役割を作成するアドオンごとに、IAM ウィザードのステップを次のように実行してください。
         + **[信頼されたエンティティを選択]** ステップでは **[EKS]** の AWS サービスオプションと **[EKS - Pod Identity]** のユースケースが事前に選択されており、アドオンのために適切な信頼ポリシーが自動的に入力されます。例えば、役割は「[EKS Pod Identity の利点](pod-identities.md#pod-id-benefits)」で詳述されているように、pods.eks.amazonaws.com の IAM プリンシパルを含む適切な信頼ポリシーを使用して作成されます。[**次へ**] を選択してください。
         + **[許可を追加]** ステップでは役割ポリシー用の適切なマネージドポリシーがアドオンのために事前に選択されています。例えば、Amazon VPC CNI アドオンの場合、役割は「[Amazon VPC CNI Kubernetes用プラグイン](workloads-add-ons-available-eks.md#add-ons-vpc-cni)」で詳述されているように、マネージドポリシー `AmazonEKS_CNI_Policy` を使用して作成されます。[**次へ**] を選択します。
         + **[名前、確認、作成]** のステップにおいて、**[役割名]** で、アドオンのためにデフォルトの役割名が自動的に入力されます。例えば、**Amazon VPC CNI** アドオンの場合、役割は **AmazonEKSPodIdentityAmazonVPCCNIRole** という名前で作成されます。**[説明]** ではアドオンのためにデフォルトの適切な説明が自動的に入力されます。例えば、Amazon VPC CNI アドオンの場合、役割は AWS リソースにアクセスすることを「**Amazon EKS クラスターで実行されているポッドに許可します**」という説明で作成されます。**[信頼ポリシー]** で、アドオンのために事前入力された信頼ポリシーを表示します。[**ロールの作成**] を選択してください。

           注: デフォルトのロール名を保持すると、EKS は新しいクラスターでアドオン用のロールを事前に選択したり、既存のクラスターにアドオンを追加したりできます。この名前は引き続き上書きでき、ロールはクラスター全体でアドオンのために使用できますが、ロールはドロップダウンから手動で選択する必要があります。

      1. **[ステータス]** が **[サブスクリプションが必要]** でなく、IRSA を使用して役割を設定するアドオンについてはIAM ポリシーを作成して役割にアタッチするために作成するアドオンに関するドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。IAM ロールを選択するにはクラスター用に OpenID Connect (OIDC) プロバイダーが必要です。クラスター用に持っているかどうかを確認、あるいは作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。

      1. **[オプション設定のセッティング]** を選択してください。

      1. アドオンに設定が必要な場合、**[設定値]** ボックスに入力します。アドオンに設定情報が必要かどうかを判断するには作成するアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。

      1. **[競合解決方法]** で利用可能なオプションをいずれか選択してください。**[コンフリクト解決方法]** で **[上書き]** を選択すると、既存のアドオンでの 1 つ以上の設定が、Amazon EKS アドオンの設定で上書きされます。このオプションが有効でない状態で既存の設定との競合が発生する場合はオペレーションが失敗します。表示されたエラーメッセージを使用して、競合をトラブルシューティングできます。このオプションを選択する前に、自分で管理する必要のある設定が、Amazon EKS アドオンにより管理されていないことを確認します。

      1. アドオンを特定の名前空間にインストールする場合は、その名前空間を **[名前空間]** フィールドに入力します。AWS アドオンとコミュニティアドオンでは、アドオンをインストールするカスタム Kubernetes 名前空間を定義できます。詳細については、「[アドオン用のカスタム名前空間](eks-add-ons.md#custom-namespace)」を参照してください。

      1. **[Next]** (次へ) を選択します。

1. **[確認と追加]** ページで、**[作成]** を選択してください。アドオンのインストールが完了した後、インストールしたアドオンが表示されます。

1. インストールしたアドオンにサブスクリプションが必要な場合、次のステップを実行してください：

   1. アドオンの右下隅にある **[サブスクライブ]** ボタンを選択してください。AWS マーケットプレイス のアドオンのページが表示されます。**[製品概要]** や **[価格情報]** など、アドオンに関する情報をお読みください。

   1. アドオンページの右上にある **[サブスクライブを続ける]** ボタンを選択してください。

   1. **[利用規約]** をよくお読みください。利用規約に同意する場合、**[利用規約に同意]** を選択してください。サブスクリプションの処理に数分かかることがあります。サブスクリプションの処理中、**[Amazon EKS コンソールに戻る]** ボタンがグレー表示されます。

   1. サブスクリプションの処理が完了すると、**[Amazon EKS コンソールに戻る]** ボタンがグレー表示されなくなります。ボタンを選択し、クラスターの Amazon EKS コンソールの **[アドオン]** タブに戻ります。

   1. サブスクライブしているアドオンについては**[削除して再インストール]** を選択し、次に **[アドオンの再インストール]** を選択してください。アドオンのインストールに数分かかることがあります。インストールが完了すると、アドオンを設定できます。

## アドオンの作成 (AWS CLI)
<a name="create_add_on_shared_aws_cli"></a>

1. ご使用のデバイスまたは AWS クラウドシェル で、バージョン `2.12.3` 以降、または AWS コマンドラインインターフェイス (AWS CLI のバージョン `1.27.160` 以降が必要です。現在のバージョンを確認するには「`aws --version | cut -d / -f2 | cut -d ' ' -f1`」を参照してください。`yum`、`apt-get`、macOS 用の Homebrew などのパッケージマネージャーは、多くの場合 AWS CLI の最新バージョンより数バージョン古くなっています。最新バージョンをインストールするには「*AWS コマンドラインインターフェイスユーザーガイド*」の「[インストール](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)」および「[aws configure を使用したクイック設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)」を参照してください。AWS クラウドシェル にインストールされている AWS CLI バージョンも最新バージョンより数バージョン遅れることがあります。更新するには、「*AWS CloudShell ユーザーガイド*」の「[ホームディレクトリへの AWS CLI のインストール](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software)」を参照してください。

1. 利用可能なアドオンを確認します。利用可能なすべてのアドオン、種類、発行元を確認できます。AWS マーケットプレイスを介して利用可能なアドオンの URL も確認できます。*1.35* をお持ちのクラスターのバージョンに置き換えます。

   ```
   aws eks describe-addon-versions --kubernetes-version 1.35 \
       --query 'addons[].{MarketplaceProductUrl: marketplaceInformation.productUrl, Name: addonName, Owner: owner Publisher: publisher, Type: type}' --output table
   ```

   出力例は次のとおりです。

   ```
   ---------------------------------------------------------------------------------------------------------------------------------------------------------
   |                                                                 DescribeAddonVersions                                                                 |
   +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+
   |                     MarketplaceProductUrl                     |             Name              |      Owner       |  Publisher   |        Type         |
   +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+
   |  None                                                         |  aws-ebs-csi-driver           |  aws             |  eks         |  storage            |
   |  None                                                         |  coredns                      |  aws             |  eks         |  networking         |
   |  None                                                         |  kube-proxy                   |  aws             |  eks         |  networking         |
   |  None                                                         |  vpc-cni                      |  aws             |  eks         |  networking         |
   |  None                                                         |  adot                         |  aws             |  eks         |  observability      |
   | https://aws.amazon.com/marketplace/pp/prodview-brb73nceicv7u |  dynatrace_dynatrace-operator |  aws-marketplace |  dynatrace   |  monitoring         |
   | https://aws.amazon.com/marketplace/pp/prodview-uhc2iwi5xysoc |  upbound_universal-crossplane |  aws-marketplace |  upbound     |  infra-management   |
   | https://aws.amazon.com/marketplace/pp/prodview-hd2ydsrgqy4li |  teleport_teleport            |  aws-marketplace |  teleport    |  policy-management  |
   | https://aws.amazon.com/marketplace/pp/prodview-vgghgqdsplhvc |  factorhouse_kpow             |  aws-marketplace |  factorhouse |  monitoring         |
   |  [...]                                                        |  [...]                        |  [...]           |  [...]       |  [...]              |
   +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+
   ```

   出力が異なる場合があります。この出力例ではタイプ `networking` で利用可能なアドオンが 3 種類あり、タイプ `eks` の発行元でアドオンが 5 種類あります。`Owner` 列に `aws-marketplace` があるアドオンはインストールする前にサブスクリプションが必要な場合があります。URL にアクセスしてアドオンの詳細を確認したり、アドオンをサブスクライブしたりできます。

1. アドオンごとに利用可能なバージョンを確認できます。*1.35* をクラスターのバージョンに置き換え、*vpc-cni* を前のステップで返されたアドオンの名前に置き換えます。

   ```
   aws eks describe-addon-versions --kubernetes-version 1.35 --addon-name vpc-cni \
       --query 'addons[].addonVersions[].{Version: addonVersion, Defaultversion: compatibilities[0].defaultVersion}' --output table
   ```

   出力例は次のとおりです。

   ```
   ------------------------------------------
   |          DescribeAddonVersions         |
   +-----------------+----------------------+
   | Defaultversion  |       Version        |
   +-----------------+----------------------+
   |  False          |  v1.12.0-eksbuild.1  |
   |  True           |  v1.11.4-eksbuild.1  |
   |  False          |  v1.10.4-eksbuild.1  |
   |  False          |  v1.9.3-eksbuild.1   |
   +-----------------+----------------------+
   ```

   `Defaultversion` 列に `True` と表示されているバージョンはデフォルトでアドオンが作成されたバージョンです。

1. (オプション) 次のコマンドを実行して、選択したアドオンの設定オプションを調べます：

   ```
   aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.12.0-eksbuild.1
   ```

   ```
   {
       "addonName": "vpc-cni",
       "addonVersion": "v1.12.0-eksbuild.1",
       "configurationSchema": "{\"$ref\":\"#/definitions/VpcCni\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Cri\":{\"additionalProperties\":false,\"properties\":{\"hostPath\":{\"$ref\":\"#/definitions/HostPath\"}},\"title\":\"Cri\",\"type\":\"object\"},\"Env\":{\"additionalProperties\":false,\"properties\":{\"ADDITIONAL_ENI_TAGS\":{\"type\":\"string\"},\"AWS_VPC_CNI_NODE_PORT_SUPPORT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_ENI_MTU\":{\"format\":\"integer\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CONFIGURE_RPFILTER\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOGLEVEL\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_RANDOMIZESNAT\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_VETHPREFIX\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_LEVEL\":{\"type\":\"string\"},\"DISABLE_INTROSPECTION\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_METRICS\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_NETWORK_RESOURCE_PROVISIONING\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_POD_ENI\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_PREFIX_DELEGATION\":{\"format\":\"boolean\",\"type\":\"string\"},\"WARM_ENI_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_PREFIX_TARGET\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"Env\",\"type\":\"object\"},\"HostPath\":{\"additionalProperties\":false,\"properties\":{\"path\":{\"type\":\"string\"}},\"title\":\"HostPath\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"},\"VpcCni\":{\"additionalProperties\":false,\"properties\":{\"cri\":{\"$ref\":\"#/definitions/Cri\"},\"env\":{\"$ref\":\"#/definitions/Env\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"}},\"title\":\"VpcCni\",\"type\":\"object\"}}}"
   }
   ```

   出力は標準の JSON スキーマです。

   上記のスキーマで使用できる有効な設定値の例 (JSON フォーマット) を次に示します。

   ```
   {
     "resources": {
       "limits": {
         "cpu": "100m"
       }
     }
   }
   ```

   上記のスキーマで使用できる有効な設定値の例 (YAML フォーマット) を次に示します。

   ```
     resources:
       limits:
         cpu: 100m
   ```

1. アドオンに IAM アクセス許可が必要かどうかを確認します。その場合は(1 EKS Pod Identity またはサービスアカウントの IAM ロール (IRSA 使用するかどうかを決定し、(2 アドオンで使用する IAM ロールの ARN を決定し、(3) アドオンで使用される Kubernetes サービスアカウントの名前を決定する必要があります。詳細については「[Amazon EKS アドオンに関する IAM 情報を取得する](retreive-iam-info.md)」を参照してください。
   + Amazon EKS ではアドオンが EKS Pod Identity をサポートしている場合はEKS Pod Identity の使用を推奨しています。そのためには[Pod Identity エージェントがクラスター にインストールされている](pod-identities.md)必要があります。アドオンで Pod Identity を使用する場合の詳細については「[Amazon EKS アドオンの IAM ロール](add-ons-iam.md)」を参照してください。
   + アドオンまたはクラスターが EKS Pod Identity 用にセットアップされていない場合はIRSA を使用します。[クラスターで IRSA が設定されていることを確認します。](iam-roles-for-service-accounts.md)
   +  [Amazon EKS アドオンのドキュメントを参照して、アドオンに IAM アクセス許可と、関連する Kubernetes サービスアカウントの名前が必要かどうかを確認します。](eks-add-ons.md)

     1. Amazon EKS アドオンを作成します。デバイスに沿ったコマンドをコピーします。必要に応じてコマンドに次の変更を加え、変更したコマンドを実行してください：
   + *マイクラスター* の部分は自分のクラスター名に置き換えます。
   + *vpc-cni* を前のステップの出力で返された作成するアドオン名に置き換えます。
   + *vpc-cni* を使用する前のステップの出力で返されたバージョンに置き換えます。
   + カスタム Kubernetes 名前空間にアドオンをインストールする場合は、`--namespace-config 'namespace=<my-namespace>` オプションを追加してください。このオプションは、AWS アドオンとコミュニティアドオンでのみ使用できます。詳細については、[アドオン用のカスタム名前空間](eks-add-ons.md#custom-namespace)を参照してください。
   + アドオンに IAM アクセス許可が必要ない場合は*<service-account-configuration>* を削除してください。
   + 次のいずれかを行います：
     + アドオンが (1) IAM 許可が必要で、(2) クラスターが EKS Pod Identity を使用している場合は*<service-account-configuration>* を次の Pod Identity の関連付けに置き換えます。*<service-account-name>* をアドオンで使用されるサービスアカウント名に置き換えます。*<role-arn>* を IAM ロールの ARN に置き換えます。ロールにはEKS Pod Identity に必要な信頼ポリシーが必要です。

       ```
       --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
       ```
     + アドオンが (1) IAM アクセス許可が必要で、(2) クラスターが IRSA を使用している場合は*<service-account-configuration>* を次の IRSA 設定に置き換えます。*111122223333* を、アカウント ID に置き換えます。また、*role-name* を、作成した既存の IAM ロールの名前に置き換えます。ロールの作成手順については作成するアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。サービスアカウント役割を指定するにはクラスター用に IAM OpenID Connect (OIDC) プロバイダーが必要です。クラスター用に持っているかどうかを確認、あるいは作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。

       ```
       --service-account-role-arn arn:aws::iam::111122223333:role/role-name
       ```
   + このコマンド例はアドオンの既存のセルフマネージドバージョンの `--configuration-values` オプションがある場合、それを上書きします。これを、文字列やファイル入力などの目的の設定値に置き換えます。設定値を指定したくない場合、`--configuration-values` オプションを削除します。AWS CLI に既存のセルフマネージド型アドオンの設定を上書きされたくない場合、*--resolve-conflicts OVERWRITE* オプションを削除してください。オプションを削除し、Amazon EKS アドオンが既存のセルフマネージド型アドオンの設定を上書きする必要がある場合、Amazon EKS アドオンの作成が失敗します。その場合、競合を解決するためのエラーメッセージが表示されます。このオプションを指定する前に、自分が管理する必要がある設定を Amazon EKS アドオンが管理していないことを確認してください。これらの設定はこのオプションの指定により上書きされます。

     ```
     aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \
          <service-account-configuration> --configuration-values '{"resources":{"limits":{"cpu":"100m"}}}' --resolve-conflicts OVERWRITE
     ```

     ```
     aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \
         <service-account-configuration> --configuration-values 'file://example.yaml' --resolve-conflicts OVERWRITE
     ```

     使用可能なすべてのオプションのリストについては「Amazon EKS コマンドラインリファレンス」の「` [create-addon](https://docs.aws.amazon.com/cli/latest/reference/eks/create-addon.html) `」を参照してください。作成したアドオンが前のステップの `Owner` 列に `aws-marketplace` が一覧表示されている場合、作成が失敗して次のエラーと同様なエラーメッセージが表示されることがあります。

     ```
     {
         "addon": {
             "addonName": "addon-name",
             "clusterName": "my-cluster",
             "status": "CREATE_FAILED",
             "addonVersion": "version",
             "health": {
                 "issues": [
                     {
                         "code": "AddonSubscriptionNeeded",
                         "message": "You are currently not subscribed to this add-on. To subscribe, visit the AWS Marketplace console, agree to the seller EULA, select the pricing type if required, then re-install the add-on"
                     }
                 ]
             }
         }
     }
     ```

     前の出力のエラーと同様なものが表示された場合、前のステップに出力された URL にアクセスしてアドオンをサブスクライブしてください。サブスクライブしたら `create-addon` コマンドを再実行してください。

# Amazon EKS アドオンを更新する
<a name="updating-an-add-on"></a>

Amazon EKS は新しいバージョンがリリースされた場合、あるいはクラスターを新しい Kubernetes マイナーバージョンに更新しても、アドオンを自動的に更新しません。既存のクラスターのアドオンを更新するには更新を開始する必要があります。更新を開始した後、Amazon EKS がアドオンを更新します。アドオンを更新する前に、アドオンの現行のドキュメントを確認してください。利用可能なアドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。アドオンに IAM 役割が必要な場合、役割の作成の詳細については「[使用可能な AWS](workloads-add-ons-available-eks.md) の Amazon EKS アドオン」の特定のアドオンの詳細を参照してください。

## 前提条件
<a name="updating-an-add-on-prereq"></a>

アドオンを作成する前に、次を完了します:
+ アドオンに IAM 役割が必要かどうかを確認します。詳細については「[Amazon EKS アドオン](eks-add-ons.md)」を参照してください。
+ Amazon EKS アドオンバージョンがクラスターと互換性があることを検証します。詳細については「[Amazon EKS アドオンバージョンのクラスターとの互換性を検証する](addon-compat.md)」を参照してください。

## 手順
<a name="updating-an-add-on-procedure"></a>

`eksctl`、AWS マネジメントコンソール、AWS CLI のいずれかを使用して Amazon EKS アドオンを更新できます。

## アドオンの更新 (eksctl)
<a name="_update_add_on_eksctl"></a>

1. クラスターにインストールされている現在のアドオンおよびアドオンのバージョンを確認します。*マイクラスター* の部分は自分のクラスター名に置き換えます。

   ```
   eksctl get addon --cluster my-cluster
   ```

   出力例は次のとおりです。

   ```
   NAME        VERSION              STATUS  ISSUES  IAMROLE  UPDATE AVAILABLE
   coredns     v1.8.7-eksbuild.2    ACTIVE  0
   kube-proxy  v1.23.7-eksbuild.1   ACTIVE  0                v1.23.8-eksbuild.2
   vpc-cni     v1.10.4-eksbuild.1   ACTIVE  0                v1.12.0-eksbuild.1,v1.11.4-eksbuild.1,v1.11.3-eksbuild.1,v1.11.2-eksbuild.1,v1.11.0-eksbuild.1
   ```

   クラスターにあるアドオンおよびバージョンによって、出力が異なる場合があります。前述の出力例ではクラスターの既存のアドオン 2 つは `UPDATE AVAILABLE` 列に新しいバージョンがあることがわかります。

1. アドオンを更新します。

   1. デバイスに沿ったコマンドをコピーします。必要に応じてコマンドに次の変更を加えます。
      + *マイクラスター* の部分は自分のクラスター名に置き換えます。
      + *地域コード* を、クラスターのある AWS リージョンに置き換えます。
      + *vpc-cni* を更新する前のステップの出力で返されたアドオンの名前に置き換えます。
      + 利用可能な最新バージョンよりも前のバージョンに更新する場合、*latest* を使用する前のステップの出力で返されたバージョン番号に置き換えます。一部のアドオンには推奨バージョンがあります。詳細については更新するアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。**\$1** アドオンが Kubernetes サービスアカウントおよび IAM ロールを使用する場合、*111122223333* をアカウント ID に置き換え、*role-name* を作成した既存の IAM ロールの名前に置き換えます。役割の作成手順については作成するアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。サービスアカウント役割を指定するにはクラスター用に IAM OpenID Connect (OIDC) プロバイダーが必要です。クラスター用に持っているかどうかを確認、あるいは作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。

        アドオンが Kubernetes サービスアカウントおよび IAM ロールを使用しない場合、`serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name ` 行を削除してください。
      + *保存*オプションはアドオンの既存値を保存します。アドオン設定にカスタム値を設定していて、このオプションを使用しない場合、Amazon EKS は値をデフォルト値で上書きします。このオプションを使用する場合、実稼働クラスターのアドオンを更新する前に、非稼動クラスターのフィールドおよび値変更をテストすることをお勧めします。この値を `overwrite` に変更する場合、すべての設定が Amazon EKS のデフォルト値に変更されます。いずれかの設定にカスタム値を設定した場合、Amazon EKS のデフォルト値で上書きされる可能性があります。この値を `none` に変更した場合、Amazon EKS は設定の値を一切変更しませんが、更新が失敗する可能性があります。更新に失敗した場合、競合の解決に役立つエラーメッセージが返されます。

        ```
        cat >update-addon.yaml <<EOF
        apiVersion: eksctl.io/v1alpha5
        kind: ClusterConfig
        metadata:
          name: my-cluster
          region: region-code
        
        addons:
        - name: vpc-cni
          version: latest
          serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name
          resolveConflicts: preserve
        EOF
        ```

   1. 変更コマンドを実行して `update-addon.yaml` ファイルを作成します。

   1. クラスターに設定ファイルを適用します。

      ```
      eksctl update addon -f update-addon.yaml
      ```

   アドオンの更新の詳細については`eksctl` ドキュメントの「[アドオンの更新](https://eksctl.io/usage/addons/#updating-addons)」を参照してください。

## アドオンの更新 (AWS コンソール)
<a name="update_add_on_shared_aws_console"></a>

1. [Amazon EKS コンソール](https://console.aws.amazon.com/eks/home#/clusters)を開きます。

1. 左のナビゲーションペインで **[クラスター]** を選択してください。

1. アドオンを更新するクラスターの名前を選択してください。

1. **[アドオン]** タブを選択してください。

1. 更新するアドオンを選択してください。

1. [**編集**] を選択してください。

1. **[*アドオンの名前*を設定]** ページで、次を実行します:

   1. 使用する **[バージョン]** を選択してください。アドオンには推奨バージョンがある場合があります。詳細については更新するアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。

   1. アドオンの役割を設定するにはEKS ポッド・アイデンティティー IAM 役割とサービスアカウント用の IAM 役割 (IRSA) の 2 つのオプションがあります。希望するオプションについては以下の適切なステップに従います。選択したすべてのアドオンの **[ステータス]** で **[サブスクリプションが必要]** と表示されている場合、**[次へ]** を選択してください。**[ステータス]** で **[サブスクリプションが必要]** と表示されていないアドオンの場合、次を実行してください。

      1. **[サービスアカウント用の ポッド・アイデンティティー IAM 役割]** で、既存の EKS Pod Identity IAM 役割を使用するか、または **[推奨役割を作成]** ボタンを使用して EKS Pod Identity IAM 役割を作成できます。このフィールドには適切な信頼ポリシーを持つオプションのみが表示されます。選択する役割がない場合は一致する信頼ポリシーを持つ既存の役割が存在しないことになります。選択したアドオンのサービスアカウント用の EKS Pod Identity IAM 役割を設定するには**[推奨役割を作成]** を選択してください。役割作成ウィザードが別のウィンドウで開きます。ウィザードは次のように役割の情報を自動的に入力してください。EKS Pod Identity IAM 役割を作成するアドオンごとに、IAM ウィザードのステップを次のように実行してください。
         + **[信頼されたエンティティを選択]** ステップでは **[EKS]** の AWS サービスオプションと **[EKS - Pod Identity]** のユースケースが事前に選択されており、アドオンのために適切な信頼ポリシーが自動的に入力されます。例えば、役割は「[EKS Pod Identity の利点](pod-identities.md#pod-id-benefits)」で詳述されているように、pods.eks.amazonaws.com の IAM プリンシパルを含む適切な信頼ポリシーを使用して作成されます。[**次へ**] を選択してください。
         + **[許可を追加]** ステップでは役割ポリシー用の適切なマネージドポリシーがアドオンのために事前に選択されています。例えば、Amazon VPC CNI アドオンの場合、役割は「[Amazon VPC CNI Kubernetes用プラグイン](workloads-add-ons-available-eks.md#add-ons-vpc-cni)」で詳述されているように、マネージドポリシー `AmazonEKS_CNI_Policy` を使用して作成されます。[**次へ**] を選択します。
         + **[名前、確認、作成]** のステップにおいて、**[役割名]** で、アドオンのためにデフォルトの役割名が自動的に入力されます。例えば、**Amazon VPC CNI** アドオンの場合、役割は **AmazonEKSPodIdentityAmazonVPCCNIRole** という名前で作成されます。**[説明]** ではアドオンのためにデフォルトの適切な説明が自動的に入力されます。例えば、Amazon VPC CNI アドオンの場合、役割は AWS リソースにアクセスすることを「**Amazon EKS クラスターで実行されているポッドに許可します**」という説明で作成されます。**[信頼ポリシー]** で、アドオンのために事前入力された信頼ポリシーを表示します。[**役割の作成**] を選択してください。
**注記**  
デフォルトの役割名を保持すると、EKS は新しいクラスターでアドオン用の役割を事前に選択したり、既存のクラスターにアドオンを追加したりできます。この名前は引き続き上書きでき、役割はクラスター全体でアドオンのために使用できますが、役割はドロップダウンから手動で選択する必要があります。

      1. **[ステータス]** が **[サブスクリプションが必要]** でなく、IRSA を使用して役割を設定するアドオンについてはIAM ポリシーを作成して役割にアタッチするために作成するアドオンに関するドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。IAM ロールを選択するにはクラスター用に OpenID Connect (OIDC) プロバイダーが必要です。クラスター用に持っているかどうかを確認、あるいは作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。

   1. **[オプションの構成設定]** を展開します。

   1. **[設定値]** で、アドオン固有の設定情報を入力してください。詳細については更新するアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。**[コンフリクト解決方法]** で、いずれかのオプションを選択してください。アドオン設定にカスタム値を設定している場合、**[保存]** オプションをお勧めします。このオプションを選択しない場合、Amazon EKS は値をデフォルト値で上書きします。このオプションを使用する場合、実稼働クラスターのアドオンを更新する前に、非稼動クラスターのフィールドおよび値変更をテストすることをお勧めします。この値を [上書き] に変更する場合、すべての設定が Amazon EKS のデフォルト値に変更されます。いずれかの設定にカスタム値を設定した場合、Amazon EKS のデフォルト値で上書きされる可能性があります。この値を [なし] に変更した場合、Amazon EKS は設定の値を一切変更しませんが、更新が失敗する可能性があります。更新に失敗した場合、競合の解決に役立つエラーメッセージが返されます。

1. **[Save changes]** (変更の保存) をクリックします。

## アドオンの更新 (AWS CLI)
<a name="update_add_on_shared_aws_cli"></a>

1. ご使用のデバイスまたは AWS CloudShell で、バージョン `2.12.3` 以降、または AWS コマンドラインインターフェイス (AWS CLI) のバージョン `1.27.160` 以降が必要です。現在のバージョンを確認するには「`aws --version | cut -d / -f2 | cut -d ' ' -f1`」を参照してください。`yum`、`apt-get`、macOS 用の Homebrew などのパッケージマネージャーは、多くの場合 AWS CLI の最新バージョンより数バージョン古くなっています。最新バージョンをインストールするには「*AWS コマンドラインインターフェイスユーザーガイド*」の「[インストール](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)」および「[aws configure を使用したクイック設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)」を参照してください。AWS クラウドシェル にインストールされている AWS CLI バージョンも最新バージョンより数バージョン遅れることがあります。更新するには、「*AWS CloudShell ユーザーガイド*」の「[ホームディレクトリへの AWS CLI のインストール](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software)」を参照してください。

1. インストールされているアドオンのリストを参照してください。*マイクラスター* の部分は自分のクラスター名に置き換えます。

   ```
   aws eks list-addons --cluster-name my-cluster
   ```

   出力例は次のとおりです。

   ```
   {
       "addons": [
           "coredns",
           "kube-proxy",
           "vpc-cni"
       ]
   }
   ```

1. 更新するアドオンの現在のバージョンを表示します。*マイクラスター* をクラスターの名前に置き換えて、*vpc-cni* を更新するアドオンの名前に置き換えます。

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query "addon.addonVersion" --output text
   ```

   出力例は次のとおりです。

   ```
   v1.10.4-eksbuild.1
   ```

1. クラスターのバージョンで使用できるアドオンのバージョンを確認します。*1.35* をクラスターのバージョンに置き換えて、*vpc-cni* を更新するアドオンの名前に置き換えます。

   ```
   aws eks describe-addon-versions --kubernetes-version 1.35 --addon-name vpc-cni \
       --query 'addons[].addonVersions[].{Version: addonVersion, Defaultversion: compatibilities[0].defaultVersion}' --output table
   ```

   出力例は次のとおりです。

   ```
   ------------------------------------------
   |          DescribeAddonVersions         |
   +-----------------+----------------------+
   | Defaultversion  |       Version        |
   +-----------------+----------------------+
   |  False          |  v1.12.0-eksbuild.1  |
   |  True           |  v1.11.4-eksbuild.1  |
   |  False          |  v1.10.4-eksbuild.1  |
   |  False          |  v1.9.3-eksbuild.1   |
   +-----------------+----------------------+
   ```

   `Defaultversion` 列に `True` と表示されているバージョンはデフォルトでアドオンが作成されたバージョンです。

1. アドオンを更新してください。デバイスに沿ったコマンドをコピーします。必要に応じてコマンドに次の変更を加え、変更したコマンドを実行してください。このコマンドの詳細については「Amazon EKS コマンドラインリファレンス」の「[update-addon](https://docs.aws.amazon.com/cli/latest/reference/eks/update-addon.html)」を参照してください。
   + *マイクラスター* の部分は自分のクラスター名に置き換えます。
   + *vpc-cni* を前のステップの出力で返された更新するアドオンの名前に置き換えます。
   + *version-number* を更新する前のステップの出力で返されたバージョンに置き換えます。一部のアドオンには推奨バージョンがあります。詳細については更新するアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。**\$1** アドオンが Kubernetes サービスアカウントおよび IAM ロールを使用する場合、*111122223333* をアカウント ID に置き換え、*role-name* を作成した既存の IAM ロールの名前に置き換えます。役割の作成手順については作成するアドオンのドキュメントを参照してください。アドオンのリストについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。サービスアカウント役割を指定するにはクラスター用に IAM OpenID Connect (OIDC) プロバイダーが必要です。クラスター用に持っているかどうかを確認、あるいは作成するには「[クラスターの IAM OIDC プロバイダーを作成するには](enable-iam-roles-for-service-accounts.md)」を参照してください。

     アドオンが Kubernetes サービスアカウントおよび IAM ロールを使用しない場合、`serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name ` 行を削除してください。
   + `--resolve-conflicts PRESERVE` オプションはアドオンの既存値を保存します。アドオン設定にカスタム値を設定していて、このオプションを使用しない場合、Amazon EKS は値をデフォルト値で上書きします。このオプションを使用する場合、実稼働クラスターのアドオンを更新する前に、非稼動クラスターのフィールドおよび値変更をテストすることをお勧めします。この値を `OVERWRITE` に変更する場合、すべての設定が Amazon EKS のデフォルト値に変更されます。いずれかの設定にカスタム値を設定した場合、Amazon EKS のデフォルト値で上書きされる可能性があります。この値を `NONE` に変更した場合、Amazon EKS は設定の値を一切変更しませんが、更新が失敗する可能性があります。更新に失敗した場合、競合の解決に役立つエラーメッセージが返されます。
   + すべてのカスタム設定を削除する場合は*--configuration-values '\$1\$1'* オプションを使用して更新を実行してください。これにより、すべてのカスタム設定がデフォルト値に設定されます。カスタム設定を変更しない場合、*--configuration-values* フラグを指定しないでください。カスタム設定を調整する場合、*\$1\$1* を新しいパラメータに置き換えます。

     ```
     aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \
         --service-account-role-arn arn:aws:iam::111122223333:role/role-name --configuration-values '{}' --resolve-conflicts PRESERVE
     ```

1. 更新のステータスを確認します。*マイクラスター* をクラスターの名前に置き換えて、*vpc-cni* を更新するアドオンの名前に置き換えます。

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni
   ```

   出力例は次のとおりです。

   ```
   {
       "addon": {
           "addonName": "vpc-cni",
           "clusterName": "my-cluster",
           "status": "UPDATING",
       }
   }
   ```

   ステータスが `ACTIVE` に変わると更新が完了します。

# Amazon EKS アドオンバージョンのクラスターとの互換性を検証する
<a name="addon-compat"></a>

Amazon EKS アドオンを作成する前に、Amazon EKS アドオンのバージョンがクラスターと互換性があることを検証する必要があります。

[アドオンバージョンを記述する API](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html) を使用して、EKS アドオンの利用可能なバージョンと、各アドオンバージョンがサポートしている Kubernetes バージョンを一覧表示します。

1. AWS CLI がインストールされ、`aws sts get-caller-identity` と連携していることを確認します。このコマンドが機能しない場合は「[AWS CLI の使用を開始する](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」を参照してください。

1. バージョンの互換性情報を取得するアドオンの名前 (`amazon-cloudwatch-observability` など) を特定します。

1. クラスターの Kubernetes バージョンを特定します (`1.35` など)。

1. AWS CLI を使用して、クラスターの Kubernetes バージョンと互換性のあるアドオンのバージョンを取得します。

   ```
   aws eks describe-addon-versions --addon-name amazon-cloudwatch-observability --kubernetes-version 1.35
   ```

   出力例は次のとおりです。

   ```
   {
       "addons": [
           {
               "addonName": "amazon-cloudwatch-observability",
               "type": "observability",
               "addonVersions": [
                   {
                       "addonVersion": "vX.X.X-eksbuild.X",
                       "architecture": [
                           "amd64",
                           "arm64"
                       ],
                       "computeTypes": [
                           "ec2",
                           "auto",
                           "hybrid"
                       ],
                       "compatibilities": [
                           {
                               "clusterVersion": "1.35",
                               "platformVersions": [
                                   "*"
                               ],
                               "defaultVersion": true
                           }
                       ],
                   }
               ]
           }
       ]
   }
   ```

   この出力はアドオンのバージョン `vX.X.X-eksbuild.X` が、Kubernetes クラスターのバージョン `1.35` と互換性があることを示しています。

## コンピューティングタイプとのアドオン互換性
<a name="_add_on_compatibility_with_compute_types"></a>

`describe-addon-versions` 出力の `computeTypes` フィールドはアドオンと EKS 自動モードl マネージドノードまたはハイブリッドノードとの互換性を示します。`auto` とマークされたアドオンはEKS 自動モードl のクラウドベース AWS マネージドインフラストラクチャで動作しますが、`hybrid` とマークされたアドオンはEKS クラウドコントロールプレーンに接続されたオンプレミスノードで実行できます。

詳細については「[Amazon EKS 自動モードl の考慮事項](eks-add-ons.md#addon-consider-auto)」を参照してください。

# クラスターから Amazon EKS アドオンを削除する
<a name="removing-an-add-on"></a>

`eksctl`、AWS マネジメントコンソール、AWS CLI を使用して Amazon EKS アドオンをクラスターから削除できます。

クラスターから Amazon EKS アドオンを削除する場合:
+ アドオンが提供する機能にはダウンタイムはありません。
+ サービスアカウントの IAM 役割 (IRSA) を使用していて、アドオンに IAM 役割が関連付けられている場合、IAM 役割は削除されません。
+ Pod Identities を使用している場合、アドオンが所有する Pod Identity の関連付けはすべて削除されます。AWS CLI に `--preserve` オプションを指定すると、関連付けは保持されます。
+ Amazon EKS はアドオンの設定の管理を停止します。
+ 新しいバージョンが利用可能になると、コンソールが通知を停止します。
+ AWS ツールや API を使用してアドオンを更新することはできません。
+ 自己管理できるようにアドオンソフトウェアをクラスターに保持するか、クラスターからアドオンソフトウェアを削除するかを選択できます。そのアドオンが提供している機能に依存するクラスターにリソースがない場合のみ、クラスターからアドオンソフトウェアを削除してください。

## 前提条件
<a name="removing-an-add-on-prereq"></a>

アドオンを作成する前に、次を完了します:
+ 既存の Amazon EKS クラスター。デプロイするには「[Amazon EKS の使用を開始する](getting-started.md)」を参照してください。
+ アドオンに IAM 役割が必要かどうかを確認します。詳細については「」を参照してください。
+ デバイスまたは AWS CloudShell にインストールされている `eksctl` コマンドラインツールのバージョン `0.215.0` 以降。`eksctl` をインストールまたはアップグレードするには`eksctl` ドキュメントの「[インストール](https://eksctl.io/installation)」を参照してください。

## 手順
<a name="removing-an-add-on-procedure"></a>

Amazon EKS アドオンを削除する場合、次の 2 つのオプションがあります。
+  **クラスター上のアドオンソフトウェアを保持する** — このオプションではすべての設定の Amazon EKS 管理が削除されます。また、Amazon EKS による更新の通知機能や、更新の開始後の Amazon EKS アドオンの自動更新機能も削除されます。ただし、クラスター上のアドオンソフトウェアは保持されます。このオプションを選択すると、アドオンは Amazon EKS アドオンではなく、セルフマネージド型インストールになります。このオプションを使用すると、アドオンのダウンタイムは発生しません。
+  **クラスターからアドオンソフトウェアを完全に削除する** — クラスターから Amazon EKS アドオンを削除するのはアドオンに依存するリソースがクラスター上にない場合のみとすることをお勧めします。

Amazon EKS アドオンは `eksctl`、AWS マネジメントコンソール、AWS CLI を使用して削除できます。

### アドオンの削除 (eksctl)
<a name="_remove_add_on_eksctl"></a>

1. クラスターに現在インストールされているアドオンを確認します。*マイクラスター* の部分は自分のクラスター名に置き換えます。

   ```
   eksctl get addon --cluster my-cluster
   ```

   出力例は次のとおりです。

   ```
   NAME        VERSION              STATUS  ISSUES  IAMROLE  UPDATE AVAILABLE
   coredns     v1.8.7-eksbuild.2    ACTIVE  0
   kube-proxy  v1.23.7-eksbuild.1   ACTIVE  0
   vpc-cni     v1.10.4-eksbuild.1   ACTIVE  0
   [...]
   ```

   クラスターにあるアドオンおよびバージョンによって、出力が異なる場合があります。

1. アドオンを削除します。*マイクラスター* をクラスターの名前に置き換えて、*name-of-add-on* を削除する前のステップの出力で返されたアドオン名に置き換えます。*--preserve* オプションを削除する場合、Amazon EKS がアドオンを管理しなくなるだけではなく、アドオンソフトウェアがクラスターから削除されます。

   ```
   eksctl delete addon --cluster my-cluster --name name-of-addon --preserve
   ```

   アドオンの削除の詳細については`eksctl` ドキュメントの「[Deleting addons](https://eksctl.io/usage/addons/#deleting-addons)」を参照してください。

### アドオンの削除 (AWS コンソール)
<a name="remove_add_on_shared_aws_console"></a>

1. [Amazon EKS コンソール](https://console.aws.amazon.com/eks/home#/clusters)を開きます。

1. 左のナビゲーションペインで **[クラスター]** を選択してください。

1. Amazon EKS アドオンを削除するクラスターの名前を選択してください。

1. **[アドオン]** タブを選択してください。

1. 削除するアドオンを選択してください。

1. **[削除]** を選択してください。

1. **[削除: *アドオンの名前*]** 確認ダイアログボックスで、次を実行します:

   1. Amazon EKS でのアドオンの設定の管理を停止する場合は**[クラスターで保持する]** を選択してください。クラスターでアドオンソフトウェアを保持する場合はこの操作を実行してください。これはアドオンのすべての設定を自分で管理できるようにするためです。

   1. アドオン名を入力してください。

   1. **[削除]** を選択してください。

### アドオンの削除 (AWS CLI)
<a name="remove_add_on_shared_aws_cli"></a>

1. デバイスまたは AWS クラウドシェル にインストールされている `eksctl` コマンドラインツールのバージョン `0.215.0` 以降が必要です。`eksctl` をインストールまたはアップグレードするには`eksctl` ドキュメントの「[インストール](https://eksctl.io/installation)」を参照してください。

1. インストールされているアドオンのリストを参照してください。*マイクラスター* の部分は自分のクラスター名に置き換えます。

   ```
   aws eks list-addons --cluster-name my-cluster
   ```

   出力例は次のとおりです。

   ```
   {
       "addons": [
           "coredns",
           "kube-proxy",
           "vpc-cni",
           "name-of-addon"
       ]
   }
   ```

1. インストールされているアドオンを削除します。*マイクラスター* をクラスターの名前に置き換えて、*name-of-add-on* を削除するアドオン名に置き換えます。*--preserve* を削除することにより、アドオンソフトウェアがクラスターから削除されます。

   ```
   aws eks delete-addon --cluster-name my-cluster --addon-name name-of-addon --preserve
   ```

   簡略化した出力例を次に示します。

   ```
   {
       "addon": {
           "addonName": "name-of-add-on",
           "clusterName": "my-cluster",
           "status": "DELETING",
       }
   }
   ```

1. 削除のステータスを確認します。*マイクラスター* をクラスターの名前に置き換えて、*name-of-addon* を削除するアドオン名に置き換えます。

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name name-of-addon
   ```

   アドオンを削除した後の出力例は次のとおりです。

   ```
   An error occurred (ResourceNotFoundException) when calling the DescribeAddon operation: No addon: name-of-addon found in cluster: my-cluster
   ```

# Amazon EKS アドオンの IAM ロール
<a name="add-ons-iam"></a>

特定の Amazon EKS アドオンでは、AWS API を呼び出す IAM ロールおよび許可が必要です。例えば、Amazon VPC CNI アドオンは特定の AWS API を呼び出して、アカウント内のネットワークリソースを設定します。これらのアドオンには、 IAM を使用してアクセス許可を付与する必要があります。具体的には、アドオンを実行しているポッドのサービスアカウントを、特定の IAM ポリシーを持つ IAM ロールに関連付ける必要があります。

クラスターワークロードに AWS アクセス許可を付与する際の推奨方法は、Amazon EKS 機能 Pod Identity を使用することです。**Pod Identity の関連付け**を使用して、アドオンのサービスアカウントを IAM ロールにマッピングできます。ポッドが関連付けられたサービスアカウントを使用する場合、Amazon EKS はポッドのコンテナに環境変数を設定します。環境変数は、AWS CLI を含む AWS SDK が EKS Pod Identity の認証情報を使用するように設定します。詳細については、「[EKS Pod Identity が Pod に AWS サービスへのアクセス権を付与する仕組みを学ぶ](pod-identities.md)」を参照してください。

Amazon EKS アドオンは、アドオンに対応する Pod Identity の関連付けのライフサイクルを管理するのに役立ちます。例えば、Amazon EKS アドオンと必要な Pod Identity の関連付けを 1 回の API コールで作成または更新できます。Amazon EKS には、推奨される IAM ポリシーを取得するための API も用意されています。

1. [Amazon EKS Pod Identity エージェントが](pod-id-agent-setup.md)クラスターで設定されていることを確認します。

1. インストールするアドオンに、`describe-addon-versions` AWS CLI オペレーションを使用して IAM アクセス許可が必要かどうかを確認します。`requiresIamPermissions` フラグが `true` の場合、`describe-addon-configurations` オペレーションを使用してアドオンに必要なアクセス許可を決定する必要があります。レスポンスには、推奨されるマネージド IAM ポリシーのリストが含まれます。

1. `describe-addon-configuration` CLI オペレーションを使用して、Kubernetes サービスアカウントの名前と IAM ポリシーを取得します。提案されたポリシーの範囲をセキュリティ要件に照らして評価します。

1. 提案されたアクセス許可ポリシーと Pod Identity に必要な信頼ポリシーを使用して IAM ロールを作成します。詳細については、「[Pod Identity の関連付けを作成する (AWS コンソール)](pod-id-association.md#pod-id-association-create)」を参照してください。

1. CLI を使用して Amazon EKS アドオンを作成または更新します。少なくとも 1 つの Pod Identity の関連付けを指定します。Pod Identity の関連付けは、Kubernetes サービスアカウントの名前、および IAM ロールの ARN です。
   + アドオン API を使用して作成された Pod Identity の関連付けは、それぞれのアドオンによって所有されます。アドオンを削除すると、Pod Identity の関連付けも削除されます。AWS CLI または API を使用してアドオンを削除するときに、`preserve` オプションを使用してこのカスケード削除を防ぐことができます。必要に応じて、Pod Identity の関連付けを直接更新または削除することもできます。アドオンは、既存の Pod Identity の関連付けの所有権を引き受けることはできません。既存の関連付けを削除し、アドオンの作成または更新オペレーションを使用して再作成する必要があります。
   + Amazon EKS では、Pod Identity の関連付けを使用してアドオンの IAM アクセス許可を管理することをお勧めします。前の方法であるサービスアカウント (IRSA) の IAM ロールは引き続きサポートされています。アドオンの IRSA `serviceAccountRoleArn` と Pod Identity の関連付けの両方を指定できます。EKS Pod Identity エージェントがクラスターにインストールされている場合、`serviceAccountRoleArn` は無視され、EKS は指定された Pod Identity の関連付けを使用します。Pod Identity が有効になっていない場合、`serviceAccountRoleArn` が使用されます。
   + 既存のアドオンの Pod Identity の関連付けを更新すると、Amazon EKS はアドオンポッドのローリング再起動を開始します。

# Amazon EKS アドオンに関する IAM 情報を取得する
<a name="retreive-iam-info"></a>

アドオンを作成する前に、AWS CLI を使用して次を判断します:
+ アドオンに IAM 許可が必要かどうか
+ 使用する推奨 IAM ポリシー

## 手順
<a name="_procedure"></a>

1. インストールするアドオンの名前とクラスターの Kubernetes バージョンを決定します。アドオンの詳細については「[Amazon EKS アドオン](eks-add-ons.md)」を参照してください。

1. AWS CLI を使用してアドオンに IAM アクセス許可が必要かどうかを確認します。

   ```
   aws eks describe-addon-versions \
   --addon-name <addon-name> \
   --kubernetes-version <kubernetes-version>
   ```

   例:

   ```
   aws eks describe-addon-versions \
   --addon-name aws-ebs-csi-driver \
   --kubernetes-version 1.30
   ```

   以下の出力例を確認します。`requiresIamPermissions` は `true` であり、デフォルトのアドオンバージョンであることに注意してください。推奨される IAM ポリシーを取得するときはアドオンバージョンを指定する必要があります。

   ```
   {
       "addons": [
           {
               "addonName": "aws-ebs-csi-driver",
               "type": "storage",
               "addonVersions": [
                   {
                       "addonVersion": "v1.31.0-eksbuild.1",
                       "architecture": [
                           "amd64",
                           "arm64"
                       ],
                       "compatibilities": [
                           {
                               "clusterVersion": "1.30",
                               "platformVersions": [
                                   "*"
                               ],
                               "defaultVersion": true
                           }
                       ],
                       "requiresConfiguration": false,
                       "requiresIamPermissions": true
                   },
   [...]
   ```

1. アドオンに IAM アクセス許可が必要な場合はAWS CLI を使用して推奨される IAM ポリシーを取得します。

   ```
   aws eks describe-addon-configuration \
   --query podIdentityConfiguration \
   --addon-name <addon-name> \
   --addon-version <addon-version>
   ```

   例:

   ```
   aws eks describe-addon-configuration \
   --query podIdentityConfiguration \
   --addon-name aws-ebs-csi-driver \
   --addon-version v1.31.0-eksbuild.1
   ```

   以下の出力を確認します。`recommendedManagedPolicies` を書き留めます。

   ```
   [
       {
           "serviceAccount": "ebs-csi-controller-sa",
           "recommendedManagedPolicies": [
               "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy"
           ]
       }
   ]
   ```

1. IAM 役割を作成し、管理ポリシーをアタッチします。または管理ポリシーを確認し、必要に応じてアクセス許可の範囲を絞り込みます。詳細については「[Pod Identity の関連付けを作成する (AWS コンソール)](pod-id-association.md#pod-id-association-create)」を参照してください。

## Pod Identity サポートリファレンス
<a name="pod-id-add-on-versions"></a>

次の表は特定の Amazon EKS アドオンが EKS Pod Identity をサポートしているかどうかを示しています。


| アドオン名 | Pod Identity のサポート | 必要な最小バージョン | 
| --- | --- | --- | 
|   [Amazon EBS CSI ドライバー](workloads-add-ons-available-eks.md#add-ons-aws-ebs-csi-driver)   |  はい  |  v1.26.0-eksbuild.1  | 
|   [Amazon VPC CNI](workloads-add-ons-available-eks.md#add-ons-vpc-cni)   |  はい  |  v1.15.5-eksbuild.1  | 
|   [Amazon EFS CSI ドライバー](workloads-add-ons-available-eks.md#add-ons-aws-efs-csi-driver)   |  はい  |  v2.0.5-eksbuild.1  | 
|   [AWS オープンテレメトリー用ディストロ](workloads-add-ons-available-eks.md#add-ons-adot)   |  はい  |  v0.94.1-eksbuild.1  | 
|   [Mountpoint for Amazon S3 CSI ドライバー](workloads-add-ons-available-eks.md#mountpoint-for-s3-add-on)   |  いいえ  |  該当なし  | 
|   [Amazon CloudWatch 観測可能エージェント](workloads-add-ons-available-eks.md#amazon-cloudwatch-observability)   |  はい  |  v3.1.0-eksbuild.1  | 

この表は 2024 年 10 月 28 日に最終更新されました。

# Pod Identity を使用して Amazon EKS アドオンに IAM 役割を割り当てる
<a name="update-addon-role"></a>

特定の Amazon EKS アドオンではIAM 役割および許可が必要です。Pod Identity の関連付けを使用するように Amazon EKS アドオンを更新する前に、使用する役割とポリシーを検証します。詳細については「[Amazon EKS アドオンに関する IAM 情報を取得する](retreive-iam-info.md)」を参照してください。

1. 決定事項:
   +  `cluster-name` – アドオンをインストールするクラスターの名前。
   +  `addon-name` – インストールするアドオンの名前。
   +  `service-account-name` – アドオンで使用される Kubernetes サービスアカウントの名前。
   +  `iam-role-arn` – アドオンに十分なアクセス許可を持つ IAM 役割の ARN。役割にはEKS Pod Identity に必要な信頼ポリシーが必要です。詳細については「[Pod Identity の関連付けを作成する (AWS コンソール)](pod-id-association.md#pod-id-association-create)」を参照してください。

1. AWS CLI を使用してアドオンを更新します。同じ `--pod-identity-assocations` 構文を使用して、アドオンの作成時に Pod Identity の関連付けを指定することもできます。アドオンの更新中に Pod Identity の関連付けを指定すると、以前のすべての Pod Identity の関連付けが上書きされることに注意してください。

   ```
   aws eks update-addon --cluster-name <cluster-name> \
   --addon-name <addon-name> \
   --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
   ```

   例：

   ```
   aws eks update-addon --cluster-name mycluster \
   --addon-name aws-ebs-csi-driver \
   --pod-identity-associations 'serviceAccount=ebs-csi-controller-sa,roleArn=arn:aws:iam::123456789012:role/StorageDriver'
   ```

1. Pod Identity の関連付けが作成されたことを確認します:

   ```
   aws eks list-pod-identity-associations --cluster-name <cluster-name>
   ```

   成功すると、次のような出力が表示されます。EKS アドオンの OwnerARN を書き留めます。

   ```
   {
       "associations": [
           {
               "clusterName": "mycluster",
               "namespace": "kube-system",
               "serviceAccount": "ebs-csi-controller-sa",
               "associationArn": "arn:aws:eks:us-west-2:123456789012:podidentityassociation/mycluster/a-4wvljrezsukshq1bv",
               "associationId": "a-4wvljrezsukshq1bv",
               "ownerArn": "arn:aws:eks:us-west-2:123456789012:addon/mycluster/aws-ebs-csi-driver/9cc7ce8c-2e15-b0a7-f311-426691cd8546"
           }
       ]
   }
   ```

# Amazon EKS アドオンから Pod Identity の関連付けを削除する
<a name="remove-addon-role"></a>

Amazon EKS アドオンから Pod Identity の関連付けを削除します。

1. 決定事項:
   +  `cluster-name` – アドオンをインストールする EKS クラスターの名前。
   +  `addon-name` – インストールする Amazon EKS アドオンの名前。

1. アドオンを更新して、Pod Identity の関連付けの空の配列を指定します。

   ```
   aws eks update-addon --cluster-name <cluster-name> \
   --addon-name <addon-name> \
   --pod-identity-associations "[]"
   ```

# EKS アドオンの Pod Identity のトラブルシューティング
<a name="addon-id-troubleshoot"></a>

AWS API、SDK、または CLI オペレーションの試行中にアドオンでエラーが発生した場合は以下を確認します：
+ Pod Identity エージェントがクラスター にインストールされている。
  + Pod Identity Agent のインストール方法については「[Amazon EKS Pod Identity エージェントのセットアップ](pod-id-agent-setup.md)」を参照してください。
+ アドオンに有効な Pod Identity の関連付けがある。
  + AWS CLI を使用して、アドオンで使用されるサービスアカウント名の関連付けを取得します。

    ```
    aws eks list-pod-identity-associations --cluster-name <cluster-name>
    ```
+ IAM ロールに、Pod Identity に必要な信頼ポリシーがある。
  + AWS CLI を使用して、アドオンの信頼ポリシーを取得します。

    ```
    aws iam get-role --role-name <role-name> --query Role.AssumeRolePolicyDocument
    ```
+ IAM ロールに、アドオンに必要な許可がある。
  + AWS クラウドTrail を使用して `AccessDenied` または `UnauthorizedOperation` イベントを確認します。
+ Pod Identity の関連付けのサービスアカウント名はアドオンで使用されるサービスアカウント名と一致している。
  + 利用可能なアドオンについては「[AWSアドオン](workloads-add-ons-available-eks.md)」を参照してください。
+ `pod-identity-webhook` という名前の MutatingWebhookConfiguration の設定を確認する。
  +  ウェブフックの `admissionReviewVersions` は `v1beta1` である必要があり、`v1` では機能しません。

# Amazon EKS アドオンのためにカスタマイズできるフィールドを決定する
<a name="kubernetes-field-management"></a>

アマゾン EKS アドオンは標準的なベストプラクティスによる設定を使用して、クラスターにインストールされます。Amazon EKS アドオンをクラスターに追加する方法については「[Amazon EKS アドオン](eks-add-ons.md)」を参照してください。

Amazon EKS アドオンの設定をカスタマイズすると、高度な機能を有効にすることが可能です。Amazon EKS は、Kubernetes サーバー側の適用機能を使用して、Amazon EKS で管理されていない (ユーザーによる) 設定の内容を上書きすることなく、Amazon EKS によるアドオンの管理を可能にします。詳細については、Kubernetes ドキュメントの「[Server Side Apply](https://kubernetes.io/docs/reference/using-api/server-side-apply/)」を参照してください。これを実現するために、Amazon EKS は、インストールするアドオンごとに最低限のフィールドセットを管理します。Amazon EKS や別の Kubernetes コントロールプレーンプロセス (`kube-controller-manager` など) によって管理されていないすべてのフィールドは、ユーザーが問題なく管理できます。

**重要**  
Amazon EKS で管理しているフィールドを変更すると、Amazon EKS がアドオンを管理できなくなるため、アドオンの更新時にユーザーによる変更が上書きされる可能性があります。

## フィールド管理構文
<a name="add-on-config-management-understanding-field-management"></a>

Kubernetes オブジェクトの詳細を表示すると、マネージド型フィールドとアンマネージド型フィールドの両方が出力に返されます。管理対象フィールドは、次のいずれかになります。
+  **完全マネージド型** - フィールドのすべてのキーは アマゾン EKS によって管理されます。このフィールドの値を変更すると、競合の原因となります。
+  **部分的マネージド型** - フィールドの一部のキーは アマゾン EKS によって管理されます。アマゾン EKS によって明示的に管理されているキーに対する変更のみが競合の原因となります。

どちらのタイプのフィールドも `manager: eks` でタグづけされています。

各キーはフィールド自体を表す `.` (これは常に空のセットがマッピングされます) であるか、またはサブフィールドまたは項目を表す文字列です。フィールドの管理状況の出力は以下のタイプの宣言で構成されます。
+  `f:name ` (*name* はリスト内のフィールドの名前)。
+  `k:keys ` (*keys* はリスト項目のフィールドのマップ)。
+  `v:value ` (*value* はリスト項目を正確な JSON 形式で記述した値)。
+  `i:index ` (*index* はリスト内の項目の位置)。

CoreDNS アドオン出力内で次に続く部分には、以前の宣言を表示します。
+  **フルマネージド型フィールド** — マネージド型フィールドに `f:` (フィールド) が指定されていますが、`k:`(キー) はありません。この場合は、フィールド全体が管理されています。このフィールドの値を変更すると、競合の原因となります。

  次の出力では`coredns` という名前のコンテナが、`eks` によって管理されていることがわかります。`args`、`image`、および `imagePullPolicy` サブフィールドも `eks` によって管理されています。このフィールドの値を変更すると、競合の原因となります。

  ```
  [...]
  f:containers:
    k:{"name":"coredns"}:
    .: {}
    f:args: {}
    f:image: {}
    f:imagePullPolicy: {}
  [...]
  manager: eks
  [...]
  ```
+  **部分的マネージド型キー** - マネージド型キーに値が指定されている場合、宣言されたキーはそのフィールドで管理されます。指定されたキーを変更すると、競合の原因となります。

  次の出力では`name` キーを使用する `eks` が、`config-volume` および `tmp` ボリュームセットを管理していることがわかります。

  ```
  [...]
  f:volumes:
    k:{"name":"config-volume"}:
      .: {}
      f:configMap:
        f:items: {}
        f:name: {}
      f:name: {}
    k:{"name":"tmp"}:
      .: {}
      f:name: {}
  [...]
  manager: eks
  [...]
  ```
+  **部分的マネージド型フィールドへのキーの追加** - 特定のキーバリューのみが管理されている場合であれば、競合を引き起こすことなく、引数などの追加のキーをフィールドに追加できます。キーを追加する場合はまず、そのフィールドがマネージド型でないことを確認してください。マネージド型の値を追加または変更すると、競合の原因となります。

  次の出力では`name` キーおよび `name` フィールドの両方が、マネージド型であることがわかります。コンテナ名を追加または変更すると、このマネージド型のキーとの競合が発生します。

  ```
  [...]
  f:containers:
    k:{"name":"coredns"}:
  [...]
      f:name: {}
  [...]
  manager: eks
  [...]
  ```

## 手順
<a name="view-field-management"></a>

`kubectl` を使用すると、任意の Amazon EKS アドオンについて、どのフィールドが Amazon EKS によって管理されているかを知ることができます。

Amazon EKS や別の Kubernetes コントロールプレーンプロセス (`kube-controller-manager` など) によって管理されていないすべてのフィールドは、ユーザーが問題なく管理できます。

1. 確認するアドオンを決定します。クラスターにデプロイされた `deployments` と DaemonSet をすべて表示するには、「[AWS マネジメントコンソール に Kubernetes リソースを表示する](view-kubernetes-resources.md)」を参照してください。

1. アドオンのマネージド型フィールドを表示するには、次のコマンドを実行します。

   ```
   kubectl get type/add-on-name -n add-on-namespace -o yaml
   ```

   たとえば、次のコマンドを使用すると、CoreDNS アドオンのマネージド型フィールドを表示できます。

   ```
   kubectl get deployment/coredns -n kube-system -o yaml
   ```

   フィールドの管理状態は返される出力の中の、次のセクションに記載されています。

   ```
   [...]
   managedFields:
     - apiVersion: apps/v1
       fieldsType: FieldsV1
       fieldsV1:
   [...]
   ```
**注記**  
出力に、`managedFields` が表示されない場合、`--show-managed-fields` をコマンドに追加し、もう一度実行してください。使用している `kubectl` のバージョンによって、管理フィールドがデフォルトで返されるかどうかが決まります。

## 次のステップ
<a name="view-field-management-next-steps"></a>

アドオンのために、AWS が所有していないフィールドをカスタマイズします。