Files
nexus/wiki/concepts/Terraform.md
2026-04-20 00:02:56 +08:00

47 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: Terraform
title: "Terraform"
type: concept
tags:
- DevOps
- IaC
- AWS
- Infrastructure
last_updated: 2026-04-19
---
## Aliases
- Terraform
- IaC (Infrastructure as Code)
## Summary
- **定义**:基础设施即代码工具,通过声明式配置定义云资源
- **用途**跨云平台AWS、Azure、GCP管理基础设施
- **云迁移价值**:实现基础设施版本控制、可重复部署和环境一致性
## Key Details
- **核心概念**
- Provider云平台连接器aws、azurerm 等)
- Resource基础设施资源定义
- Data Source只读数据查询
- Variable输入变量
- Output输出值
- Module可复用配置单元
- **工作流程**
- init初始化 provider 和 backend
- plan预览变更
- apply执行变更
- destroy销毁资源
- **状态管理**
- 本地状态或远程状态S3、DynamoDB
- 状态锁防止并发冲突
## Terraform vs Terragrunt
- **Terraform**:底层 IaC 工具
- **Terragrunt**Terraform 包装器,提供模块变量共享、多环境管理、远程状态配置
## Connections
- [[TerraGrunt]] ← wraps ← [[Terraform]]
- [[Service-Catalog]] ← uses ← [[Terraform]]
- [[AWS]] ← managed_by ← [[Terraform]]
- [[Module]] ← implemented_by ← [[Terraform]]