인프라 변경을 코드처럼 검토하고 안전하게 적용하는 방법
서버나 네트워크를 직접 만지지 않고 파일로만 관리하면서, 실제 적용 전에 어떤 일이 일어날지 미리 확인할 수 있습니다. Terraform은 인프라를 선언형 설정 파일로 정리해 팀이 코드처럼 공유하고 버전 관리할 수 있게 하는 도구입니다. 이 파일은 API를 코드화하여 변경 사항을 추적하고 리뷰하는 과정을 표준화합니다.
실행 계획과 리소스 그래프
Terraform은 인프라를 변경하기 전에 실행 계획을 생성합니다. 이 계획은 apply 명령을 실행했을 때 어떤 자원이 어떻게 바뀔지 미리 보여줘서 예상치 못한 상황을 방지합니다. 또한 모든 리소스 간의 의존성을 그래프로 구성합니다. 서로 의존하지 않는 리소스는 동시에 생성하거나 수정하므로 인프라 구축을 효율적으로 진행합니다. 운영자는 이 그래프를 통해 인프라 내부의 연결 관계를 명확히 파악할 수 있습니다.
코어와 프로바이더의 분리
이 저장소는 Terraform 코어, 즉 명령줄 인터페이스와 주요 그래프 엔진만 포함합니다. 클라우드 서비스나 내부 시스템과 연결하는 프로바이더는 플러그인 형태로 구현됩니다. Terraform은 레지스트리에 공개된 프로바이더를 자동으로 다운로드합니다. HashiCorp가 개발한 프로바이더 외에도 다른 조직이 개발한 프로바이더를 사용할 수 있어 다양한 환경에 적용할 수 있습니다.
라이선스 조건과 사용 범위
Terraform은 Business Source License 1.1을 사용합니다. 이 도구는 복잡한 변경 사항을 자동화할 때 인간 개입을 최소화하고 오류를 줄이는 데 초점을 맞춥니다. 인프라를 코드처럼 다루고 싶지만, 라이선스 제한이 비즈니스에 영향을 주지 않는지 먼저 점검해야 합니다.