Files
nexus/knowledgebase/DevOps & SRE/01_AWS-Landing-Zone/ctp-topic-1-gruntwork-landing-zone-architecture.md

90 lines
4.5 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.
---
title: "CTP Topic 1 Gruntwork Landing Zone Architecture"
type: cloud-learning
source-type: video
category: "DevOps & SRE/01_AWS-Landing-Zone"
tags:
- AWS
- Landing-Zone
- Gruntwork
- CTP
date-added: 2026-04-14
video-source: "nas:///volume2/work/Public Cloud Learning Sessions/CTP _ Topic 1_ Gruntwork Landing Zone Architecture.mp4"
audio-source: ""
status: summarized (Gemini 摘要)
---
# CTP Topic 1 Gruntwork Landing Zone Architecture
**Source:** NAS `/volume2/work/Public Cloud Learning Sessions/CTP _ Topic 1_ Gruntwork Landing Zone Architecture.mp4`
**Type:** VIDEO | **Category:** 01_AWS-Landing-Zone
**Status:** ✅ 已完成Gemini 摘要)
---
## 摘要
本次会议主要讨论了基于 Gruntwork 的云平台 Landing Zone 架构以及如何在云转型项目中应用最佳实践。Gruntwork 是一个拥有大量 Terraform 代码的组织其代码经过多次实践验证被认为是最佳实践。会议介绍了参考架构Reference Architecture和 Landing Zone 的概念以及它们在不同环境和账户中的实现方式。参考架构是一个起点包含共享、日志和安全等核心账户以及生产、测试和开发等工作负载账户。Landing Zone 基于 Gruntwork但不包含具体的 ECS 集群或 RDS 数据库,而是由产品团队自行定义。安全账户使用联邦用户,通过 AD 组映射到 IAM 角色。会议还强调了 Jenkins 在 CI/CD 流程中的作用,每个 Landing Zone 都有一个 Jenkins 服务器来部署基础设施变更,每个产品团队也有自己的 Jenkins 任务来部署其负责的基础设施。此外,会议还讨论了 Git 工作流,强调使用特性分支进行开发,并通过 Pull Request 合并到主分支。最后,会议介绍了 Gruntwork 的 Terraform AWS 服务目录,强调服务应具有业务上下文,而非简单的资源。
---
## 关键概念
- **参考架构 (Reference Architecture)**: 一套最佳实践的集合,作为云平台部署的起点,包含核心账户和工作负载账户。
- **Landing Zone**: 基于 Gruntwork 的云平台环境,包含安全、共享和日志等核心账户,以及由产品团队自定义的工作负载账户。
- **联邦用户 (Federated User)**: 通过 AD 组映射到 IAM 角色,用于访问云平台资源,替代了传统的 IAM 用户。
- **CI/CD 流程**: 使用 Jenkins 进行持续集成和持续交付通过特性分支、Pull Request 和审批流程来管理基础设施变更。
- **Terraform AWS 服务目录**: Gruntwork 提供的 Terraform 模块集合,用于构建具有业务上下文的云服务。
---
## 行动项
- [ ] 熟悉 Gruntwork 的 Terraform AWS 服务目录,了解可用的模块和服务。
- [ ] 遵循 Git 工作流,使用特性分支进行开发,并通过 Pull Request 合并到主分支。
- [ ] 了解 Jenkins 在 CI/CD 流程中的作用,以及如何配置 Jenkins 任务来部署基础设施变更。
- [ ] 熟悉联邦用户的配置方式,以及如何通过 AD 组映射到 IAM 角色。
- [ ] 确定 Active Directory 连接的具体配置,特别是 corp.joml 还是 swing throw。
---
## 相关视频
> [!info]+ 交叉引用
> [[ctp-topic-XX-git-workflow.md]] — 详细解释了 Git 工作流的最佳实践。
## 关键概念
- **Reference Architecture**: 包含核心账户Shared/Logs/Security和工作负载账户Prod/Stage/Dev的最佳实践起点
- **Landing Zone**: 基于 Gruntwork 仓库的基础设施部署单元,每个 Zone 有独立 GitHub 仓库管理 IaC
- **Federated Access**: 通过 AD 组映射到 IAM 角色的联邦身份访问,简化安全账户管理
- **Gruntwork Modules**: 经过实战验证的 Terraform 模块,提供业务上下文和粒度支持
- **CI/CD Pipeline**: 基于特性分支 + PR + Jenkins 的基础设施变更自动化流程
---
## 行动项
- [ ] 熟悉 Gruntwork Terraform AWS Service Catalog了解可用模块
- [ ] 采用特性分支开发流程,通过 PR 合并到主分支
- [ ] 配置 Jenkins 流水线,实现 Terraform Plan/Apply 自动化
- [ ] 探索 TerraTest 用于基础设施变更的自动化测试
- [ ] 确定 Active Directory 联邦访问的具体配置方案
---
## 相关视频
> [!info]+ 交叉引用
> [[ctp-topic-2-git.md]] — Git 版本控制基础CI/CD 前提)
> [[ctp-topic-3-deploy-and-maintain-infrastructure.md]] — Terraform 部署与维护
> [[ctp-topic-9-ci-cd-with-gruntwork.md]] — Gruntwork CI/CD 流水线实践
> [[ctp-topic-10-aws-landing-zone-lz-data-collection-tagging-related-security.md]] — Landing Zone 安全配置
---
*最后更新: 2026-04-15*