반응형
이전 게시글에서 이어지는 내용입니다.
이번 게시글에서는 terraform variable 테라폼 변수 사용법에 대해 정리합니다.
1. terraform variable이란
테라폼은 hcl syntax적 특징을 가진 언어로 변수가 존재합니다. 변수를 주입하는 방법에도 여러가지가 있으므로 자주 사용하는 방법에 대해 간단히 정리합니다.
마찬가지로 aws를 몰라도 쉽게 진행할 수 있도록 s3버킷으로 진행합니다.
소스코드는 아래의 깃헙레포에서 확인할수 있습니다(variable 브랜치에 있습니다.)
2. main.tf
provider "aws" {
# profile = "your profile"
region = "ap-northeast-2"
}
resource "aws_s3_bucket" "this" {
bucket = var.bucket_name
}
저번게시글처럼 버킷만 생성할 겁니다.
이전 게시글에서는 bucket명에 직접 넣어줬지만 변수를 사용할꺼니 버킷명을 var.bucket_name으로 설정합니다.
3. variables.tf
variable "bucket_name" {
type = string
}
variables.tf 파일에 main.tf에서 사용하기로 한 변수를 선언합니다.
변수가 선언되어 있어야 var.bucket_name을 사용할 수 있습니다.
type과 default value를 설정할 수 있습니다.
4. terraform.tfvars
bucket_name = "my-terraform-bucket-02"
terraform.tfvars 파일에서 선언한 변수에 값을 넣어줍니다.
3번의 variable쪽에 default값이 없다면 누군가는 변수의 값을 채워줘야합니다.
module로 가져가서 채우거나, tfvars를 작성해서 채워줍니다.
변수명을 채우지 않으면 plan시 직접 입력을 할 수도 있습니다.
5. 확인
$ terraform init
$ terraform plan
$ terraform apply
$ terraform state list
버킷이 잘 생성됐는지 확인합니다.
(다음 게시글을 위해 common/s3로 디렉토리 구조를 만들어놨습니다. s3디렉토리에서 명령어를 입력해서 진행합니다)
다음 게시글에서는 module 사용법에 대해 정리합니다.
반응형
'terraform' 카테고리의 다른 글
[terraform] 테라폼 count, 조건문, 반복문, dynamic, for_each, lookup 사용법 (0) | 2022.05.24 |
---|---|
[terraform] 테라폼 backend, tfstate란 (0) | 2022.05.24 |
[terraform] 테라폼 module 사용법(테라폼 모듈 사용법) (0) | 2022.05.11 |
[terraform] 테라폼 시작하기 (terraform tutorial, 테라폼 예제) (0) | 2022.04.22 |
[terraform] 테라폼이란 (0) | 2022.04.21 |
댓글