- Terraform의 상태가 기록된 tfstate파일을 이용해 상태 관리
- 주소, 이름 등 민감정보가 들어있으므로 공개된 Github등에 업로드 X => 안전한 곳에 암호화하여 저장
- 모듈은 재사용, 유지 관리 가능한 Terraform 코드를 작성하는 핵심 요소
- 여러 위치에서 재사용 가능한 모듈을 만들고, 이를 참조하는 방식을 통해 똑같은 코드를 여러 곳에 작성할 필요 없음
-
Terraform의 상태 파일을 AWS DynamoDB와 S3를 통해 저장
-
webserver, MySQL의 백엔드 예제 인프라 구축
-
로드밸런서를 이용하여 webserver에 대해 ASG(Auto Scaling Group) 구축
-
위의 작업들은 Terraform 코드를 이용해 웹 콘솔 작업 없이 코드를 통해서 프로비저닝
-
위에서 진행했던 webserver 환경 구축을 모듈로 분리
-
다른 환경(stage, prod디렉토리)에서는 webserver환경 구축을 모듈을 참조하도록 하는 terraform코드만 작성하면 됨
-
모듈을 이용하여 webserver인프라 프로비저닝
-
모듈 지역화(local)을 이용하여 변수를 locals.tf파일에 정의해두고, 이 변수를 모듈 전체에서 사용 가능하게함