IAMポリシーの問題
このセクションでは、AWS Load Balancer Controllerがアプリケーションロードバランサーを作成・管理するために必要なIAMアクセス許可がないという問題に対処します。IAMポリシー設定の問題を特定して修正する手順を説明します。
ステップ1:サービスアカウントのロールを特定する
まず、Load Balancer Controllerが使用しているサービスアカウントを調べます。コントローラーはAWS API呼び出しを行うためにIAM Roles for Service Accounts (IRSA)を使用しています:
~$kubectl get serviceaccounts -n kube-system -l app.kubernetes.io/name=aws-load-balancer-controller -o yaml
出力例:
~/environment/eks-workshop/modules/troubleshooting/alb/files/iam_issue_service_account_role.yaml
apiVersion: v1
items:
- apiVersion: v1
automountServiceAccountToken: true
kind: ServiceAccount
metadata:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::xxxxxxxxxxxx:role/alb-controller-20240611131524228000000002
meta.helm.sh/release-name: aws-load-balancer-controller
meta.helm.sh/release-namespace: kube-system
creationTimestamp: "2024-06-11T13:15:32Z"
labels:
app.kubernetes.io/instance: aws-load-balancer-controller
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: aws-load-balancer-controller
app.kubernetes.io/version: v2.7.1
helm.sh/chart: aws-load-balancer-controller-1.7.1
name: aws-load-balancer-controller-sa
namespace: kube-system
resourceVersion: "4950707"
uid: 6d842045-f2b4-4406-869b-f2addc67ff4d
kind: List
metadata:
resourceVersion: ""
A
eks.amazonaws.com/role-arn:このタグは、正しい権限が必要なAIMロールを参照しています。