[Terraform] terraform.tfvars를 통한 변수 값 저장(feat. AWS Credentials)Language/Terraform2024. 5. 28. 22:48
Table of Contents
https://haksuperman.tistory.com/31#
1. terraform.tfvars의 필요성
기존에는 AWS에 계정 인증을 aws configure 명령을 통해 진행했었다. ~/.aws/config 파일과 ~/.aws/credentials 파일을 통해 확인할 수 있었다.
이 파일들이 손상된다면 AWS와의 계정 인증을 통해 코드형 인프라 작업을 할 수 없을까?
예상한대로 credentials 에러로 실패한다.
1) provider 블럭에 포함시키는 방법
main.tf 파일에 직접 프로바이더 블록에 입력해주는 방법이 있다. 하지만 코드 그대로 Access key와 Secret key가 입력되기 때문에 GitHub와 같은 Repository에 올릴 수 없다.
2) variable.tf 파일에 변수를 등록시켜 입력하는 방법
variable.tf
variable "AWS_ACCESS_KEY" {
default = "[access key]"
}
variable "AWS_SECRET_KEY" {
default = "[secret key]"
}
provider "aws" {
region = "us-west-2"
access_key = variable.AWS_ACCESS_KEY
secret_key = variable.AWS_SECRET_KEY
}
이렇게 변수를 만들어 변수의 값만 저장하는 variable.tf 파일을 이용하면 어떨까?
결국 이렇게 다른 변수들과 같이 사용하면 provider에 바로 입력하는 것처럼 무의미할 것이다.
2. terraform.tfvars
variable.tf
variable "AWS_ACCESS_KEY" {}
variable "AWS_SECRET_KEY" {}
variable "AWS_REGION" {}
terraform.tfvars
AWS_ACCESS_KEY = "[access key]"
AWS_SECRET_KEY = "[secret key]"
AWS_REGION = "[region]"
variable.tf 파일에는 변수를 정의하고, terraform.tfvars 파일에 해당 변수들의 값만 따로 저장시키는 방법이 있다.
-> 이런 방법이 따로 있는게 아닌 꼭 이렇게 해야 함!!
작업도 잘 된다.
'Language > Terraform' 카테고리의 다른 글
[Terraform] 변수를 통해 구성 가능한 서버 배포 (0) | 2024.06.01 |
---|---|
[Terraform] 단일 서버, 단일 웹 서버 배포 (0) | 2024.05.31 |
[Terraform] IAM Group 생성 후 정책 적용 및 IAM User 추가 (0) | 2024.05.28 |
[Terraform] terraform 기본 명령어 및 프로바이더 선언(feat. init, plan, apply, destory) (0) | 2024.05.21 |
[Terraform] 테라폼 작업을 위한 사전 준비(feat. AWS Credentials, IAM 등) (0) | 2024.05.20 |
@학슈퍼맨 :: 뭉게뭉게 학수의 클라우드 세상
개인 공부 목적으로 사용하는 블로그입니다 :)
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!