EKS クラスターでサービスアカウント (IRSA) の IAM ロールを有効にする
サービスアカウントの IAM ロール機能は、Amazon EKS バージョン 1.14 以降、および 2019 年 9 月 3 日以降にバージョン1.13 に更新された EKS クラスターで利用できます。この機能を使用するために、既存の EKS クラスターをバージョン 1.14 以降に更新できます。詳細については、「Amazon EKS クラスターの Kubernetes バージョンの更新」を参照してください。
クラスターがサービスアカウントの IAM ロールをサポートしている場合、OpenID Connect
重要
このコマンドで適切な出力を得るには、AWS CLI の最新バージョンを使用する必要があります。
aws eks describe-cluster --name
cluster_name
--query "cluster.identity.oidc.issuer" --output text
予想される出力は次のようになります。
https://oidc.eks.<region-code>.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E
クラスターでサービスアカウントの IAM ロールを使用するには、eksctl または AWS Management Console のいずれかを使用して OIDC ID プロバイダーを作成する必要があります。
eksctl
を使用してクラスターの IAM OIDC ID プロバイダーを作成するには
以下のコマンドを使用して、eksctl
のバージョンを確認します。この手順では、eksctl
をインストール済みで、お使いの eksctl
のバージョンが 0.32.0 以上であることを前提としています。
eksctl version
eksctl のインストールまたはアップグレードの詳細については、「eksctl のインストールまたはアップグレード」を参照してください。
次のコマンドを使用して、クラスターの OIDC ID プロバイダーを作成します。cluster_name
は、独自の値に置き換えてください。
eksctl utils associate-iam-oidc-provider --cluster
cluster_name
--approve
AWS Management Console を使用してクラスターの IAM OIDC プロバイダーを作成するには
クラスターの Amazon EKS コンソールの説明から OIDC 発行者 URL を取得するか、次の AWS CLI コマンドを使用します。
次のコマンドを使って、AWS CLI から OIDC 発行者 URL を取得します。
aws eks describe-cluster --name <cluster_name> --query "cluster.identity.oidc.issuer" --output text
次の手順に従って、Amazon EKS コンソールから OIDC 発行者 URL を取得します。
-
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで、[ID プロバイダー] を選択し、[プロバイダーの作成] をクリックします。
-
[プロバイダーのタイプ] で [Choose a provider type] を選択してから、[OpenID Connect] を選択します。
-
Provider URL に、クラスターの OIDC 発行者 URL を貼り付けます。
-
[対象者] に、「sts.amazonaws.com」と入力し、[次のステップ] を選択します。
-
-
プロバイダー情報が正しいことを確認し、[作成] を選択して ID プロバイダーを作成します。