ayushgharat234/enterprise-cloud-network-infra
GitHub: ayushgharat234/enterprise-cloud-network-infra
该项目提供了一个基于 GCP 的企业级多 VPC 中心辐射网络架构方案,集成了零信任安全、带外威胁检测、DevSecOps CI/CD 流水线以及全面的 SRE 网络可观测性。
Stars: 0 | Forks: 0
# 企业云网络中心与零信任架构
[](https://cloud.google.com/)
[](https://www.terraform.io/)
[](https://cloud.google.com/security)
[](https://github.com/features/actions)
[](https://cloud.google.com/monitoring)
## 架构概述

## 目录
1. [项目概述](#project-overview)
2. [核心架构目标](#key-architecture-objectives)
3. [网络拓扑与多 VPC 架构](#network-topology-and-multi-vpc-architecture)
4. [零信任安全态势](#zero-trust-security-posture)
5. [SRE 可观测性与网络遥测](#sre-observability-and-network-telemetry)
6. [DevSecOps 流水线与无密钥认证](#devsecops-pipeline-and-keyless-authentication)
7. [复现与部署指南](#replication-and-deployment-guide)
8. [遥测与控制台验证指南](#telemetry-and-console-verification-walkthrough)
9. [限制与权衡](#limitations-and-trade-offs)
10. [成本概况](#cost-profile)
11. [仓库结构](#repository-structure)
12. [作者](#author)
## 项目概述
本仓库包含一个企业级的云传输网络中心(Cloud Transit Network Hub)与零信任基础设施,使用 Terraform 部署在 Google Cloud Platform 上。它建立了一个多 VPC 的中心辐射(hub-and-spoke)架构,专为安全的企业运营、稳健的站点到站点连接、带外威胁检测以及持续的 SRE 可观测性而设计。
该架构将核心工作负载隔离在安全的分支网络中,执行集中化的三层到七层安全策略,并集成了实时遥测管道以监控网络健康状况、BGP 隧道状态以及威胁态势。
## 核心架构目标
此实现受以下企业设计原则驱动:
* **零长期凭证:** CI/CD 部署流水线使用 Workload Identity Federation (WIF) 和短期 OIDC token 向 GCP 进行身份验证,消除了长期使用的服务账号 JSON 密钥。
* **中心辐射隔离:** 核心应用工作负载被严格隔离到专用的分支 VPC 中。动态路由通过具有非传递性对等边界的中心 VPC 进行集中管理。
* **带外威胁检测:** GCP Packet Mirroring 克隆网络流量而不会引入内联延迟,将镜像流路由到 Google Cloud IDS 进行威胁分析。
* **集中化安全治理:** 使用应用于所有虚拟私有云的统一 Global Network Firewall Policies 替代了传统的每个 VPC 单独的防火墙规则。
* **完整的 SRE 可观测性:** 持续将 VPC Flow Logs、Cloud NAT 日志和 Cloud IDS 告警流接入到专门的 Cloud Monitoring 仪表盘中。
## 网络拓扑与多 VPC 架构
该基础设施在 `asia-south1` 区域内部署了五个专门的虚拟私有云(VPC),以实现功能隔离:
### 子网分配与多 VPC 架构
| VPC 名称 | 用途 | 子网 CIDR | 区域 | 主要功能 |
| --- | --- | --- | --- | --- |
| `vpc-hub` | 中心传输枢纽 | `10.0.0.0/24` | `asia-south1` | HA VPN Gateway, Cloud IDS Endpoint, BGP Routers |
| `vpc-ai-workloads` | 安全工作负载分支 | `10.1.0.0/16` | `asia-south1` | 内部 L4 负载均衡器, MIG 自动修复, Cloud Armor |
| `vpc-ops` | 管理与监控 | `10.2.0.0/24` | `asia-south1` | 心跳生成器, 诊断探针, IAP 访问 |
| `vpc-partner-shared` | 外部连接 | `10.20.0.0/16` | `asia-south1` | 模拟本地/合作伙伴网络, 双重 IPSec 隧道 |
| `vpc-sandbox` | 暂存与验证 | `10.5.0.0/24` | `asia-south1` | Network Analyzer 目标, 隔离协议测试 |


## 零信任安全态势
安全控制分布在控制平面和数据平面上,以实现深度防御:
### 全局网络防火墙策略 (NGFW)
Global Network Firewall Policies 在所有五个 VPC 中同时强制执行全企业范围的安全态势,优先考虑针对高风险协议(例如端口 25 上的出站 SMTP)的显式拒绝规则,同时明确允许 GCP Health Check 源 IP 范围(`130.211.0.0/22`、`35.191.0.0/16`)和 Identity-Aware Proxy (IAP) SSH 范围(`35.235.240.0/20`)。

### 2. 带外威胁检测 (Cloud IDS)
在中心 VPC 内置了 Google Cloud IDS 端点。GCP Packet Mirroring 策略捕获传输子网上的所有入口、出口和内部 TCP/UDP/ICMP 流量,并将其镜像到 Cloud IDS,而不会影响网络吞吐量或增加延迟。


### 3. Identity-Aware Proxy (IAP) 零信任访问
内部管理节点中不再需要堡垒机 VM 和公网 IP 地址。系统管理员通过 GCP Identity-Aware Proxy (IAP) 进行安全身份验证,直接通过内部 IP 建立加密的 SSH 隧道。

## SRE 可观测性与网络遥测
可观测性使用原生的 Google Cloud Operations 工具内置于基础设施的每一层:
* **VPC Flow Logging:** 在所有子网上启用,具有可配置的采样率(`0.5`),捕获网络遥测、丢包和延迟元数据。
* **集中式 Cloud DNS:** Cloud DNS 私有区域和转发规则在对等的 VPC 间解析内部域名端点,而不会暴露内部 IP。
* **Network Analyzer 诊断:** 自动化的持续后台监控,用于检查无效路由、防火墙影子规则或断开的连接路径。



## DevSecOps 流水线与无密钥认证
基础设施部署完全通过使用 GitHub Actions (`.github/workflows/terraform.yml`) 的 GitOps 驱动。
### 流水线安全特性
1. **Workload Identity Federation (WIF):** 流水线通过 OpenID Connect (OIDC) 向 Google Cloud 进行身份验证。短期 IAM 访问 token 被动态交换,无需在仓库密钥中存储静态的 GCP 服务账号密钥。
2. **静态代码分析(`tfsec`):** 在拉取请求检查期间扫描 Terraform 配置文件,以便在执行前检测安全配置错误。
3. **自动化 Plan 审查:** 在拉取请求上生成详细的 `terraform plan` 输出,以便在合并到生产环境之前进行同行审查。

## 复现与部署指南
### 前置条件
* 已在本地安装 [Terraform v1.5.0+](https://developer.hashicorp.com/terraform/downloads)。
* 已通过 [Google Cloud SDK (`gcloud`)](https://cloud.google.com/sdk/docs/install) 完成身份验证。
* 一个已启用结算功能的 GCP 项目。
### 阶段 1:身份验证与后端初始化
```
# 认证 gcloud 应用默认凭据
gcloud auth application-default login
# 设置你的目标 project ID
gcloud config set project YOUR_PROJECT_ID
# 导航到 infrastructure module 目录
cd infra
```
### 阶段 2:Terraform 执行
```
# 初始化 Terraform providers 和 backend modules
terraform init
# 验证语法和静态配置完整性
terraform validate
# 生成并检查执行计划
terraform plan
# 应用配置以 provision multi-VPC 架构
terraform apply -auto-approve
```
## 遥测与控制台验证指南
配置完成后,`vpc-ops` 网络中的自动化流量生成器将开始通过传输中心传输合成的 ICMP、HTTP 和诊断请求。
导航至 **Google Cloud Console > Monitoring > Dashboards** 以检查实时运营指标:
### 1. 网络 SRE 运营仪表盘
显示所有五个 VPC 的汇总统计数据,包括实时网络吞吐量、全局防火墙丢弃率和数据包计数趋势。

### 2. 高可用性 VPN 传输分析
监控连接 `vpc-hub` 和 `vpc-partner-shared` 的双隧道 IPSec VPN 上的 BGP 会话状态、隧道吞吐量和数据包传输指标。


### 3. Cloud IDS 威胁日志分析
捕获并分类由模拟安全探针生成的威胁特征、payload 异常和严重性细分。

## 限制与权衡
该基础设施在企业设计模式与运营成本限制之间取得了平衡。关键的架构权衡包括:
* **独立的 GCP 项目环境:** 由于部署在非组织项目环境中,因此省略了 Shared VPC 和组织级别的 VPC Service Control 边界。
* **带外检测 vs 内联 WAF:** 四层内部负载均衡器不支持直接附加 Cloud Armor 策略;七层检测通过 Cloud IDS 在带外进行处理。
* **区域工作负载范围:** 所有计算资源都集中在 `asia-south1`。多区域故障转移需要额外的多区域后端组。
有关限制、运营权衡和高级工程事件日志的全面深入技术分析,请参阅专门的[工程经验文档](engineering_learnings.md)。
## 成本概况
在 `asia-south1` 中持续运行此环境的每月成本约为 **$238.20 USD**。关键的成本优化包括:
* **Spot 虚拟机:** 用于 AI 工作负载托管实例组,可将计算费用降低高达 80%。
* **VPC Flow Logs 与 NAT FinOps:** 抑制常规的 Cloud NAT 日志(在 `infra/modules/vpc/main.tf` 中设置 `ERRORS_ONLY` 过滤器),并通过带有 365 天生命周期规则的 GCS Log Sinks (`infra/logging.tf`) 路由网络遥测,以防止 Cloud Logging 摄取成本失控。
详细的成本表和财务约束分析可以在[工程经验文档](engineering_learnings.md#cost-profile-and-financial-constraints)中找到。
## 仓库结构
```
enterprise-cloud-network-infra/
├── .github/
│ └── workflows/
│ └── terraform.yml # GitHub Actions CI/CD pipeline with WIF & tfsec
├── architecture/
│ └── architecture.png # High-resolution architectural diagram
├── infra/
│ ├── cloud-armor.tf # Google Cloud Armor security policies
│ ├── cloud-ids.tf # Cloud IDS endpoint & packet mirroring configuration
│ ├── devsecops.tf # Workload Identity Federation & IAM bindings
│ ├── dns.tf # Centralized Cloud DNS private zones
│ ├── fortigate.tf # Security NVA firewall integration module
│ ├── internal-connectivity.tf # Cross-VPC internal routing definitions
│ ├── loadbalancer.tf # Internal TCP/UDP Load Balancer & Health Checks
│ ├── logging.tf # Log Sinks, GCS bucket retention & telemetry
│ ├── main.tf # Root Terraform orchestration module
│ ├── monitoring.tf # Cloud Monitoring SRE dashboards
│ ├── ngfw.tf # Global Network Firewall Policies
│ ├── packet-mirroring.tf # VPC Packet Mirroring rules
│ ├── partner-connectivity.tf # HA VPN Gateway, BGP Routers & IPSec Tunnels
│ ├── providers.tf # Google Cloud Provider definitions
│ ├── routing.tf # Custom route tables & gateway attachments
│ ├── security.tf # IAP firewall rules & ingress controls
│ ├── variables.tf # Input variable declarations
│ ├── vpc-sc.tf # VPC Service Controls reference configuration
│ └── workloads.tf # Managed Instance Groups & traffic generators
├── screenshots/ # Telemetry, dashboard, and verification screenshots
├── engineering_learnings.md # Comprehensive trade-offs & incident troubleshooting log
├── SECURITY.md # Vulnerability reporting & DevSecOps security policy
├── LICENSE # MIT Open Source License
├── README.md # Primary repository documentation
└── .gitignore # Git ignore patterns
```
## 作者
**Ayush Gharat**
云网络架构、DevSecOps 与 SRE 作品集项目
标签:API集成, DevSecOps, ECS, GCP, JSONLines, Terraform, 上游代理, 可观测性, 网络安全, 网络架构, 隐私保护, 零信任