ポッド実行ロール - Amazon EKS

ポッド実行ロール

ポッドを 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 ポッドで実行されているコンテナは、ポッドの実行ロールに関連付けられた 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 Relationship]、[Edit Trust Relationship] を選択します。

  7. 信頼関係に以下のポリシーが含まれていることを確認します。信頼関係が以下のポリシーと一致する場合、[Cancel] を選択します。信頼関係が一致しない場合、ポリシーを [Policy Document] ウィンドウにコピーし、[Update Trust 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. サービスのリストから [EKS] を選択し、ユースケースに合った [EKS - Fargate pod] を選択して、[Next: Permissions (次へ: アクセス許可)] を選択します。

  4. [次へ: タグ] を選択します。

  5. (オプション) タグをキーと値のペアとしてアタッチして、メタデータをロールに追加します。IAM でのタグの使用の詳細については、IAM ユーザーガイドの「IAM リソースのタグ付け」を参照してください。

  6. [Next: Review] を選択します。

  7. [ロール名] に、ロールの一意の名前 (AmazonEKSFargatePodExecutionRole など) を入力し、[ロールの作成] を選択します。