운영 목표
Backend에 **저장된 상태
**가 **AWS 실제 인프라와 동일하도록 유지
**하는 것
Terrafrom의 형상 3가지
Local 코드
: 현재 개발자가 작성/수정하고 있는 코드
AWS 실제 인프라
: 실제로 AWS에 배포되어 있는 인프라
Backend에 저장된 상태
: 가장 최근에 배포한 테라폼 코드 형상
테라폼 인프라 정의
Terraform init
- 지정한 backend에 상태 저장을 위한 .tfstate 파일을 생성,
마지막에 적용한 테라폼 내역이 저장
- init 작업을 완료하면 local에는 .tfstate에 정의된 내용을 담은 **
.terraform 파일이 생성
**됨
- 기존에 다른 개발자가 이미 .tfstate에 인프라를 정의해 놓은 것이 있다면 다른 개발자는 init 작업을 통해서 local에 sync를 맞출 수 있다
Terraform plan
- 정의한 코드가 어떤 인프라를 만들게 되는지
미리 예측결과를 보여줌
- apply 전까지 backend에 저장되지 않음
- plan에서 에러가 없다고 하더라도 실제 적용되었을때 에러가 발생할 수 있음
Terraform apply
- **
실제 인프라로 배포
**하고 **백엔드에
**도 배포된 **테라폼 코드 형상이 저장
**됨
Terraform import
- AWS 인프라에 **
배포된 리소스를 테라폼 state로 옮겨주
**는 작업 진행