피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Terraform user_data로 구현하는 EC2 자동 프로비저닝 전략
LAB: Terraform EC2 with `user_data`
AI 요약
Context
EC2 인스턴스 생성 후 수동으로 패키지를 설치하는 운영 방식의 비효율성. 인프라 생성과 소프트웨어 설정 단계의 분리로 인한 배포 일관성 결여.
Technical Solution
user_data스크립트를 활용하여 인스턴스 최초 부팅 시 Nginx 설치 및 서비스 활성화를 자동화하는 부트스트래핑 구조templatefile함수를 통해 쉘 스크립트 내 변수를 동적으로 주입하여 환경별 설정 유연성 확보aws_ami데이터 소스를 활용한 최신 Amazon Linux 2023 이미지의 동적 식별 및 적용aws_security_group설정을 통해 HTTP 80 포트의 인바운드 트래픽 허용 및 네트워크 보안 계층 설계user_data_replace_on_change옵션을 활성화하여 설정 변경 시 인스턴스를 자동으로 재생성하는 불변 인프라(Immutable Infrastructure) 전략 적용
Key Takeaway
인프라 프로비저닝과 애플리케이션 초기 설정을 하나의 코드 흐름으로 통합하여 환경 일관성을 유지하고 휴먼 에러를 원천 차단하는 설계 원칙.
실천 포인트
user_data 변경 사항을 즉시 반영하려면 terraform taint를 사용하거나 user_data_replace_on_change 옵션을 true로 설정할 것