このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? すべてのページの右側のペインにある GitHub リンクで、このページの編集を選択してください。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
Amazon EKS クラスターの IAM ロールは各クラスターに必要です。Amazon EKS によって管理される Kubernetes クラスターはこのロールを使用してノードを管理し、レガシークラウドプロバイダー
Amazon EKS クラスターを使用するには、事前に次の IAM ポリシーのいずれかを持つ IAM ロールを作成する必要があります。
-
カスタム IAM ポリシー。以下の最小限の許可では、Kubernetes クラスターがノードを管理することはできますが、レガシークラウドプロバイダー
が Elastic Load Balancing によるロードバランサーを作成することはできません。カスタム IAM ポリシーには、少なくとも以下の許可が必要です。 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "ForAnyValue:StringLike": { "aws:TagKeys": "kubernetes.io/cluster/*" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeAvailabilityZones", "ec2:DescribeInstanceTopology", "kms:DescribeKey" ], "Resource": "*" } ] }
注記
2023 年 10 月 3 日より前は、各クラスターの IAM ロールには AmazonEKSClusterPolicy が必要でした。
2020 年 4 月 16 日までは、AmazonEKSServicePolicy および AmazonEKSClusterPolicy が必須であり、ロールに推奨される名前は eksServiceRole
でした。AWSServiceRoleForAmazonEKS
のサービスにリンクされたロールにより、2020 年 4 月 16 日以降に作成されたクラスターに対しては、AmazonEKSServicePolicy ポリシーは必要なくなりました。
既存のクラスターロールの確認
次の手順を使用して、アカウントに Amazon EKS クラスターロールが既に存在しているかどうかを確認できます。
-
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
左のナビゲーションペインで、[ロール] を選択します。
-
ロールのリストで
eksClusterRole
を検索します。eksClusterRole
が含まれているロールが存在しない場合は、Amazon EKS でのクラスターロールの作成 を参照してロールを作成します。eksClusterRole
が含まれているロールが存在する場合は、このロールを選択してアタッチされているポリシーを表示します。 -
[許可] を選択します。
-
AmazonEKSClusterPolicy 管理ポリシーがロールにアタッチされていることを確認します。ポリシーがアタッチされている場合、Amazon EKS クラスターロールは適切に設定されています。
-
[Trust relationships] (信頼関係) を選択し、[Edit trust policy] (信頼ポリシーの編集) を選択します。
-
信頼関係に以下のポリシーが含まれていることを確認します。信頼関係が以下のポリシーと一致する場合、[キャンセル] を選択します。信頼関係が一致しない場合、ポリシーを [信頼ポリシーの編集] ウィンドウにコピーし、[ポリシーの更新] を選択します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Amazon EKS でのクラスターロールの作成
クラスターロールを作成するには、AWS Management Console または AWS CLI を使用できます。
- AWS Management Console
-
-
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
[ロール] を選択してから [ロールの作成] を選びます。
-
[信頼できるエンティティタイプ] の下で、[AWS サービス] を選択します。
-
[他の AWS サービスのユースケース] ドロップダウンリストから、[EKS] を選択します。
-
ユースケースに [EKS - Cluster] (EKS - クラスター) を選択し、[Next] (次へ) を選択します。
-
[Add permissions] (アクセス許可を追加する) タブで、[Next] (次へ) を選択します。
-
[ロール名] に、
eksClusterRole
などのロールの一意の名前を入力します。 -
[Description] (説明) には、
Amazon EKS - Cluster role
のような説明文を入力します。 -
[ロールの作成] を選択します。
-
- AWS CLI
-
-
次の内容を
cluster-trust-policy.jsonl
という名前のファイルにコピーします。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
ロールを作成します。
eksClusterRole
は、任意の名前で置き換えることができます。aws iam create-role \ --role-name eksClusterRole \ --assume-role-policy-document file://"cluster-trust-policy.json"
-
必要な IAM ポリシーをロールにアタッチします。
aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name eksClusterRole
-