728x90
반응형
SMALL

2024/03/08 2

Terraform Workspace

Workspace 테라폼에서 Workspace는 프로젝트 단위라고도 생각할 수 있고 상태 관리의 단위라고도 생각할 수 있다. 예를 들어 환경이 세 가지인(Dev, Staging, Prod) 경우 비슷한 환경에서 살짝 살짝 달라질텐데 이 코드를 복붙해서 세 개의 프로젝트 단위로 관리하기는 비효율적이며 공간 낭비이다. 이럴 때 워크스페이스가 유용하게 사용될 수 있다. 이게 가능한 이유는 하나의 테라폼 프로젝트에 여러 Workspace가 만들어질 수 있기 때문이다. 현재 프로젝트 트리는 다음과 같다. 아직 Init 조차 하지 않은 상태이다. 다음 main.tf 파일을 보자. provider "aws" { region = "ap-northeast-2" } variable "vpc_name" { descripti..

Terraform Commands (taint / untaint)

Terraform 에서는 taint와 untaint라는 명령어가 있다. 이 명령어가 무엇인지 알아보고 어떻게 사용하는지 알아보자. taint taint는 Terraform에서 리소스를 관리하는 중 특정 리소스에 문제가 생겼을 때 해당 리소스에 문제가 생겼다는 것을 Terraform에게 알리는 명령어이다. 그럼 Terraform은 이 리소스에 문제가 생겼다는것을 알고 교체하려한다. 현재 나의 Workspace에서 관리하는 State는 다음과 같다. 이 중에서 Internet Gateway에 어떤 문제가 발생했다고 가정해보자. 그래서 해당 리소스에 taint를 하려고 한다. tf taint "module.vpc.aws_internet_gateway.this[0]" 이렇게 한 후 Apply를 해보면 taint..

728x90
반응형
LIST