[패스트캠퍼스 챌린지 19일차] '76가지 DevOps 모의 실무 예제: AWS 기반 인프라 구축부터 재해복구, 보안까지' 강의 후기 본문
[패스트캠퍼스 챌린지 19일차] '76가지 DevOps 모의 실무 예제: AWS 기반 인프라 구축부터 재해복구, 보안까지' 강의 후기
ITst 2025. 4. 19. 23:16본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
※ 챌린지 URL: https://abit.ly/lisbva

AWS에서 EKS 클러스터를 생성하는 방법에 대해 학습하며, 클라우드 환경에서 쿠버네티스를 운영하는 다양한 접근 방식을 다시금 확인할 수 있었다. GUI 환경에서 수동으로 생성할 수도 있고, 코드 기반으로 자동화하여 구성할 수도 있는데, 어떤 도구를 선택하느냐는 개인의 선호뿐만 아니라 조직의 운영 방식, 자동화 수준, 그리고 관리 효율성에 따라 달라진다.
콘솔에서 EKS 클러스터를 생성하는 방법은 직관적이긴 하나, 운영 환경에서는 일관성과 재현성을 보장하기 어렵다. 수동 작업에는 오류 가능성이 내포되어 있으며, 동일한 구성을 반복적으로 생성하는 데에는 한계가 있기 때문이다. 이러한 문제를 해결하기 위해 IaC(Infrastructure as Code) 방식이 필요하고, 현재 업계에서는 다양한 도구들이 이를 지원하고 있다.
CDK나 Terraform처럼 코드로 인프라를 정의하는 방식은 물론, eksctl처럼 비교적 간단한 커맨드 기반 도구도 존재한다. CDK는 프로그래밍 언어를 활용해 인프라를 정의할 수 있어 유연성과 확장성이 뛰어나고, Terraform은 현재 가장 널리 사용되는 IaC 도구로, 모듈화와 커뮤니티 지원이 매우 잘 되어 있다는 점에서 실무 적용성이 높다.
개인적으로는 eksctl의 간결함이 인상 깊었다. YAML 파일 하나로 클러스터 설정을 정의하고 eksctl create cluster -f cluster.yaml 명령어 한 줄로 클러스터를 생성할 수 있다는 점에서 실습 환경이나 테스트 환경을 구성할 때 유용하게 사용할 수 있을 것으로 보인다.
Terraform 기반의 구성은 아무래도 실무 적용을 염두에 두고 있는 만큼 준비 단계가 다소 복잡했다. AWS 계정 및 사용자 설정부터 시작해, tfstate 저장을 위한 S3 버킷 구성, 서브넷 및 NAT Gateway, IGW 설정 등 인프라 요소들을 세부적으로 구성해야 했다. 이러한 과정을 통해 실제 환경과 유사한 구조를 구성할 수 있다는 점은 분명한 장점이었다.
특히, tfstate 파일을 로컬이 아닌 S3에 저장하고 버저닝을 활성화하여 관리하는 방식은 협업과 버전 추적 측면에서 매우 유용하다고 느꼈다. 이는 나중에 CI/CD 파이프라인과 연계될 때 안정적인 인프라 배포를 위한 기반이 되기 때문이다.
이번 실습에서는 fast-vpc라는 이름의 VPC를 구성하고, 가용 영역을 고려해 퍼블릭/프라이빗 서브넷을 이중화하여 설정했다. AWS CLI를 활용한 프로파일 관리도 함께 진행하면서, 보다 명확하게 권한을 분리하고, 계정 환경을 구분해 운영할 수 있는 기반을 마련했다.
정리하자면, EKS 클러스터를 구성하는 방법은 콘솔을 통한 수동 방식부터 eksctl, CDK, Terraform과 같은 자동화 도구까지 다양하게 존재하며, 각각의 도구는 추상화 수준과 적용 범위에 따라 장단점을 갖고 있다. 단순 실습이나 테스트에는 eksctl이 적합할 수 있고, 실제 운영 환경에서는 Terraform을 통해 구조화된 배포 환경을 갖추는 것이 바람직하다고 판단된다.
이번 학습을 통해 기술의 습득도 중요하지만, 그보다 인프라를 어떻게 관리하고 자동화할 수 있을지를 고민하는 역량이 클라우드 환경에서는 더욱 중요하다는 점을 다시 한번 느끼게 되었다. 다음에는 이 클러스터 위에 실제 워크로드를 배포하고 운영하는 방식, 그리고 그에 대한 모니터링 및 로깅 체계를 함께 살펴볼 계획이다.


