ayushgharat234/enterprise-cloud-network-infra

GitHub: ayushgharat234/enterprise-cloud-network-infra

该项目提供了一个基于 GCP 的企业级多 VPC 中心辐射网络架构方案,集成了零信任安全、带外威胁检测、DevSecOps CI/CD 流水线以及全面的 SRE 网络可观测性。

Stars: 0 | Forks: 0

# 企业云网络中心与零信任架构 [![GCP](https://img.shields.io/badge/GCP-Enterprise_Networking-4285F4?style=flat-square&logo=googlecloud&logoColor=white)](https://cloud.google.com/) [![Terraform](https://img.shields.io/badge/IaC-Terraform_v1.5+-844FBA?style=flat-square&logo=terraform&logoColor=white)](https://www.terraform.io/) [![Security](https://img.shields.io/badge/Security-Zero_Trust_%7C_Cloud_IDS-D93025?style=flat-square&logo=googlecloud&logoColor=white)](https://cloud.google.com/security) [![CI/CD](https://img.shields.io/badge/CI%2FCD-GitHub_Actions_%7C_WIF-2088FF?style=flat-square&logo=githubactions&logoColor=white)](https://github.com/features/actions) [![Observability](https://img.shields.io/badge/Observability-VPC_Flow_Logs-188038?style=flat-square&logo=googlecloud&logoColor=white)](https://cloud.google.com/monitoring) ## 架构概述 ![企业架构图](https://static.pigsec.cn/wp-content/uploads/repos/cas/90/90961650358ae781a4ec84b31dbeba665806adc35df845d203ae0181a14e2e38.png) ## 目录 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 目标, 隔离协议测试 | ![启用 VPC Flow Logs 的多 VPC 架构](https://static.pigsec.cn/wp-content/uploads/repos/cas/89/89815926bc810502c75f54273c122996ad0df95121c042c6fd46afcf2a539864.png) ![Network Analyzer 拓扑视图](https://static.pigsec.cn/wp-content/uploads/repos/cas/94/9483b791f585a493fe9b5621990b2e906560f41ed736614e7e424d3ae2b3ad6b.png) ## 零信任安全态势 安全控制分布在控制平面和数据平面上,以实现深度防御: ### 全局网络防火墙策略 (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`)。 ![Global Network Firewall Policy 规则](https://static.pigsec.cn/wp-content/uploads/repos/cas/3c/3cb00867b7b17639379c0ab7cb134c9cf782f4ce2afbad59349ef526c7f659f8.png) ### 2. 带外威胁检测 (Cloud IDS) 在中心 VPC 内置了 Google Cloud IDS 端点。GCP Packet Mirroring 策略捕获传输子网上的所有入口、出口和内部 TCP/UDP/ICMP 流量,并将其镜像到 Cloud IDS,而不会影响网络吞吐量或增加延迟。 ![Cloud IDS Endpoint 状态](https://static.pigsec.cn/wp-content/uploads/repos/cas/65/65ee7c15ecaacd6b87dd0731241aadac11d5e4af008db0fb60693cea268488b9.png) ![Cloud IDS 主仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/cas/27/27eb0e917f53bb6bc80c17a9f464443ae16caacefe7f9eb233280df65c62e42a.png) ### 3. Identity-Aware Proxy (IAP) 零信任访问 内部管理节点中不再需要堡垒机 VM 和公网 IP 地址。系统管理员通过 GCP Identity-Aware Proxy (IAP) 进行安全身份验证,直接通过内部 IP 建立加密的 SSH 隧道。 ![IAP 与负载均衡器配置](https://static.pigsec.cn/wp-content/uploads/repos/cas/01/01863da0b34661719eb473b7d633ac8802be5714e05deb161df4243fdddd4d85.png) ## SRE 可观测性与网络遥测 可观测性使用原生的 Google Cloud Operations 工具内置于基础设施的每一层: * **VPC Flow Logging:** 在所有子网上启用,具有可配置的采样率(`0.5`),捕获网络遥测、丢包和延迟元数据。 * **集中式 Cloud DNS:** Cloud DNS 私有区域和转发规则在对等的 VPC 间解析内部域名端点,而不会暴露内部 IP。 * **Network Analyzer 诊断:** 自动化的持续后台监控,用于检查无效路由、防火墙影子规则或断开的连接路径。 ![集中式 Cloud DNS 配置](https://static.pigsec.cn/wp-content/uploads/repos/cas/4a/4a1caaf136519cdc7ee07ac6965b165e672211b88b5b10443b1621c42fff47e8.png) ![Network Analyzer 拓扑审计](https://static.pigsec.cn/wp-content/uploads/repos/cas/94/9483b791f585a493fe9b5621990b2e906560f41ed736614e7e424d3ae2b3ad6b.png) ![Network Analyzer 诊断报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/2d/2d7c024c12c566cd0b2a2b7f55df842d4f7b75cda0c52b33c3ac9543574a1ba0.png) ## 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` 输出,以便在合并到生产环境之前进行同行审查。 ![GitHub Actions CI/CD 流水线执行](https://static.pigsec.cn/wp-content/uploads/repos/cas/e8/e85d37c58401a15d7c2ef089ba912aa986c08be4efe17cf9de47439314eb63dc.png) ## 复现与部署指南 ### 前置条件 * 已在本地安装 [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 的汇总统计数据,包括实时网络吞吐量、全局防火墙丢弃率和数据包计数趋势。 ![网络 SRE 运营仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/cas/14/141e64c73d2f2e9b0b5e33176bf15e6015037eb0ea24b0a40fca2c4fc9020f4b.png) ### 2. 高可用性 VPN 传输分析 监控连接 `vpc-hub` 和 `vpc-partner-shared` 的双隧道 IPSec VPN 上的 BGP 会话状态、隧道吞吐量和数据包传输指标。 ![HA VPN 传输网关分析](https://static.pigsec.cn/wp-content/uploads/repos/cas/f6/f63c2edf586e1b84acb27ce9342bf61dbcb83ea6d1e5ab4d474f283108c22f21.png) ![专用 VPN 健康状况仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/cas/07/070c4fa91b03dd165cd163b6ba539b264ef623e7fb33a62a64c41b9645342693.png) ### 3. Cloud IDS 威胁日志分析 捕获并分类由模拟安全探针生成的威胁特征、payload 异常和严重性细分。 ![Cloud IDS 检测到的威胁日志](https://static.pigsec.cn/wp-content/uploads/repos/cas/c9/c98984414f198374eec76fe087c9bacd039348550053f16d56b5fb56dcce9f76.png) ## 限制与权衡 该基础设施在企业设计模式与运营成本限制之间取得了平衡。关键的架构权衡包括: * **独立的 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, 上游代理, 可观测性, 网络安全, 网络架构, 隐私保护, 零信任