728x90
반응형
SMALL
SMALL
Terraform 에서는 taint와 untaint라는 명령어가 있다. 이 명령어가 무엇인지 알아보고 어떻게 사용하는지 알아보자.
taint
taint는 Terraform에서 리소스를 관리하는 중 특정 리소스에 문제가 생겼을 때 해당 리소스에 문제가 생겼다는 것을 Terraform에게 알리는 명령어이다. 그럼 Terraform은 이 리소스에 문제가 생겼다는것을 알고 교체하려한다.
현재 나의 Workspace에서 관리하는 State는 다음과 같다.
이 중에서 Internet Gateway에 어떤 문제가 발생했다고 가정해보자. 그래서 해당 리소스에 taint를 하려고 한다.
tf taint "module.vpc.aws_internet_gateway.this[0]"
이렇게 한 후 Apply를 해보면 taint 처리한 Internet Gateway 리소스를 교체하려고 시도한다.
이게 taint 명령어의 사용 용도이다. 그리고 이 taint는 처리한 리소스를 의존하는 무언가가 있을 때 해당 리소스도 교체한다. 예를 들어, Internet Gateway가 Public Route Table에 연결된 상태일텐데 이 인터넷 게이트웨이를 교체하면 당연히 기존에 매핑되어 있던 Route Table의 Internet Gateway도 새로 만들어지는 녀석으로 교체되려고 할 것이다. 이것을 Terraform은 알아서 해준다.
untaint
untaint는 간단하다. taint의 반대다. taint를 처리한 리소스에 대해 취소를 하고 싶으면 untaint를 하면 된다.
tf untaint "module.vpc.aws_internet_gateway.this[0]"
그럼 taint 처리된 리소스는 해제된다.
728x90
반응형
LIST
'IaC(Infrastructure as Code)' 카테고리의 다른 글
Terraform Cloud (0) | 2024.03.10 |
---|---|
Terraform Workspace (0) | 2024.03.08 |
Terraform State (0) | 2024.03.07 |
AWS + Terraform (Loop) (0) | 2024.03.07 |
AWS + Terraform (Conditions) (0) | 2024.03.07 |