[기본 구성 요소] HCL(HashiCorp Configuration Language)
2024. 11. 20. 19:38ㆍTerraform/[인프런] 아키텍처와 함께하는 Terraform
1. HCL(HashiCorp Configuration Language)
- Terraform과 같은 HashiCorp 제품에서 사용되는 구성 언어이다.
- 사람에게 읽기 쉬운 문법을 제공하고, JSON 형식으로도 변환 가능하다.
- 인프라를 코드로 정의하는 데 최적화되어 있고, 선언적 접근 방식을 지원한다.
==> 즉, 최종 상태를 정의하면 Terraform에서 필요한 단계를 자동으로 계산한다.
2. HCL 주요 특징
- 사람이 읽기 쉬운 문법 : 직관적이고 간결한 구문
- 모듈화 : 재사용 가능한 모듈을 지원
- 변수와 출력 지원 : 변수, 출력 값, 조건문을 사용해 유연성 제공
- JSON 호환성
- 선언적 접근 : 원하는 상태 정의하면 Terraform에서 구현
3. HCL 구성의 주요 요소
- Provider : 클라우드 서비스 또는 리소스의 제공자 정의
- Resource : 실제로 생성하거나 관리할 리소스 정의
- Variable : 재사용성을 높이기 위해 변수로 값 정의
- Output : 생성된 리소스의 값 출력
- Module : 코드를 모듈화하여 재사용성 제공
4. HCL 예제
- AWS에서 EC2 인스턴스 생성하는 간단한 예제
* 예제
provider "aws" { # AWS를 사용하기 위한 Provider 정의
region = "us-east-1"
}
resource "aws_instance" "example" { # EC2 인스턴스 정의
ami = "ami-12345678" # AMI ID
instance_type = "t2.micro" # 인스턴스 타입
tags = { # 태그 사용
Name = "ExampleInstance"
}
}
'Terraform > [인프런] 아키텍처와 함께하는 Terraform' 카테고리의 다른 글
[기본 구성 요소] Resource (0) | 2024.11.26 |
---|---|
[기본 구성 요소] Provider (0) | 2024.11.25 |
[사전] Terraform 이란 & 구성 요소 (0) | 2024.11.15 |
[사전] Window에서 Terraform 설치하기 (1) | 2024.11.15 |
[사전] Terraform 사용 시 참고할 수 있는 정보/문서 (2) | 2024.11.15 |