HCL 포맷터
HCL(HashiCorp Configuration Language) 및 Terraform 파일을 온라인에서 포맷하고 보기 좋게 정리합니다. 들여쓰기를 맞추고 HCL 구문을 정규화합니다.
입력
출력
HCL이란?
HCL(HashiCorp Configuration Language)은 HashiCorp가 만든 설정 언어로, 주로 Terraform에서 인프라를 코드로 정의할 때 씁니다. 중괄호 블록, 속성, 중첩 블록, 식, 주석을 지원합니다.
HCL 포맷터는 들여쓰기(레벨당 2칸 공백)를 맞추고 블록 구조를 정규화하며 공백을 정리해 Terraform·HCL 코드베이스를 일관되게 유지합니다. HCL 소스 코드는 GitHub에 공개되어 있으며, 프로바이더는 Terraform Registry에서 확인할 수 있습니다.
사용 방법
HCL 내용 붙여넣기
Terraform 또는 HCL 파일 내용을 왼쪽 편집기에 붙여넣거나 업로드로 .tf 또는 .hcl을 불러옵니다.
즉시 포맷
포맷터가 들여쓰기(레벨당 2칸 공백)를 수정하고 블록 구조를 정규화하며 줄 끝 공백을 제거합니다.
복사 또는 다운로드
복사로 결과를 복사하거나 다운로드로 .tf 파일로 저장합니다.
포맷 예제
예제: Terraform 리소스 블록
포맷 전 HCL:
resource "aws_instance" "web" {
ami="ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags={Name="web-server",Env="prod"}
}포맷 후 출력:
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "web-server"
Env = "prod"
}
}자주 묻는 질문
HCL과 Terraform의 차이는 무엇인가요?
Terraform은 인프라 도구이고 HCL은 Terraform이 쓰는 설정 언어입니다. HCL은 Packer, Vault, Consul 등 다른 HashiCorp 도구에도 쓰입니다.
terraform fmt를 대체하나요?
빠른 온라인 검토용 포맷터입니다. 프로덕션에서는 CI/CD에서 terraform fmt를 쓰는 것이 좋습니다. HCL 스타일 가이드에서 모든 포맷 규칙을 확인할 수 있습니다.
Packer나 Vault HCL 파일도 포맷할 수 있나요?
예. 모든 HashiCorp 도구에서 쓰는 표준 HCL 문법을 처리합니다.
Terraform 모듈이나 공유 설정 파일을 정리하는 데도 쓸 수 있나요?
물론입니다. Terraform 모듈은 루트 설정과 같은 HCL 문법을 씁니다. 모듈 파일 내용을 붙여넣으면 포맷터가 들여쓰기를 맞추고 블록 구조를 정규화합니다 — 커밋 전 공유 코드를 정돈하는 데 유용합니다.