terraform init
테라폼 프로젝트에서 쓸 프로바이더와 모듈을 설치하고 초기화한다.
프로젝트를 새로 만들었거나 다른 사람의 프로젝트를 처음 가져왔을 때 실행하면 된다.
terraform plan
실제 인프라에 반영하기 전에 어떤 변경사항이 일어날지 미리 보여준다.
리소스가 추가되거나 변경, 삭제될지 미리 알 수 있어서 유용하다.
진짜 리소스에 변경을 주는 건 아니고, 그냥 계획만 보여준다.
terraform apply
실제 인프라에 테라폼 코드 내용을 반영한다.
계획된 내용을 확인하고 승인하면 리소스가 실제로 생성, 변경, 삭제된다.
terraform destroy
생성된 인프라 리소스를 완전히 삭제한다.
테스트 환경을 정리하거나 필요 없어졌을 때 유용하다.
terraform import
AWS나 클라우드에서 직접 생성했던 리소스를 테라폼 관리 영역으로 불러온다.
코드로 관리되지 않던 리소스를 테라폼으로 관리할 때 주로 사용.
terraform validate
코드의 문법이나 구성이 올바른지 검증해준다.
실제 적용 전에 에러를 방지하는 데 큰 도움이 된다.
terraform fmt
테라폼 코드의 포맷을 자동으로 정리해준다.
협업 시 코드 일관성을 유지할 때 유용하다.
terraform state
테라폼이 관리하는 상태 파일(state)을 관리할 때 사용한다.
예를 들어, 상태 파일에서 리소스를 삭제하거나 이동할 때 쓸 수 있다.
상황에 따라 다르지만 개념적인 명령어 순서는 다음과 같다
init → fmt → validate → plan → apply → state (필요 시) → destroy (필요 시)