terraform taint는 특정 리소스를 “tainted” 상태로 표시하여, 다음 terraform apply 때 해당 리소스를 강제로 다시 만들게 한다. 특정 리소스를 교체해서 테스트하거나 디버깅해보고 싶을때 taint를 이용할 수 있다.
예제
igw에 장애가 있다고 가정해보자. 우선 tf state list
를 통해 state 목록을 출력한다.
taint
명령어로 다시 생성할 요소를 지정한다.
tf apply
를 입력하면 igw에 연결되어있던 라우팅 테이블 규칙이 다시 생성된다.
taint 상태를 제거하고 싶다면, terraform untaint
명령어를 사용하면 된다.
리소스를 갱신하고 싶을 때, taint 외에도 아래와 같은 방법을 사용할 수 있다:
이러한 방법은 하나의 리소스를 대체할 때 유용하며, 여러 리소스를 갱신하고 싶을 때는 taint를 사용하는 것이 좋다.