30 lines
2.6 KiB
Markdown
30 lines
2.6 KiB
Markdown
---
|
|
id: SYS-IAC-TERRA-001
|
|
category: "10_Wiki/💡 Topics/AI"
|
|
confidence_score: 1.0
|
|
tags: [systems, infrastructure, terraform, iac, cloud-computing, devops, automation, hashicorp]
|
|
last_reinforced: 2026-04-26
|
|
---
|
|
|
|
# Terraform Infrastructure as Code (테라폼 코드형 인프라)
|
|
|
|
## 📌 한 줄 통찰 (The Karpathy Summary)
|
|
> "인프라를 수동 조작의 대상이 아닌 '버전 관리되는 코드'로 승격시키고, 선언적인 명세(HCL)를 통해 원하는 최종 상태(Desired State)를 단번에 실현하라" — 클라우드 자원을 안전하고 효율적으로 구축, 변경, 관리하기 위한 오픈소스 코드형 인프라(IaC) 도구.
|
|
|
|
## 📖 구조화된 지식 (Synthesized Content)
|
|
- **추출된 패턴:** "Declarative Specification and State-based Reconciliation" — 어떻게(How)가 아닌 무엇(What)을 만들지 정의하고, 현재 상태(State)와 정의된 코드 사이의 간극을 테라폼 엔진이 자동으로 계산하여 실행 계획(Plan)을 도출하는 패턴.
|
|
- **핵심 구성 요소:**
|
|
- **HCL (HashiCorp Configuration Language):** 인프라를 정의하기 위한 인간 가독성 높은 언어.
|
|
- **Providers:** AWS, Azure, GCP 등 외부 서비스와 연결하는 플러그인.
|
|
- **State File:** 실제 배포된 자원의 정보를 담고 있는 지도. 정합성 유지의 핵심.
|
|
- **Modules:** 자주 쓰이는 인프라 패턴을 묶어 재사용 가능하게 만든 컴포넌트.
|
|
- **의의:** 복잡한 멀티 클라우드 환경에서 인프라 구축의 일관성을 보장하고, 인적 오류를 방지하며, 인프라 자체를 소프트웨어처럼 테스트하고 협업할 수 있게 함.
|
|
|
|
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
|
- **과거 데이터와의 충돌:** 초기에는 단순히 설치 스크립트의 발전형으로 여겨졌으나, 이제는 '불변 인프라(Immutable Infrastructure)' 철학의 핵심 도구로서 기존 자원을 수정하는 대신 새롭게 배포하고 교체하는 방식의 안정성을 극대화하는 방향으로 발전함.
|
|
- **정책 변화:** Antigravity 프로젝트는 에이전트 구동을 위한 클라우드 클러스터 확장 및 벡터 DB 인프라 구축 시, 모든 변경 사항을 추적 가능하게 관리하기 위해 테라폼을 표준 IaC 도구로 채택함.
|
|
|
|
## 🔗 지식 연결 (Graph)
|
|
- Cloud-Computing-Foundations, [[Scalability-in-AI-Systems|Scalability-in-AI-Systems]], [[System-Architecture-Design|System-Architecture-Design]], [[Software-Architecture-Patterns|Software-Architecture-Patterns]]
|
|
- **Raw Source:** 10_Wiki/Topics/AI/Terraform-Infrastructure-as-Code.md
|