[Github] The top programming languages
- 2022 가장 빠르게 성장한 언어 1위 HCL(HashiCorp Configuration Language)
테라폼이란?
Terraform은 클라우드 및 온프레미스 리소스를 안전하고 효율적으로 구축, 변경, 버전 관리할 수 있는 코드 도구로서의 인프라입니다.
HCL과 JSON을 사용하여 코드를 작성하며 인프라스트럭쳐의 생성 및 관리가 가능합니다.
ex) aws EC2 instance생성하는 테라폼 코드
resource "aws_instance" "example" {
ami = #아마존 리눅스, 우분투 등의 ami
instance_type = "t3.micro"
tags = {
Name = "HelloWorld"
}
}
특징
- 수많은 provider를 지원합니다 ex) aws, azure, gcp 등등...
- 학습속도가 빠릅니다.
- Ansible과 같은 구성 관리 도구와 쉽게 통합할 수 있습니다.
- 다양한 플러그인을 지원하여 쉽게 확장이 가능합니다.
- 오픈소스입니다(무료)
학습속도가 빠르다는 특징은 개인차가 있겠지만 개인적으로는 언어가 굉장히 직관적이어서 배우기 쉬웠으며, 도큐먼트가 잘 작성되어 있었으며 무엇보다 ChatGPT가 있으니 빠르게 배울 수 있었던 것 같습니다.
Terraform Registry
registry.terraform.io
등급(Tier)
테라폼은 provider로 별로 등급(Tier)을 적용하여 관리 및 제공하고 있습니다.
현재 명시된 등급은 다음과 같습니다.
- Offical - HashiCorp가 소유하고 관리합니다.
- ex) aws, azure, gcp, ...
- Partner - 자체 API에 대해 타사에서 작성, 유지 관리, 검증 및 게시
- ex) github, ncp, cloudflare
- Community - 개별 유지관리자, 유지관리자 그룹 또는 Terraform 커뮤니티의 다른 구성원에 의해 관리
- Archived - HashiCorp 또는 커뮤니티에서 더 이상 유지관리하지 않는 공식 또는 파트너 공급자
명령어(Command)
테라폼에서는 다양한 CLI 명령어들을 제공합니다.
- terraform init
- terraform plan
- terraform apply
- terraform destroy
- terraform status
- terraform fmt
- 등등...
init, plan, apply 같은 경우에는 terraform을 사용함에 있어서 굉장히 중요한 명령어입니다.
명령어에 대해서는 추후 다음 포스팅을 통해 기술하겠습니다.
테라폼에 대한 더 자세한 설명은 아래 공식문서에서 확인하실 수 있습니다.
What is Terraform | Terraform | HashiCorp Developer
Terraform is an infrastructure as code tool that lets you build, change, and version cloud and on-prem resources safely and efficiently.
developer.hashicorp.com
'IaC > Terraform' 카테고리의 다른 글
[Terraform] terraform init (1) | 2024.01.14 |
---|---|
[Terraform] Terraform설치 - Linux (1) | 2023.12.21 |
[Terraform] Terraform 설치 - Windows (2) | 2023.12.21 |