--- id: Service-Catalog title: "Service Catalog" type: concept tags: - DevOps - IaC - Terraform - Landing-Zone last_updated: 2026-04-19 --- ## Aliases - Service Catalog - 服务目录 ## Summary - **定义**:封装业务需求的基础设施模块分组,提供服务级别抽象 - **用途**:跨团队、跨账户复用基础设施配置,实现独立发布周期 - **云迁移价值**:通过分层抽象实现基础设施即服务模式 ## Key Details - **分层结构**: - Terraform Service Catalog:全局共享,供所有产品团队使用 - Product Team Service Catalog:团队内部复用 - Account-level Module:单账户使用 - **Service vs Module**: - Service:业务需求封装,部署一组 Module - Module:技术需求实现,单一功能单元 - 层级越高,配置选项越少(类似面向对象抽象) - **版本化管理**: - 使用语义化版本(major.minor.patch) - Terragrunt targeting 特定版本而非 master 分支 - 避免意外变更引入生产环境 ## Key Components - **main.tf**:定义模块引用和依赖关系 - **terragrunt.hcl**:目标版本和输入变量配置 - **outputs**:跨服务依赖值传递 ## Connections - [[Terraform]] ← uses ← [[Service-Catalog]] - [[TerraGrunt]] ← references ← [[Service-Catalog]] - [[Module]] ← contained_by ← [[Service-Catalog]] - [[Landing-Zone]] ← managed_by ← [[Service-Catalog]]