설명
Terraform에서는 리소스 이름, 변수 이름, 모듈 이름을 snake_case로 통일해 작성하는 경우가 많습니다. camelCase, PascalCase, kebab-case가 섞이면 파일을 읽을 때 규칙이 일관되지 않아 검색과 유지보수가 어려워집니다.
이 항목은 직접적인 보안 취약점이나 문법 오류가 아니라 코드 품질과 팀 협업 기준에 관한 사항입니다.
잠재적 영향
- 리소스, 변수, 모듈 이름 규칙이 섞여 코드를 읽기 어려워집니다.
- 검색, 치환, 자동화 스크립트 적용 시 실수가 늘어날 수 있습니다.
- 팀 내 Terraform 스타일이 일관되지 않아 리뷰와 유지보수가 느려질 수 있습니다.
해결 방법
리소스, 변수, 모듈 이름을 web_server, db_subnet_group처럼 snake_case로 통일하세요. 기존 이름을 바꿀 때는 참조도 수정하고, 리소스나 모듈의 상태 주소는 moved 블록 등으로 이전하여 의도하지 않은 재생성을 피하세요.
예시
다음은 EKS 리소스의 Terraform 이름을 비교하는 발췌입니다. 생성에 필요한 다른 속성은 생략했습니다.
변경 전
hcl
resource "aws_eks_cluster" "productionCluster" {
name = "production"
}
변경 후
hcl
resource "aws_eks_cluster" "production_cluster" {
name = "production"
}
변경 후에는 Terraform 리소스 이름만 production_cluster로 통일합니다. AWS의 클러스터 이름 production은 그대로이며, 이미 관리 중인 리소스는 상태 주소 이전을 함께 처리해야 합니다.