IRSA (IAM roles for service accounts) 체크
AWS EKS 에서 클러스터를 운영하다보면, 서비스 개발자 분들에게 이런 질문을 많이 받아요. "IAM Role에는 권한이 있는 것 같은데, 서버 로그에 Access Denied 가 떠요!" 하고.. 그럴 땐 1. Pod에 IRSA가 제대로 설정되어 있지 않아서 2. IRSA Role은 잘 할당되었지만, 필요한 Policy가 IRSA IAM Role에 포함되어 있지 않아서 3. Application 이 https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts-minimum-sdk.html 보다 낮은 AWS SDK 를 사용해서 web identity token file 에서 Role을 셋업하지 못해서 4. Application에서 Pod에 할당된 IAM Role을 사용하지 않아서, 와 같은 문제들이 발생하는데, 1번 내용을 확인하기 위해서 링크한 것과 같이 aws-iam-tester 라는 이름으로 대상 namespace, serviceaccount를 사용해서 deployment를 띄우고 ``` $ aws sts get-caller-identity ``` 로 IAM Role이 Pod에 잘 binding 되었는지 확인해요. 여기서 문제가 없다면, 2번 확인을 위해 AWS CLI 를 사용해서 Policy를 테스트해봐요. 2번까지 문제가 없다면 3번 확인을 요청드리고, .. 보통 3번까지에서 대부분 해결되는 편인 것 같아요.