islamelkadi/terraform-aws-rds
GitHub: islamelkadi/terraform-aws-rds
一个基于实战经验构建的生产级 Terraform AWS RDS 模块,集成 Aurora Serverless v2 与多框架合规自动化,旨在简化安全数据库架构的部署与治理。
Stars: 0 | Forks: 0
# Terraform AWS RDS 模块
可复用的 Terraform AWS RDS 模块,包含 Aurora Serverless v2 和 RDS Proxy 子模块。
## 目录
- [前置条件](#prerequisites)
- [安全](#security)
- [子模块](#submodules)
- [用法](#usage)
- [模块结构](#module-structure)
- [要求](#requirements)
- [MCP 服务器](#mcp-servers)
## 前置条件
本模块专为 macOS 设计。您的机器上必须已安装:
- Python 3 和 pip
- [Kiro](https://kiro.dev) 和 Kiro CLI
- [Homebrew](https://brew.sh)
要安装其余的开发工具,请运行:
```
make bootstrap
```
这将安装/升级:tfenv、Terraform(通过 tfenv)、tflint、terraform-docs、checkov 和 pre-commit。
## 安全
### 安全控制
实施针对 FSBP、CIS、NIST 800-53/171 和 PCI DSS v4.0 的控制措施:
- 使用 KMS 客户托管密钥进行静态加密
- 具有可配置保留期的自动加密备份
- Performance Insights 和增强监控
- Multi-AZ 高可用性
- 删除保护
- 带有审计理由的安全控制覆盖
### 基于环境的安全控制
安全控制通过 [terraform-aws-metadata](https://github.com/islamelkadi/terraform-aws-metadata?tab=readme-ov-file#security-profiles) 模块的安全配置文件根据环境自动应用:
| 控制项 | 开发环境 | 预发布环境 | 生产环境 |
|---------|-----|---------|------|
| KMS 静态加密 | 可选 | 必需 | 必需 |
| 自动备份 | 可选 | 必需 | 必需 |
| Performance Insights | 可选 | 启用 | 启用 |
| Multi-AZ | 禁用 | 启用 | 启用 |
| 删除保护 | 禁用 | 启用 | 启用 |
| 增强监控 | 可选 | 推荐 | 必需 |
有关安全配置文件以及控制如何随环境变化的完整详细信息,请参阅 [安全配置文件](https://github.com/islamelkadi/terraform-aws-metadata?tab=readme-ov-file#security-profiles) 文档。
## 子模块
| 子模块 | 描述 |
|-----------|-------------|
| [aurora](modules/aurora/) | Aurora Serverless v2 PostgreSQL 集群 |
| [proxy](modules/proxy/) | 用于连接池的 RDS Proxy |
## 用法
```
module "aurora" {
source = "github.com/islamelkadi/terraform-aws-rds"
namespace = "example"
environment = "prod"
name = "corporate-actions"
region = "us-east-1"
database_name = "corporate_actions_db"
master_username = "postgres"
master_password = var.master_password
subnet_ids = var.subnet_ids
vpc_security_group_ids = var.vpc_security_group_ids
kms_key_arn = var.kms_key_arn
min_capacity = 0.5
max_capacity = 4
instance_count = 2
tags = var.tags
}
```
## 模块结构
```
terraform-aws-rds/
├── modules/
│ ├── aurora/
│ │ ├── example/
│ │ │ ├── main.tf
│ │ │ ├── variables.tf
│ │ │ ├── outputs.tf
│ │ │ └── params/input.tfvars
│ │ └── ...
│ └── proxy/
│ ├── example/
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ ├── outputs.tf
│ │ └── params/input.tfvars
│ └── ...
└── README.md
```
## 要求
| 名称 | 版本 |
|------|---------|
| terraform | >= 1.14.3 |
| aws | >= 6.34 |
## MCP 服务器
本模块包含两个在 `.kiro/settings/mcp.json` 中配置的 [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) 服务器,用于 Kiro:
| 服务器 | 包 | 描述 |
|--------|---------|-------------|
| `aws-docs` | `awslabs.aws-documentation-mcp-server@latest` | 提供对 AWS 文档的访问,用于服务功能、API 参考和最佳实践的上下文查找。 |
| `terraform` | `awslabs.terraform-mcp-server@latest` | 支持直接从 IDE 执行 Terraform 操作(init、validate、plan、fmt、tflint),并为常见工作流提供自动批准的命令。 |
这两个服务器都通过 `uvx` 运行,除 [引导](#prerequisites) 步骤外无需额外安装。
## 需求
No requirements.
## Providers
No providers.
## 模块
No modules.
## 资源
No resources.
## 输入
No inputs.
## 输出
No outputs.
标签:Amazon Web Services, Aurora Serverless v2, AWS, CIS, Cloud, DPI, EC2, ECS, IaC, KMS 加密, Multi-AZ, NIST 800-53, PCI DSS, Python, RDS, RDS Proxy, SQL, Terraform, 人工智能安全, 企业级, 合规性, 数据库, 无后门, 模块, 漏洞利用检测, 特权提升, 生产就绪, 系统审计, 自动化部署