일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Terraform state
- DevOps
- Cognito
- Heartbleed
- ReplicaSet
- Amazon DynamoDB
- k8s
- Backend
- classmethod
- ConfigMap
- DaemonSet
- Amazon Route 53
- Amazon GuardDuty
- Amazon RDS
- SSL 인증서
- docker
- staticmethod
- Terraform
- Kubernetis
- taint
- deployment
- Amazon VPC
- AWS Security Hub
- AWS EC2
- ansible
- AWS
- Industry Week 2023
- mariaDB
- CI CD
- Python
Archives
- Today
- Total
Nubes et Stella
Terraform #02 본문
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 |