terraform refresh 명령
terraform refresh 명령
terraform refresh 명령은 모든 관리되는 원격 객체의 현재 설정을 읽고 Terraform 상태를 그에 맞게 업데이트하는 명령이에요. 이 명령은 더 이상 권장되지 않으며, terraform apply와 terraform plan 명령에 -refresh-only 플래그를 추가하는 것을 권장해요.
출처: 문서
본문
이 명령은 실제 원격 객체를 수정하지 않지만 Terraform 상태는 수정해요.
Hands-on: Refresh-Only 모드로 Terraform 상태 동기화 튜토리얼을 시도해 보세요.
사용법 (Usage)
사용법: terraform refresh [options]
이 명령은 사실상 다음 명령의 별칭이에요:
terraform apply -refresh-only -auto-approve
따라서 terraform apply의 모든 옵션을 지원하지만, 저장된 플랜 파일은 받지 않고, "refresh only" 외의 플래닝 모드를 선택할 수 없으며, -auto-approve가 항상 활성화된다는 점이 달라요.
refresh 효과를 자동으로 적용하는 것은 위험해요. 하나 이상의 프로바이더에 대한 자격 증명을 잘못 구성했다면, Terraform이 모든 관리되는 객체가 삭제되었다고 잘못 생각해 확인 프롬프트 없이 추적된 객체를 모두 제거할 수 있어요.
대신 같은 효과를 얻되 Terraform이 감지한 변경을 상태에 커밋하기 전에 검토할 기회를 가지려면 다음 명령을 사용하는 것을 권장해요:
terraform apply -refresh-only
이 대체 명령은 감지된 변경을 확인하라는 대화형 프롬프트를 제시해요.
terraform plan과 terraform apply의 -refresh-only 옵션은 Terraform v0.15.4에서 도입되었어요. 이전 버전에서는 이 동작이 필요하다면 위의 경고를 고려하면서 terraform refresh를 직접 사용해야 해요. 가능하면 terraform refresh를 명시적으로 사용하는 것을 피하고, 일반 플랜을 만들 때 기존 객체를 자동으로 새로 고치는 Terraform의 동작에 의존하세요.