Update nexus: fix conflicts and sync local changes

This commit is contained in:
Shen Wei
2026-04-26 12:06:50 +08:00
parent 191797c01b
commit f09834b5a5
2443 changed files with 254323 additions and 255154 deletions

View File

@@ -1,57 +1,57 @@
---
title: "Learning Sessions Cloud Transformation Programme-Deploying RDS via Terraform"
type: source
tags: [Terraform, RDS, IaC, CTP, DevOps, DBRE, AWS]
date: 2026-04-14
---
## Source File
- [[Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]]
## Summary用中文描述
- 核心主题:**通过 Terraform 在 AWS 上部署 RDS 数据库**,涵盖 IaC 最佳实践和 Gruntwork RDS 模块的选型对比
- 问题域RDS 部署方式的选择(控制台 vs 代码、模块选型grunt work 模块 vs SRE 核心模块、Day 2 运维(扩缩容/补丁/升级)
- 方法/机制:使用 TerragruntTerraform 封装器)管理 RDS 部署,通过 GitHub PR + Atlantis 实现变更自动化CloudWatch 负责监控告警
- 结论/价值IaC 部署任何规模的 RDS 到 AWS 均优于控制台grunt work RDS Service 相比裸模块提供更完整的企业级功能KMS 加密、CloudWatch 告警等);代码即文档
## Key Claims用中文描述
- **IaC 六大大好处**:速度、灵活性、一致性、灾难恢复、文档、自动化。代码即文档
- **两种 RDS 部署选项**:裸模块 RDS module基础功能vs 更完整的 grunt work RDS Service推荐预建 KMS 加密和 CloudWatch 告警)
- **SRE 核心模块功能弱于 grunt work 服务**:建议生产环境使用 grunt work RDS Service
- **Terragrunt 优于裸 Terraform**:避免变量重复声明,保持代码整洁,贯彻 DRY 原则
- **Day 2 运维通过 GitHub PR + Atlantis 实现**:扩缩容、补丁、大版本升级均在 Terragrunt 文件中修改,通过 PR 触发 Atlantis 自动应用
- **监控方案**CloudWatch Dashboard + Alarms注意突发性能实例burstable instance的 CPU credits 消耗
## Key Quotes
> "We use Terragrunt, which is basically it's a wrapper around Terraform, and it allows you to keep your code clean and you're not repeating your variables all the time." — Greg, DBRE Team
> "The code is the documentation." — Greg, 强调 IaC 的文档价值
## Key Concepts
- [[Infrastructure-as-Code]]:通过代码定义和版本控制基础设施资源,核心优势包括速度、一致性、灾难恢复和自动化
- [[DRY Principle]]Terragrunt 通过管理 provider 和 remote_state 块减少跨环境重复声明
- [[GitOps]]:通过 GitHub PR + Atlantis 实现基础设施变更的自动化审核和应用
- [[CloudWatch-Alarms]]RDS 监控与告警机制,包含突发性能实例的 CPU credits 考虑
- [[KMS-Encryption]]grunt work RDS Service 内置的 KMS 密钥加密功能
## Key Entities
- [[Gruntwork]]:提供预建 Terraform 模块RDS Service 等),建议生产环境使用其 grunt work RDS Service 而非裸模块
- [[Atlantis]]Git 驱动的 Terraform 自动化工具,配合 GitHub PR 实现 IaC 变更
- [[Terraform]]:云厂商无关的 IaC 核心工具
- [[Terragrunt]]Terraform 的 DRY 封装层,用于管理 RDS 部署配置
- [[DBRE]]Database Reliability Engineering 团队Greg 来自该团队
- [[CloudWatch]]AWS 监控服务,用于 RDS Dashboard 和 Alarms
## Connections
- [[learning-sessions-cloud-transformation-programme-20230808-183322-meeting-recordi]] ← related ← [[learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]](同一 CTP 系列ECS 部署 + RDS 部署)
- [[ctp-topic-48-terraform-vs-terragrunt]] ← related ← [[learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]]Terragrunt 在两个主题中均有讨论)
- [[ctp-topic-16-cross-account-terraform-modules]] ← related ← [[learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]]IaC 模块化 + Cross-account Terraform
- [[ctp-topic-9-ci-cd-with-gruntwork]] ← foundation ← [[learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]]Gruntwork CI/CD 基础)
- [[Terraform]] ← wraps ← [[Terragrunt]]
- [[Gruntwork]] ← provides ← [[RDS-Module]]grunt work RDS Service
- [[Atlantis]] ← automates ← [[Terraform]]
- [[CloudWatch]] ← monitors ← [[RDS-Module]]
## Contradictions
- 与 [[ctp-topic-9-ci-cd-with-gruntwork]]Gruntwork CI/CD两者均依赖 Gruntwork 模块体系;本主题聚焦 RDS 部署CI/CD 主题聚焦 ECS 应用部署RDS 部署同样适用 Gruntwork 流水线规范,两者互补而非冲突
- 与 [[ctp-topic-48-terraform-vs-terragrunt]]Terraform vs Terragrunt本主题的实际案例印证了该主题的观点——Terragrunt 保持代码整洁、避免变量重复;两主题一致,共同推荐 Terragrunt 作为 Terraform 的封装层
- 与 [[ctp-topic-16-cross-account-terraform-modules]](跨账号 Terraform 模块):两者均讨论 Terraform 模块的运维方式跨账号模块方案Jenkins + ECS Deploy Runner与本主题RDS 通过 Atlantis的 CI/CD 载体不同,适用于不同规模和架构场景,无直接冲突
---
title: "Learning Sessions Cloud Transformation Programme-Deploying RDS via Terraform"
type: source
tags: [Terraform, RDS, IaC, CTP, DevOps, DBRE, AWS]
date: 2026-04-14
---
## Source File
- [[Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]]
## Summary用中文描述
- 核心主题:**通过 Terraform 在 AWS 上部署 RDS 数据库**,涵盖 IaC 最佳实践和 Gruntwork RDS 模块的选型对比
- 问题域RDS 部署方式的选择(控制台 vs 代码、模块选型grunt work 模块 vs SRE 核心模块、Day 2 运维(扩缩容/补丁/升级)
- 方法/机制:使用 TerragruntTerraform 封装器)管理 RDS 部署,通过 GitHub PR + Atlantis 实现变更自动化CloudWatch 负责监控告警
- 结论/价值IaC 部署任何规模的 RDS 到 AWS 均优于控制台grunt work RDS Service 相比裸模块提供更完整的企业级功能KMS 加密、CloudWatch 告警等);代码即文档
## Key Claims用中文描述
- **IaC 六大大好处**:速度、灵活性、一致性、灾难恢复、文档、自动化。代码即文档
- **两种 RDS 部署选项**:裸模块 RDS module基础功能vs 更完整的 grunt work RDS Service推荐预建 KMS 加密和 CloudWatch 告警)
- **SRE 核心模块功能弱于 grunt work 服务**:建议生产环境使用 grunt work RDS Service
- **Terragrunt 优于裸 Terraform**:避免变量重复声明,保持代码整洁,贯彻 DRY 原则
- **Day 2 运维通过 GitHub PR + Atlantis 实现**:扩缩容、补丁、大版本升级均在 Terragrunt 文件中修改,通过 PR 触发 Atlantis 自动应用
- **监控方案**CloudWatch Dashboard + Alarms注意突发性能实例burstable instance的 CPU credits 消耗
## Key Quotes
> "We use Terragrunt, which is basically it's a wrapper around Terraform, and it allows you to keep your code clean and you're not repeating your variables all the time." — Greg, DBRE Team
> "The code is the documentation." — Greg, 强调 IaC 的文档价值
## Key Concepts
- [[Infrastructure-as-Code]]:通过代码定义和版本控制基础设施资源,核心优势包括速度、一致性、灾难恢复和自动化
- [[DRY Principle]]Terragrunt 通过管理 provider 和 remote_state 块减少跨环境重复声明
- [[GitOps]]:通过 GitHub PR + Atlantis 实现基础设施变更的自动化审核和应用
- [[CloudWatch-Alarms]]RDS 监控与告警机制,包含突发性能实例的 CPU credits 考虑
- [[KMS-Encryption]]grunt work RDS Service 内置的 KMS 密钥加密功能
## Key Entities
- [[Gruntwork]]:提供预建 Terraform 模块RDS Service 等),建议生产环境使用其 grunt work RDS Service 而非裸模块
- [[Atlantis]]Git 驱动的 Terraform 自动化工具,配合 GitHub PR 实现 IaC 变更
- [[Terraform]]:云厂商无关的 IaC 核心工具
- [[Terragrunt]]Terraform 的 DRY 封装层,用于管理 RDS 部署配置
- [[DBRE]]Database Reliability Engineering 团队Greg 来自该团队
- [[CloudWatch]]AWS 监控服务,用于 RDS Dashboard 和 Alarms
## Connections
- [[learning-sessions-cloud-transformation-programme-20230808-183322-meeting-recordi]] ← related ← [[learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]](同一 CTP 系列ECS 部署 + RDS 部署)
- [[ctp-topic-48-terraform-vs-terragrunt]] ← related ← [[learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]]Terragrunt 在两个主题中均有讨论)
- [[ctp-topic-16-cross-account-terraform-modules]] ← related ← [[learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]]IaC 模块化 + Cross-account Terraform
- [[ctp-topic-9-ci-cd-with-gruntwork]] ← foundation ← [[learning-sessions-cloud-transformation-programme-deploying-rds-via-terraform]]Gruntwork CI/CD 基础)
- [[Terraform]] ← wraps ← [[Terragrunt]]
- [[Gruntwork]] ← provides ← [[RDS-Module]]grunt work RDS Service
- [[Atlantis]] ← automates ← [[Terraform]]
- [[CloudWatch]] ← monitors ← [[RDS-Module]]
## Contradictions
- 与 [[ctp-topic-9-ci-cd-with-gruntwork]]Gruntwork CI/CD两者均依赖 Gruntwork 模块体系;本主题聚焦 RDS 部署CI/CD 主题聚焦 ECS 应用部署RDS 部署同样适用 Gruntwork 流水线规范,两者互补而非冲突
- 与 [[ctp-topic-48-terraform-vs-terragrunt]]Terraform vs Terragrunt本主题的实际案例印证了该主题的观点——Terragrunt 保持代码整洁、避免变量重复;两主题一致,共同推荐 Terragrunt 作为 Terraform 的封装层
- 与 [[ctp-topic-16-cross-account-terraform-modules]](跨账号 Terraform 模块):两者均讨论 Terraform 模块的运维方式跨账号模块方案Jenkins + ECS Deploy Runner与本主题RDS 通过 Atlantis的 CI/CD 载体不同,适用于不同规模和架构场景,无直接冲突