Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Amazon EKS ノードの IAM ロール

フォーカスモード
Amazon EKS ノードの IAM ロール - Amazon EKS

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

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

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

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

Amazon EKS ノード kubelet デーモンが、ユーザーに代わって AWS API への呼び出しを実行します。ノードは、IAM インスタンスプロファイルおよび関連ポリシーを通じて、これらの API コールのアクセス許可を受け取ります。ノードを起動してクラスターに登録する前に、起動するときに使用するノード用の IAM ロールを作成する必要があります。この要件は、Amazon が提供する Amazon EKS 最適化 AMI で起動されたノード、または使用する予定の他のノード AMI で起動されたノードに適用されます。さらに、この要件はマネージド型ノードグループとセルフマネージド型ノードの両方に適用されます。

注記

クラスターの作成に使用したロールは使用できません。

ノードを使用するには、次の アクセス許可を持つ IAM ロールを作成する必要があります。

  • kubelet が VPC 内の Amazon EC2 リソースを記述するためのアクセス許可 (AmazonEKSWorkerNodePolicy ポリシーで規定されているなど)。このポリシーは、Amazon EKS Pod Identity エージェントのアクセス許可も提供します。

  • kubelet が Amazon Elastic Container Registry (Amazon ECR) のコンテナイメージを使用するためのアクセス許可 (AmazonEC2ContainerRegistryPullOnly ポリシーで規定されているなど)。ネットワーキング用の組み込みアドオンは Amazon ECR のコンテナイメージを使用するポッドを実行するため、Amazon Elastic Container Registry (Amazon ECR) のコンテナイメージを使用する許可が必要です。

  • (オプション) Amazon EKS Pod Identity エージェントが eks-auth:AssumeRoleForPodIdentity アクションを使用してポッドの認証情報を取得するためのアクセス許可。AmazonEKSWorkerNodePolicy を使用しない場合、EKS Pod Identity を使用するには EC2 アクセス許可に加えてこのアクセス許可も提供する必要があります。

  • (任意) IRSA または EKS Pod Identity を使用して VPC CNI ポッドにアクセス許可を付与しない場合は、インスタンスロールで VPC CNI のアクセス許可を付与する必要があります。AmazonEKS_CNI_Policy マネージドポリシー (IPv4 ファミリーを使用してクラスターを作成した場合) または作成した IPv6 ポリシー (IPv6 ファミリーを使用してクラスターを作成した場合) のいずれかを使用できます。ただし、このロールにポリシーをアタッチするのではなく、Amazon VPC CNI アドオン専用の別のロールにポリシーをアタッチすることをお勧めします。Amazon VPC CNI アドオン用に別のロールを作成する方法の詳細については、「IRSA を使用するように Amazon VPC CNI プラグインを設定する」を参照してください。

注記

Amazon EC2 ノードグループには、Fargate プロファイルとは異なる IAM ロールが必要です。詳細については「Amazon EKS Pod 実行 IAM ロール」を参照してください。

既存のノードロールの確認

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

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

  2. 左のナビゲーションペインで、[ロール] を選択してください。

  3. ロールのリストで eksNodeRoleAmazonEKSNodeRole、または NodeInstanceRole を検索します。これらの名前のいずれかを持つロールが存在しない場合、「Amazon EKS ノードでの IAM ロールの作成」を参照してロールを作成してください。eksNodeRoleAmazonEKSNodeRole、あるいは NodeInstanceRole を含むロールが存在する場合、そのロールを選択して、アタッチされているポリシーを表示します。

  4. [許可] を選択してください。

  5. AmazonEKSWorkerNodePolicy および AmazonEC2ContainerRegistryPullOnly のマネージドポリシーがロールにアタッチされていること、またはカスタムポリシーが最小限の許可でアタッチされていることを確認します。

    注記

    そのロールに [AmazonEKS_CNI_Policy] ポリシーがアタッチされている場合は、そのポリシーを一度削除して、aws-node Kubernetes サービスアカウントにマッピングされた IAM ロールにアタッチし直すことをお勧めします。詳細については「IRSA を使用するように Amazon VPC CNI プラグインを設定する」を参照してください。

  6. [信頼関係] を選択し、[信頼ポリシーの編集] を選択します。

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

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

Amazon EKS ノードでの IAM ロールの作成

AWS Management Console または AWS CLI を使用して、ノードの IAM ロールを作成できます。

AWS Management Console
  1. IAM コンソール のhttps://console.aws.amazon.com/iam/ 開きます

  2. 左のナビゲーションペインで、[ロール] を選択してください。

  3. [ロール] ページで、[ロールの作成] を選択してください。

  4. [信頼されたエンティティを選択] ページで、以下の操作を実行します。

    1. [信頼するエンティティのタイプ][AWS サービス] を選択してください。

    2. [ユースケース] で、[EC2] を選択してください。

    3. [ 次へ] を選択してください。

  5. [アクセス許可を追加] ページで、カスタムポリシーをアタッチするか、以下の操作を行います。

    1. [フィルタポリシー] ボックスに AmazonEKSWorkerNodePolicy と入力します。

    2. 検索結果の [AmazonEKSWorkerNodePolicy] の左にあるチェックボックスを選択します。

    3. [フィルターのクリア] を選択します。

    4. [フィルタポリシー] ボックスに AmazonEC2ContainerRegistryPullOnly と入力します。

    5. 検索結果の [AmazonEC2ContainerRegistryPullOnly] の左にあるチェックボックスを選択します。

      このロールまたは aws-node Kubernetes サービスアカウントにマッピングされた別のロールに、AmazonEKS_CNI_Policy マネージドポリシーまたは作成した IPv6 ポリシーをアタッチする必要もあります。このロールに対してではなく、Kubernetes サービスアカウントに関連付けられたロールに、前出のポリシーを割り当てることをお勧めします。詳細については「IRSA を使用するように Amazon VPC CNI プラグインを設定する」を参照してください。

    6. [ 次へ] を選択してください。

  6. [名前を付けて、レビューし、作成する] ページで、以下の操作を実行します。

    1. [ロール名] に、AmazonEKSNodeRole などのロールの一意の名前を入力します。

    2. [説明] では現在のテキストを「Amazon EKS - Node role」などの説明文に置き換えます。

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

    4. [ロールの作成] を選択してください。

AWS CLI
  1. 次のコマンドを実行して、node-role-trust-relationship.json ファイルを作成します。

    cat >node-role-trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "ec2.amazonaws.com" ] } } ] } EOF
  2. IAM ロールを作成します。

    aws iam create-role \ --role-name AmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-relationship.json"
  3. IAM ロールに、2 つの必須なマネージド IAM ポリシーをアタッチします。

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name AmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly \ --role-name AmazonEKSNodeRole
  4. クラスターを作成した IP ファミリーに応じて、次の IAM ポリシーの 1 つを IAM ロールにアタッチします。このポリシーは、このロール、または、Kubernetes の aws-node サービスアカウントに関連付けられたロールにアタッチされる必要があります。これらのロールは、Amazon VPC CNI plugin for Kubernetes で使用されます。このポリシーは、Kubernetes サービスアカウントに関連付けられたロールにを割り当てることをお勧めします。Kubernetes サービスアカウントに関連付けられたロールへのポリシーの割り当てについては、「IRSA を使用するように Amazon VPC CNI プラグインを設定する」を参照しください。

    • IPv4

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name AmazonEKSNodeRole
    • IPv6

      1. 次のテキストをコピーし、vpc-cni-ipv6-policy.json という名前のファイルに保存します。

        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignIpv6Addresses", "ec2:DescribeInstances", "ec2:DescribeTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeInstanceTypes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] } ] }
      2. IAM ポリシーを作成する

        aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
      3. IAM ロールに IAM ポリシーをアタッチします。111122223333 は、ご自分のアカウント ID に置き換えます。

        aws iam attach-role-policy \ --policy-arn arn:aws:iam::111122223333:policy/AmazonEKS_CNI_IPv6_Policy \ --role-name AmazonEKSNodeRole

このページの内容

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.