❗️문제 상황
k8s Ingress를 AWS ALB를 통해 만들기 위해 eksctl CLI를 사용해 설정을 진행하던 도중 다음과 같은 오류가 발생하였다
iam user가 인증되지 않았다는 것이다
그런데 문제는 해당 user는 현재 내가 등록한 Iam user와는 다른 user였다.
우선 해당 user는 이전 프로젝트에서 사용하던 user이다. 그런데 왜 갑자기 현재 연결된 user가 아니라 다른 user가 나온것일까?
💡 원인 파악 및 해결 과정
알고보니 이전 프로젝트를 할 때 내 컴퓨터에 환경변수로 AWS_ACCESS_KEY, AWS_SECRET_KEY를 등록해놨었다.
eksctl이 해당 환경변수를 기본값으로 인식하고 사용하는 것이 아닐까하는 생각이 들었다.
그래서 관련 레퍼런스를 찾다 다음과 같은 내용을 발견했다.
역시 생각대로 해당 환경변수를 우선적으로 사용하여 AWS 서비스를 호출한다는 것이었다.
해당 환경변수를 제거하면 문제가 말끔히 해결되지만 아직 저 환경변수를 사용해야하기 때문에 그럴 순 없었고 대안으로 프로필을 지정하는 방식을 선택하였다.
보통 aws cli로 aws 계정에 접근할 때 aws configure 명령어를 사용하는데 그때 --profile 옵션을 주는 것이다.
참고로 프로필 옵션을 주지 않으면 default로 지정된다.
aws configure --profile <프로필이름>
이렇게 등록을 한뒤 eksctl 명령어를 칠 때, 똑같이 --profile 옵션을 주면 된다.
eksctl <실행시키고 싶은 명령어> --profile <프로필명>
✅ 정리
이전 프로젝트 때 편리함을 위해 내 컴퓨터에 환경변수를 등록해서 사용했었는데 이게 이런식으로 문제가 될줄은 상상도 못했었다.
앞으로는 내 컴퓨터에 환경변수를 등록하지 말고 별도의 파일을 통해 관리를 해야겠다.