AWS EKS 과금 방지 클린하게 관련 자원 삭제하기

최근 AWS EKS 교육을 통해 쿠버네티스를 공부한 후, AWS EKS를 생성하며 생겼던 EC2, 스택 등의 자원을 클린하게 지우기 위한 방법을 알아보도록 하겠습니다.

매번 AWS 테스트 후 과금이 되지 않도록 뒷마무리를 잘 해야하는데요, 할 때마다 버벅되는 감이 있어 오늘은 AWS EKS 테스트 후 자원을 클린하게 삭제하여 과금되지 않도록, 지워야 하는 요소요소를 정리해 보았습니다.

개개인마다 AWS 서비스를 통해 테스트하는 사항이나 교육 과정도 다르므로, 잘 삭제가 안되거나 빠진 것으로 인해 과금이 될 때 참고의 용도로 보시면 될 거 같습니다.

쿠버네티스 서비스 삭제하기

우선 테스트 혹은 교육은 kubectl CLI를 통해 보통 진행하므로 관련 서비스를 CLI를 통해 내려줍니다.

쿠버네티스 앱 Deployment 삭제

delete 명령어를 통해 서비스를 삭제해 줍니다. 보통 삭제되는데 시간이 좀 소요 됩니다.

kubectl delete -f deploymemt.yaml

Service 삭제

서비스 주소나 Load Balance 등을 사용하게 되므로 Service 역시 삭제해 줍니다.

kubectl delete -f service.yaml

그 외에 persistentvolume이나 persistentvolumeClaim 있다면 모두 삭제해줍니다.

kubectl.exe get deployments

No resources found in default namespace.

EFS 시스템 삭제

제가 배운 과정의 경우 EFS 파일 시스템을 볼륨으로 사용했기 때문에 해당 EFS 파일 시스템을 삭제하였습니다.

AWS EFS 파일 시스템 삭제

EC2 서비스의 삭제

AWS EKS 의 경우, 기본적으로 EC2 인스턴스를 워커 노드만큼 사용하게 되므로 연결되어 있는 EC2 서비스 역시 삭제해주어야 합니다.

인스턴스 선택 > 중지 후 > 종료

EC2 인스턴스 삭제

저 같은 경우 종료하게 되면 계속 인스턴스가 살아나게 되어서, 처음에는 2개의 노드였던 것이 계속 재실행되는 상황이 생겼습니다.

이게 좀비처럼 계속 살아나는 느낌….원인을 찾다보니, AWS EKS 활성화시 auto scaling이 함께 생성이 되었기 때문에 계속 살아나는 현상이었습니다.

관련 링크 : 종료된 EC2 인스턴스가 다시 시작된 이유 확인 | AWS re:Post (repost.aws)

그래서 먼저 Auto Scaling을 삭제해 주고 EC2 삭제를 진행하니 더 이상 생기지 않고 정상적으로 종료가 되었습니다.

EC2 대시보드 > Auto Scaling 그룹 > 삭제

auto scaling 삭제

스택 삭제

이제 관련된(dependent) 서비스는 지워진 거 같아서, 마지막으로 스택을 삭제하기 위해서 Cloud Formation 서비스로 들어갑니다.

Cloud Formation 에서 스택 삭제

스택을 선택한 후 삭제를 진행합니다.

스택 삭제

스택의 경우 시간이 좀 걸리는 작업인데다, 저같은 경우에는 /인터넷 게이트웨이 / 삭제에서 실패가 계속 나서 삭제에 많은 시간을 사용했습니다.

그래서 리소스 탭을 통해서 인터넷 게이트웨이 서비스로 들어간 후 해당 서비스를 먼저 삭제하니 스택이 삭제되었습니다.

스택 이벤트, 리소트 탭 로그 확인하기

스택 삭제 시에는 이벤트 및 리소스 탭의 로그를 함께 보면서 진행하는 것이 좋은데, 거기에서 왜 스택 삭제가 실패하는지 확인할 수 있기 때문입니다.

(포스팅 2일 후 내용 추가)
※ 분명히 작성했는데, 실제 포스팅 올린 내용에는 후반이 빠져 있네요. 아래 내용이 누락되어 추가합니다.

AWS EKS 클러스터 삭제

가장 마지막으로 AWS EKS를 삭제해 주어야 합니다.

AWS EKS 서비스 선택 > 클러스터  

우선 AWS EKS 에 연결된 노드 그룹과의 관계를 끊어주어야 하므로 노드 그룹을 먼저 삭제해 줍니다.

노드 그룹의 삭제

노드 그룹을 삭제하기 위해서는 위의 AWS ESK 클러스터 목록에서 다음과 같이 들어갑니다.

클러스터 > 클러스터 이름 클릭 > 컴퓨팅 메뉴 > 노드 그룹 삭제

노드 그룹 삭제

해당 노드 그룹 /삭제/를 진행합니다.

AWS EKS 삭제

노드 그룹까지 삭제가 되면, 이제 최종 클러스터까지 삭제하면 됩니다.

aws EKS 서비스 삭제

이상으로 AWS EKS 활성화 후 자원을 클린하게 지우기 위한 방법을 알아보았는데요, 과금이 걱정되어 클린하게 하고자 할 때 참고하시기 바랍니다.

그 밖에 도움 되는 글

AWS 라이트세일 Docker 개발 환경 Todo(2023)

윈도우 WSL2 Docker 개발 환경,리액트+Node.js 핫리로디드 요약(2023)

AWS 계정 해지 하는 방법(2023 기준)