-
Notifications
You must be signed in to change notification settings - Fork 0
Description
帮我看一下下面这个方案怎么实现
1 总体目标
希望实现一个 跨 Project 的 API 访问架构:
A Project (入口层)
↓
Global Load Balancer
↓
PSC NEG (Consumer)
↓
B Project Service Attachment (Producer)
↓
Internal Load Balancer
↓
Backend Service (GKE / VM / MIG)
核心目标:
让 A Project 的 GLB 通过 PSC 访问 B Project 的私有服务。
⸻
2 当前网络环境
网络结构包含 两个 Project 和两种网络类型。
A Project
• 部署 Global Load Balancer
• 使用 Shared VPC
• 作为 PSC Consumer
A Project
Shared VPC
└── GLB
└── PSC NEG
⸻
B Project
• 有自己的 Private VPC
• 部署业务服务
• 作为 PSC Producer
B Project
Private VPC
└── Service Attachment
└── Internal Load Balancer
└── Backend (GKE / VM)
⸻
3 想解决的问题
希望 替换当前的跨 Project 访问方式。
当前方案
你已经实现:
GLB
↓
NON_GCP_PRIVATE_IP_PORT NEG
↓
ILB IP
↓
Backend
特点:
• 直接访问 IP + Port
• Producer IP 暴露
• Producer 无法控制 consumer
⸻
目标方案
你希望改成:
GLB
↓
PSC NEG
↓
Service Attachment
↓
ILB
↓
Backend
特点:
• 访问 Service
• 不暴露 backend IP
• Producer 可以控制访问权限
⸻
4 核心问题
在实现这个架构时,主要在确认 PSC 的依赖关系和创建条件。
你重点关注的问题包括:
1 PSC NEG 创建条件
你想确认:
• 是否需要 network
• 是否需要 subnet
• 是否必须在 Shared VPC
⸻
2 Producer Service Attachment 条件
你想理解:
• 是否必须在 Shared VPC
• 是否可以在 Private VPC
• 是否必须有 PSC NAT subnet
⸻
3 跨 Project 访问机制
想确认:
GLB (Shared VPC)
↓
PSC NEG
↓
B Project Private VPC Service Attachment
是否 官方支持并可行。
⸻
4 PSC 与当前方案对比
想弄清楚:
NON_GCP_PRIVATE_IP_PORT NEG
和
PSC NEG
之间的区别:
• 网络依赖
• 安全性
• 架构设计
⸻
5 最终目标架构
↓
GLB (A Project Shared VPC)
↓
Cloud Armor
↓
Backend Service
↓
PSC NEG
↓
Service Attachment (B Project)
↓
Internal Load Balancer
↓
Backend Service
并具备:
能力 目标
跨 Project 访问 ✔
不暴露 backend IP ✔
Producer 控制 consumer ✔
服务级别隔离 ✔
⸻
6 需求一句话总结
你的需求可以总结为:
在 A Project 的 Shared VPC 中部署 GLB,并通过 PSC NEG 作为 Consumer,访问 B Project Private VPC 中通过 Service Attachment 发布的内部服务。
⸻
7 真实关注点(更深层)
从你问的问题来看,你真正想搞清楚的是 PSC 的三个核心机制:
1️⃣ 网络归属机制
PSC NEG 不需要 network / subnet
2️⃣ Producer 网络要求
Service Attachment 必须绑定 ILB + PSC subnet
3️⃣ 跨 VPC 通信机制
Consumer VPC ≠ Producer VPC
PSC 会自动建立连接。