로딩
요청 처리 중입니다...

189. [Terraform] 테라폼의 리스트 리소스에서 중간 요소가 빠져야 할 때 대처법

 189. [Terraform] 테라폼의 리스트 리소스에서 중간 요소가 빠져야 할 때 대처법

이번 포스트에서는 테라폼의 리소스 리스트에서 중간 요소가 빠져야 할 때의 대처 방법을 간단하게 설명한다. 너무 쉬워서 굳이 포스트로 쓸 필요를 느끼진 못했었지만..

누군가는 도움이 될거라 생각하며 기록해본다. 1. 리스트 형태의 리소스에서 중간 요소를 삭제할 때 테라폼에서 리소스가 리스트 형태인 경우, 중간 요소를 삭제하려고 하면 그 다음 요소들이 모두 교체되는 상황이 발생한다.

예를 들어, AWS EKS 모듈에서 4개의 워커 그룹이 존재할 때, 중간의 워커 그룹 요소를 삭제하려고 하면 뒤쪽에 존재하는 요소들도 모두 삭제되고 재생성된다. 만약 in-place 업데이트가 아니라 리소스 삭제-재생성인 경우에 그냥 apply를 해버리면 라이브 서비스가 전부 삭제되고 재생성되는 참사가 발생할 수도 있다 (애초에 EKS 모듈에서는 중간의 워커 노드 요소를 빼버릴 경우, apply가 동작하지도 않는다).

사실 이러한 문제는 비단 EKS 모듈뿐만 아니라 테라폼 자체의 특징에 기인하고 있으며, 테...