Terraform 기본
2023. 5. 3. 19:14ㆍTerraform
Terraform 구성요소
구성요소 | 내용 |
provider | 테라폼으로 생성할 인프라의 종류를 의미한다. |
resource | 테라폼으로 실제로 생성할 인프라 자원을 의미한다. |
state | 테라폼을 통해 생성한 자원의 상태를 의미한다. |
output | 테라폼으로 만든 자원을 변수 형태로 state에 저장하는 것을 의미한다. |
module | 공통적으로 활용할 수있는 코드를 문자 그대로 모듈 형태로 정의하는것을 의미한다. |
remote | 다른 경로의 state를 참조하는것을 말한다. output 변수를 불러올때 주로 사용한다. |
tfstate 파일 과 리소스를 동기화 시키는게 키포인트
명령어 | 내용 |
init | 테라폼 명령어 사용을 위해 각종 설정을 진행한다. |
plan | 테라폼으로 작성한 코드가 실제로 어떻게 만들어질지에 대한 예측 결과를 보여준다. |
apply | 테라폼 코드로 실제 인프라를 생성하는 명령어다. |
import | 이미 만들어진 자원을 테라폼 state 파일로 옮겨주는 명령어다. |
state | 테라폼 state 를 다루는 명령어다. 하위 명령어로 mv, push 와 같은 명령어가 있다. |
destroy | 생성된 자원들 state 파일 모두 삭제하는 명령어다. |
Process
init | plan | apply |
작성한 코드에서 init 명령어를 입력한다. 테라폼의 다른명령어들을 위한 설정을 진행한다. 내부적으로는 provider 와 state ,module 설정등이 있다. |
실제로 작성한 테라폼 코드가 어떻게 만들어질지에 대한 예측결과를 보여주는 명령어다. 가장 많이 쓰이는 명령어다. 기본적으로 plan에 문제가 없어야 apply 에 문제가 없을 확률이 높다. |
실제로 작성한 코드로 aws 리소스를 생성하는 명령어다. 실제 인프라에 영향을 끼치는 명령어이므로 주의깊게 실행을 해야합니다. |
항상 plan 명령어를 습관화하기!
apply 는 주의하기
출처: 본 내용은 인프런의 "처음 시작하는 infrastructure as Code : AWS & 테라폼" 내용입니다.
https://www.inflearn.com/course/%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4-%ED%85%8C%EB%9D%BC%ED%8F%BC-aws
'Terraform' 카테고리의 다른 글
[Terraform] variable (0) | 2023.05.06 |
---|---|
[Terraform] IAM role (0) | 2023.05.06 |
aws S3 (0) | 2023.05.06 |