![[Terraform] terraform.tfvars를 통한 변수 값 저장(feat. AWS Credentials)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbge2mN%2FbtsHF9NZU9H%2FFjRHT3Gx39mLKKR2d5NXX0%2Fimg.png)
https://haksuperman.tistory.com/31#
[Terraform] 테라폼 작업을 위한 사전 준비(feat. AWS Credentials, IAM 등)
1. 테라폼 작업용 AWS IAM User 생성 Terraform으로 작업할 최소한의 권한만 부여 해야 함!실습을 위해 AdministratorAccess 권한을 부여한 것, 절대 위험!!!(추후 권한 관련 IAM 공부는 꼭 하기) 사실 테라폼
haksuperman.tistory.com
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 |
개인 공부 목적으로 사용하는 블로그입니다 :)
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!