Amazon EKS ポッド実行 IAM ロール - Amazon EKS

Amazon EKS ポッド実行 IAM ロール

ポッドを AWS Fargate インフラストラクチャで実行するために、Amazon EKS ポッド実行ロールが必要になります。

クラスターが AWS Fargate インフラストラクチャ上にポッドを作成する場合、そのインフラストラクチャで実行されコンポーネントは、ユーザーに代わり AWS API の呼び出しを行う必要があります。この API により、Amazon ECR からのコンテナイメージの取得や、他の AWS のサービスへのログのルーティングなどが処理されます、Amazon EKS のポッド実行ロールにより、これらを行うための IAM アクセス許可が付与されます。

Fargate プロファイルを作成する際には、プロファイルを使用して Fargate インフラストラクチャで実行される Amazon EKS コンポーネントのために、ポッド実行ロールを指定する必要があります。このロールは、承認のためにクラスターの Kubernetes ロールベースのアクセスコントロール (RBAC) に追加されます。それにより、Fargate インフラストラクチャで実行されている kubelet が Amazon EKS クラスターに登録されます。これにより、Fargate インフラストラクチャがクラスター内でノードとして表示されるようになります。

注記

Fargate プロファイルには、Amazon EC2 ノードグループとは異なる IAM ロールが必要です。

Fargate ポッドで実行されているコンテナは、ポッドの実行ロールに関連付けられた IAM アクセス許可を引き受けることはできません。Fargate ポッド内のコンテナに他の AWS のサービスへのアクセス許可を付与するには、サービスアカウントの IAM ロール を使用する必要があります。

Fargate プロファイルを作成する前に、次の IAM ポリシーで IAM ロールを作成する必要があります。

既存のポッド実行ロールの確認

以下の手順を使用して、アカウントにすでに Amazon EKS のポッド実行ロールがあるかどうかを確認できます。

IAM コンソールで AmazonEKSFargatePodExecutionRole を確認するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. 左のナビゲーションペインで、[Roles (ロール)] を選択します。

  3. ロールのリストで AmazonEKSFargatePodExecutionRole を検索します。ロールが存在しない場合は、「Amazon EKS でのポッド実行ロールの作成」を参照してロールを作成します。ロールが存在する場合は、そのロールを選択して、アタッチされているポリシーを表示します。

  4. [Permissions (アクセス許可)] を選択します。

  5. AmazonEKSFargatePodExecutionRolePolicy Amazon マネージドポリシーがロールにアタッチされていることを確認します。ポリシーがアタッチされている場合、Amazon EKS のポッド実行ロールは適切に設定されています。

  6. [Trust relationships] (信頼関係) を選択し、[Edit trust policy] (信頼ポリシーの編集) を選択します。

  7. 信頼関係に以下のポリシーが含まれていることを確認します。信頼関係が以下のポリシーと一致する場合、[Cancel] (キャンセル) を選択します。信頼関係が一致しない場合、ポリシーを [Edit trust policy] (信頼ポリシーの編集) ウィンドウにコピーし、[Update policy] (ポリシーの更新) を選択します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Amazon EKS でのポッド実行ロールの作成

アカウントにまだ Amazon EKS ポッド実行ロールがない場合は、以下の手順によりポッド実行ロールを作成することができます。

AWS Management Console を使用して AWS Fargate ポッド実行ロールを作成する

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [ロール] を選択してから [ロールの作成] を選びます。

  3. [Use case] (ユースケース) で、[Use cases for other AWS services] (その他のユースケース AWS サービス) のサービスリストから EKS を選択します。

  4. ユースケースに [EKS - Fargate pod] (EKS - Fargate ポッド) を選択し、[Next] (次へ) を選択します。

  5. [Add permissions] (アクセス許可を追加する) タブで、[Next] (次へ) を選択します。

  6. [ロール名] にロールの一意の名前 (AmazonEKSFargatePodExecutionRole など) を入力します。

  7. [Description] (説明) では、現在のテキストを「Amazon EKS - Pod execution role」などの説明文に置き換えます。

  8. [ロールの作成] を選択します。