일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- endpoint
- terraform backend
- 이진탐색
- heapq
- Python
- Jenkins
- algorithm
- terraform 설치
- terraform main commands
- terraform 기본개념
- terraform
- haproxy
- java
- linuxr계정설정
- 프로그래머스
- session manager
- Process monitoring
- lsof
- s3
- 인텔리제이
- binarysearch
- PrivateSubnet
- JWT
- Timezon설정
- Mac
- terraform variable
- Docker
- SELinux비활성화
- Jenkinspipeline
- ec2
- Today
- Total
MONG 기술블로그
테라폼 설치 및 기본 개념 본문
테라폼이란 HashCorp에서 개발한 오픈소스 IaC툴이며, 유저는 HCL이라는 언어를 통해 인프라를 정의하여 코드를 기반으로 인프라를 프로비저닝할 수 있다.
즉 기존에 손으로 한땀한땀 구성하던 인프라 요소들을 코드로써 구축할 수 있게 해주는 멋진 툴이다.
이제 대충은 어떤 툴인지 알게됬으니 테라폼을 설치하고 , 테라폼 구성요소에 대한 필수 기본 개념에 대해서 알아보자.
■ 테라폼 설치 ( MAC OS )
다음 URL에 접속하면 테라폼 버전을 선택하여 다운로드할 수 있다.
https://releases.hashicorp.com/terraform/
Terraform Versions | HashiCorp Releases
releases.hashicorp.com
테라폼 버전을 선택하여 링크를 복사한 후 하기 명령어를 참고하여 설치하자.
wget https://releases.hashicorp.com/terraform/1.1.3/terraform_1.1.3_darwin_amd64.zip
## 압축 해제시 "terraform" 바이너리파일 한개 생성
unzip terraform_1.1.3_darwin_amd64.zip
## $PATH 설정 ( echo $PATH에 설정된 디렉토리로 terraform bin 파일 이동 )
mv terraform /usr/local/bin/
## PATH 설정된것 확인 & 설치버전 확인
terraform --version
위와같은 결과값이 출력되면 설치에 성공한것이다.
이제 테라폼을 구성하는 기본 명령어 및 구성요소에 대해 알아보자.
■ 테라폼 필수 기본 개념
1. resource
- 실제로 생성할 인프라 자원을 의미한다. ( ec2 / security_group ... )
2. provider
- 인프라를 테라폼 코드로 제공하는 프로바이더를 의미한다. ( ex : aws , azure ... )
https://registry.terraform.io/browse/providers
Terraform Registry
registry.terraform.io
3. output
- 인프라 프로비저닝 후 생성된 자원에 대한 정보를 output으로 추출할 수 있으며 output으로 추출한 정보는 `remote state`에서 활용이 가능하다.
4. backend
- terraform의 상태(tfstate)를 저장할 공간 ( ex : S3 , Github ... )
- backend에 테라폼으로 배포된 최신 상태를 저장하여 다른 사람과의 협업이 가능하다.
5. module
- 공통적으로 활용할 수 있는 테라폼 인프라 코드를 한 곳으로 모아서 정의하는 부분.
- 잘 정의된 모듈을 이용하면 변수만 교체하여 동일한 리소스를 손쉽게 생성할 수 있다. ( 재사용성 )
6. remote state
- remote state를 사용하면 VPC, IAM 등과 같이 여러 자원에서 공용으로 사용되는 서비스를 다른 서비스에서 참조할 수 있다.
- tfstate파일이 저장되어있는 backend정보를 명시할 시 backend의 output 정보를 통해 손쉽게 가져올 수 있다.
- 즉 다른 tfstate에 저장된 variable을 사용하고 싶을 때 remote state를 참조한다.
'Terraform' 카테고리의 다른 글
테라폼 고도화 - 1 ( Backend ) (0) | 2022.03.21 |
---|---|
테라폼 고도화 - 2 ( Variable ) (0) | 2022.03.21 |
테라폼 기본 명령어 실습 (0) | 2022.03.16 |