Infra/DevOps
[eks] An error occurred (AccessDeniedException) when calling the DescribeCluster operation
하우아유두잉
2023. 3. 22. 18:43
요즘 aws eks 인프라 구축을 하고있다.
local에서 kubectl을 통해 직접 node/pod에 접근하지 않고, 퍼블릭 영역에 중개 서버를 두고 통해서 접근을 하고자 한다.
그래서
private subnet 영역에 eks cluster를 세팅하고,
public subnet에 중개 서버(ec2 instance)를 두었다.
그 과정에서, 중개서버에서 eks-cluster를 연결하려고 하는데 아래와 같은 에러가 발생 했다.
명령어: $ aws eks update-kubeconfig --name <클러스터명> --region <리전명>
에러 코드:
An error occurred (AccessDeniedException) when calling the DescribeCluster operation: User: arn:aws:sts::0000:assumed-role/test-iam-role-ec2-instance/...
한마디로 클러스터 접근 거부를 당했고, IAM role 수정이 필요했다.
그래서 아래와 같이 AmazonEKSWorkerNodePolicy 정책을 추가했다.
...
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
}
}
],
"Version": "2012-10-17"
}
...
# 추가
resource "aws_iam_role_policy_attachment" "test-iam-role" {
policy_arn = "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy" # <--
role = aws_iam_role.test-iam-role-ec2-instance-bastion.name
}
업데이트 후 다시 테스트 해보니 정상 동작한다.
Added new context arn:aws:eks:...