Nubes et Stella

Terraform #02 본문

DevOps/Terraform

Terraform #02

SeongYeong Han 2023. 9. 26. 23:31

01. Terraform 표현식

<BLOCK TYPE>에는 인프라의 타입을 정의하고, 첫 번째 <BLOCK LABEL>에는 인프라의 유형을 넣는다. 마지막 <BLOCK LABEL>에는 인프라의 이름을 작성한다.

 

아래의 코드를 예로 들면 "resource" 타입을 지정하고 aws_vpc 유형으로 aws의 vpc를 설정한다. 이 때 Terraform내에서 해당 인프라의 명칭은 "main"으로 설정한다.

resource "aws_vpc" "main" {
  cidr_block = var.base_cidr_block
}

<BLOCK TYPE> "<BLOCK LABEL>" "<BLOCK LABEL>" {
  # Block body
  <IDENTIFIER> = <EXPRESSION> # Argument
}

 

 

02. Terraform 주요 커맨드

- alias 설정

terraform을 사용할 때 단어 전체를 치기에는 불편함이 있어 짧은 단어로 별칭을 설정해준다

 

- help 옵션 : terraform에서 쓸 수 있는 옵션들을 보여준다.

 

 

- main.tf 파일을 생성 후 로컬 파일을 생성하는 아래의 코드 작성 (write 단계)

> ${path.module} 은 현재 파일 위치를 나타내는 환경변수 값

 

 

- init : 초기화 단계로서 위 코드의 파일을 생성하기 위한 "플러그인", "모듈"을 설치한다.

 

 

- plan : 코드를 실제 적용하기 전 "계획 실행"단계로서 파일 하나가 추가된 것을 확인할 수 있다.

 

 

- apply : 실제 코드를 적용하여 인프라를 생성하는 단계이며, "Enter a value :" 구문에 yes를 입력해야 최종 적용된다.

 

 

최종 실행 결과 foo.bar 라는 이름의 파일이 생성 된 것을 볼 수 있으며, 내용 또한 제대로 들어간 것을 볼 수 있다.

 

- END -

'DevOps > Terraform' 카테고리의 다른 글

Terraform #06 (Conditional/For)  (0) 2023.10.19
Terraform #05 (count/for_each)  (1) 2023.10.18
Terraform #04 (Variable/Output/Local)  (1) 2023.10.09
Terraform #03  (0) 2023.09.27
Terraform #01  (0) 2023.09.25