--- title: "CTP Topic 3 Deploy and maintain infrastructure" type: source tags: - CTP - IaC - Terraform - Terragrunt - Service-Catalog - Landing-Zone - DevOps sources: - raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-3-deploy-and-maintain-infrastructure.md last_updated: 2026-04-19 --- ## Source File - [[raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/06_CI_CD_GitOps/ctp-topic-3-deploy-and-maintain-infrastructure.md]] ## Summary - 核心主题:CTP 云转型计划中的基础设施部署与维护,聚焦 Terraform、Terragrunt、模块和服务目录在 Landing Zone 架构下的使用 - 问题域:云基础设施自动化部署、多账户管理、模块化复用 - 方法/机制:Service Catalog 抽象业务需求→Module 实现技术细节→Terragrunt 编排版本化部署 - 结论/价值:通过分层服务目录实现跨产品团队的基础设施复用和独立发布周期 ## Key Claims - Landing Zone provisioning 后,产品团队被分组,每个团队拥有 landing zone 和 workload 账户 - Service 是业务需求的封装,Module 是技术需求的实现,Service 部署一组 Module,抽象层级越高配置选项越少 - Terragrunt HCL 文件引用服务时 targeting 特定版本而非 master branch,避免意外变更 - 推荐使用专用 service catalog 包含 modules 目录,实现独立发布周期和更好的可维护性 ## Key Concepts - [[Terraform]]:基础设施即代码工具 - [[Terragrunt]]:Terraform 的 wrapper 工具,提供变量继承、远程状态管理 - [[Service-Catalog]]:服务目录,封装业务需求的模块分组 - [[Landing-Zone]]:云着陆区,标准化的多账户基础架构框架 - [[Module]]:Terraform 模块,可复用的基础设施配置单元 ## Key Entities - [[Gruntwork]]:参考模型,提供生产级 Terraform 模块 - [[Product-Team]]:产品团队,拥有独立的 landing zone 和 workload 账户 ## Connections - [[Product-Team]] ← uses ← [[Landing-Zone]] - [[Terragrunt]] ← references ← [[Service-Catalog]] - [[Service-Catalog]] ← contains ← [[Module]] - [[Terraform]] ← implements ← [[Module]] ## Contradictions