본문 바로가기
DevOps/Terraform

AWS EKS terraform 구성시 Launch Template을 구성해야할까 말아야할까?

by Rainbound-IT 2025. 7. 26.
반응형

 

Access Remote를 eks module에 넣으려고하는데 별도로 등록하거나 Launch template을 false 해야하더라구요

그래서  Launch Template에 대해 알아보려고 합니다.

 

AWS EKS에서 NodeGroup을 구성할 때 한 번쯤 마주하는 질문:

"Launch Template(LT)을 꼭 써야 할까?"
"안 쓰면 뭐가 안 되지? 쓰면 뭐가 더 좋아?"

이번 글에서는 remote_access, 디스크 설정, AMI 고정 등의 관점에서
Launch Template 사용 여부에 따라 무엇이 가능한지,
그리고 실무에서는 어떤 전략으로 접근하는 게 좋은지 정리해보겠습니다.


 Launch Template 없이도 되는 것들

EKS의 Managed Node Group은 기본적으로 AWS 내부에서 Launch Template을 사용하지만,
사용자가 직접 만들지 않아도 동작합니다.

즉, 아래와 같은 설정은 Launch Template 없이도 NodeGroup 블록에서 직접 설정 가능합니다:

설정 항목가능 여부비고
인스턴스 타입 (instance_types) ✅ 가능  
AMI 유형 (ami_type) ✅ 가능 – Amazon Linux 2, 2023, Bottlerocket 등  
디스크 크기 (disk_size) ✅ 가능 – 루트 디스크 용량만 조절 가능  
SSH 접속 (remote_access) ✅ 가능 – 단 use_custom_launch_template = false일 때만  
IMDS 옵션 (metadata_options) ✅ 가능 – 제한적 제어 가능  
Auto Scaling (min, max, desired) ✅ 가능  
 

👉 즉, 일반적인 dev/stage 환경에서는 Launch Template 없이도 충분히 운영이 가능합니다.


❌ Launch Template 없이는 안 되는 것들

하지만 다음과 같은 고급 설정은 반드시 Launch Template이 필요합니다:

설정 항목필요 이유
AMI ID 직접 고정 ami_type은 유형만 지정. ID는 자동 선택됨
디스크 타입/성능 설정 gp3, io1, IOPS, throughput 설정은 LT에서만 가능
커스텀 UserData kubelet 파라미터, 보안 에이전트 설치 등
EBS 외 추가 볼륨 구성 block_device_mappings으로만 가능
EC2 메타데이터 세부 설정 보안성 강화를 위한 필드 제어
특수 환경(GPU, FIPS, 네트워크 구성) EC2 수준 제어 필요
 

⚠️ remote_access는 LT와 함께 못 쓴다

AWS EKS API의 제한으로 인해,

Launch Template을 사용하는 경우 → remote_access는 사용할 수 없습니다.

반드시 SSH Key를 Launch Template 내부에서 key_name으로 지정해야 합니다.


✅ 실무 추천 전략


 

단계 전략 이유
초기 환경 구성 (Dev/Test) use_custom_launch_template = false + remote_access 빠른 구성, 간편 SSH
운영 환경(Prod) 전환 Launch Template 직접 생성 + key_name, image_id, 디스크 설정 보안, 성능, 유지보수 기준 강화
고급 환경 요구 (GPU, IOPS 튜닝 등) Launch Template 필수 제어 가능한 모든 EC2 옵션 제공
 

 

반응형

댓글