Terraform으로 plan apply 명령어를 실행하면 terraform.tfstate파일이 생성됩니다. 이 파일에는 apply로 생성하거나 terraform import로 연결된 리소스에 대한 정보가 저장되어 있습니다.
Terraform 레아이웃을 구성하면서 하나의 폴더에 모든 블럭을 선언하면 안됩니다.
이러한 방식으로 구성하게된다면 terraform.tfstate 파일에 모든 상태 정보가 저장이 됩니다.
결과 적으로 비대해진 Snapshot(상태파일)은 Terraform의 실행에도 부하를 주고 차후 유지 보수에서 좋지 못한 결과가 도출됩니다.
terraform init를 실행하게 되면 코드에 정의된 플로그인들을 다운로그 하게 됩니다.
TF_PLUGIN_CACHE_DIR 경로를 설정하면 초기화 단계에서 plugin들을 다운로드 받아 지정한 디렉토리에 저장하고 캐싱합니다.
이를 통해 terraform init에서 발생하는 대역폭 부하와 실행 시간을 줄일 수 있습니다.
#PowerShell
$ path = "C:\wgpark\terraform\plugin-cache"
$ New-Item -ItemType Directory -Force -Path $path
# 시스템 환경 변수 설정
$ [Enviroment] ::SetEmviromentVariable('TF_PLUGIN_CACHE_DIR',$path,'Machine')
이 게시글의 저작권은 베스핀글로벌 SRE 1팀 최창석님에게 있음을 밝힙니다.