
AWS EKS에서 Terraform으로 CoreDNS 성능 저하 원인과 해결법

AWS EKS에서 Terraform으로 CoreDNS를 배포하다 보면 예상치 못한 성능 저하를 경험하는 일이 종종 있습니다. 이 글에서는 2025년 최신 사례를 바탕으로, 그 원인을 분석하고 실제 해결 방법을 실무적으로 제시합니다. 모니터링 팁은 물론, 설정 체크리스트, 최신 CoreDNS 업그레이드 소식까지 모두 담았습니다. 인프라 엔지니어, DevOps 전문가, 그리고 Kubernetes를 실무에서 다뤄본 분들이라면 꼭 읽어야 할 내용입니다.
CoreDNS란? 그리고 왜 성능 저하가 생길까
CoreDNS는 Kubernetes 클러스터 안에서 "서비스 검색"의 핵심 역할을 맡는 DNS 서버입니다. 그런데, 리소스가 부족하거나 설정이 잘못되어 있으면 평소엔 잘 돌아가던 CoreDNS가 갑자기 느려지거나 장애를 일으킬 수 있습니다. 특히 Terraform으로 EKS를 자동 구축할 때, 설정 불일치 등으로 문제 발생 가능성이 높아집니다. 성능 저하는 서비스 전체 응답 지연으로 이어져 사용자 경험에도 직격탄! 바로 이 부분이 실무에서 가장 골치 아픈 포인트죠.
EKS와 Terraform 연동 시 자주 발생하는 CoreDNS 고유 이슈
AWS EKS와 Terraform의 궁합은 대부분 훌륭하지만, CoreDNS에는 몇 가지 함정이 있습니다. 대표적으로,
Terraform으로 자동 배포했을 때 CoreDNS replica 수(파드 개수)가 기본값(2)에서 변경되지 않아 트래픽 급증 시 병목이 생깁니다.
Security Group 및 VPC DNS 설정이 꼬이면 외부 DNS 질의가 느려지거나 아예 먹통이 될 수 있습니다.
EKS 버전 또는 CoreDNS 공식 지원 버전이 맞지 않으면, 설정 키워드 변경이나 deprecated 옵션으로 인해 부팅 자체가 실패합니다.
이 문제들은 눈에 띄게 로그에 드러나지 않고, 클러스터 내부 DNS 타임아웃 현상으로만 결과가 나타나서 진단이 더 어렵죠.
실환경에서 가능한 CoreDNS 성능 저하 원인 체크리스트
실제 현장에서는 구체적으로 무엇을 점검해야 할까요? 이런 항목들을 빠르게 체크해보세요.
Node 리소스 부족: CPU/메모리가 부족해 DNS 요청이 지연됨
CoreDNS 파드가 한 두 개만 돌아가는 상태: 트래픽 대비 replica 부족
기본 limits 설정: 너무 빡빡한 limit 값 때문에 스로틀 처리됨
잘못된 upstream/dnsPolicy: 외부 네임서버 연결 허용이 안 된 경우
Security Group에서 53번 포트 UDP/TCP 미허용: 외부 DNS와 통신 불가
VPC DNS 세팅 불일치: EKS가 사용할 DNS 주소 잘못 지정
간단한 것 같지만, 놓치고 넘어가기 쉬운 부분들이죠!
CoreDNS 성능 진단과 모니터링, 로그 보는 법
문제가 의심된다면, 바로 이 방법을 활용해보세요.
kubectl logs로 CoreDNS 오류 메시지 확인: “timeout”, “refused” 문구 집중
CoreDNS 모니터링: Prometheus로 qps, latency, 오류율, “Health” 지표 모니터링
kube-system 네임스페이스에서 CoreDNS 파드의 상태와 재시작 횟수 확인
Terraform apply 직후, CoreDNS에 변경 사항이 있는지 rollout 기록 확인
이 과정을 반복하다 보면 어디서 병목이 생겼는지 밝히는 단서가 반드시 나옵니다!
성능 개선: CoreDNS 리소스 튜닝과 Terraform 실전 팁
실무에서 효과 본 개선 방법을 소개합니다.
CoreDNS replica 늘리기: deployment에서 replicas 값을 4~8로 조정
requests/limits 완화: CPU/메모리를 넉넉하게 배정 (예: 150m/300Mi 이상)
Terraform의 module 사용 시, CoreDNS 관련 variables, resources 별도 관리 권장
CoreDNS ConfigMap에서 cache 설정 적극 활용 (cache ttl 60~120)
네트워크폴리시, SG에서 53번 포트(UDP/TCP)를 반드시 공개
EKS 클러스터 업그레이드 시 CoreDNS도 최신 버전(예: 1.11.x 2025 기준)으로 맞추기
조금만 손봐도 체감 성능이 크게 좋아집니다!
2025년 CoreDNS 최신 업데이트와 적용 요령
최근 CoreDNS는 성능과 안정성 측면에서 여러 업그레이드가 진행되었습니다.
2025 최신 버전(1.11.x 기준)은 cache, healthcheck, metrics 등 기능이 크게 향상
EKS에서 addons로 제공되는 CoreDNS 버전이 자동 업데이트 지원
Terraform EKS 모듈 개발자들은 최신 CoreDNS patch를 빠르게 반영 중
업그레이드 시에는 꼭 기존 설정과의 호환성, deprecated 옵션 여부를 체크해야 합니다. 지나치게 커스텀 설정을 남발하면 새 버전에서 부팅 실패 위험이 있으니 주의하세요!
마무리: 실무자의 생존 팁과 인프라 엔지니어에게 전하는 조언
CoreDNS 성능 저하는 아주 작은 설정 하나에서 시작해 서비스 장애까지 번질 수 있습니다. 핵심은 꾸준한 모니터링과 기본 리소스 튜닝, 그리고 Terraform 적용 시 각종 매뉴얼과 버전 호환성 체크를 습관처럼 반복하는 것입니다. 한 번 성능 저하를 겪고 나면, 어쩌면 가장 큰 배움은 "기본을 꼼꼼히!"라는 사실일지도 모릅니다. 이 가이드로 현장에서 CoreDNS를 다루는 모두가 조금 더 빠르고 안정적인 운영자가 되시길 바랍니다.