테라폼으로 시작하는 IaC 책을 기준으로 정리하였습니다.
1장 IaC와 테라폼
IaC (Infrastructure as Code)
: Infrasturcture를 Code로서 정의, 관리 및 프로비저닝하는 것
- 프로비저닝: IaC 코드를 실행하여 인프라 자원을 자동으로 생성합니다. 예를 들어, 가상 머신, 컨테이너, 네트워크 설정 등을 자동으로 프로비저닝할 수 있습니다.
- 구성 관리: IaC 코드를 사용하여 인프라의 구성을 자동으로 설정합니다. 예를 들어, 서버 설정, 네트워크 정책, 보안 설정 등을 자동으로 구성할 수 있습니다.
- 확장 및 축소: IaC를 사용하면 인프라를 필요에 따라 자동으로 확장하거나 축소할 수 있습니다. 이는 코드를 수정하여 추가 리소스를 프로비저닝하거나 제거함으로써 이루어집니다.
- 자동화된 배포: IaC를 사용하면 인프라의 변경 사항을 자동으로 배포할 수 있습니다. 코드 저장소에 변경 사항을 커밋하거나 트리거를 설정하여 자동으로 인프라 업데이트를 수행할 수 있습니다.
Terraform
테라폼은 하시코스파에서 공개한 IaC 도구이다.
하시코프의 철학(링크)중 3가지( 워크플로에 집중, 코드형 인프라, 실용주의)를 담아서 테라폼을 설계했다고 한다.
대상 인프라와 서비스를 테라폼으로 작업하기 위해서는 대상의 제공자(Provider)가 둘 사이에서 인터페이싱해야 한다.
테라폼의 제공 유형에는 아래 3가지가 있다.
- On-premise : Terraform이라 불리는 형태로, 사용자의 컴퓨팅 환경에 오픈소스 바이너리툴인 테라폼을 통해 사용
- Hosted SaaS : Terraform Cloud로 불리는 SaaS로 제공되는 구성 환경으로 하시코프가 관리하는 서버 환경이 제공
- Private Install : Terraform Enterprise로 불리는 서버 설치형 구성 환경으로, 기업의 사내 정책에 따라 프로비저닝 관리가 외부 네트워크와 격리 - 링크
2장 실행 환경 구성
테라폼 환경 구성
1. 윈도우에 WSL2(Windows Subsystem for Linux) 설치
2. WSL2 실행 (Shell 접속)
3. 테라폼 설치 및 확인 - 링크 (Linux → Ubuntu/Debian 선택)
$ sudo wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
$ echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
$ sudo apt update && sudo apt install terraform
# 테라폼 버전 정보 확인
$ terraform version
Terraform v1.8.5
on linux_amd64
IDE 세팅
VSCode 사용
Extentions 설치 - HashiCorp HCL, HashiCoortp Terraform, Amazon Q
'🍀 Cloud Architect > IaC' 카테고리의 다른 글
[Terraform] 프로비저너, terraform_data, moved, CLI 환경변수 (0) | 2024.06.30 |
---|---|
[Terraform] 테라폼 반복문, 조건문, 함수 (0) | 2024.06.29 |
[Terraform] 테라폼 데이터 관리 (0) | 2024.06.22 |
[Terraform] 테라폼 EC2 배포 실습 (0) | 2024.06.15 |
[Terraform] 테라폼 기본 사용법 (0) | 2024.06.15 |