VPC Peering和路由
1)为什么Peering以及何时合适
VPC/VNet Peering将提供商的专用网络与私有流量(没有Internet,并且对等之间没有NAT)集成到一个点对点地址空间中。类型案例:- 共享私有连通性的介质和域分离(prod/stage/dev);
- 在共享网络中提供共享平台(编写,KMS/Vault,工件);
- 通过私有路径从应用程序访问受控的PaaS(通过枢纽/端口)。
如果最好不是点对点,而是中心:超过10到20个网络,则需要传输路由、集中式网格、互连→使用Transit Gateway/Virtual WAN/Cloud Router。
2)模型和限制
2.1种piring
区域内同行-在该区域内,最小的延迟和成本。
跨地区同行-跨区域,通常支付区域间流量。
Cross-project/account-不同帐户/项目之间的对等(具有委托)。
2.2过境和NAT
经典的VPC/VNet Peering不是传递性的:A↔B和B↔C网络并不意味着A↔C。
通过中间网络进行传输的NAT是反模式(打破源IP,复杂的审计)。
对于公交-总线:AWS公交(TGW),Azure虚拟WAN/Hub,GCP 云路由器/HA VPN/Peering Router。
2.3 Overlapping CIDR
Piring不支持相交的前缀。如果交叉是不可避免的-应用:- 编织地址(最佳选择);
- 具有单向电路的NAT 域/Proxy VPC(考虑审核和逻辑);
- 对于特定的PaaS-没有L3访问的PrivateLink/PSC。
3)编址和路线设计
3.1 CIDR规划
单一超级网络(例如'10。0.0.0/8')→分为"region/env/vpc"。
为未来的VPC/tenant(增长缓冲区)保留范围。
IPv6-预先计划:"/56"在VPC上,"/64"在子网上。
3.2路由
路线表:在每个VPC/子网上, peer/hub上的显式路由。
优先级:更具体的前缀获胜;避免通过对等来捕捉所有。
Blackhole保护:重复/过时的路线标记和清洁。
3.3个域和角色
Spoke(应用程序)↔ Hub(共享服务、egress,检查)。
Pyrs仅spoke↔hub;spoke↔spoke-通过中心(分割和控制)。
4)拓扑模式
4.1个"简单"mesh(≤5 VPC)
笔直的pin-tu-pin pira(A↔B,A↔C……)。优点:组件的最小值;缺点:O(N ²)联系和规则。
4.2 Hub-and-Spoke
所有spoke都带有Hub VPC/VNet;在中心-TGW/虚拟 WAN/云路由器,NAT/egress,检查。可扩展,只需管理即可。
4.3个多区域
每个地区的本地枢纽;中心之间是区域间对接或干线(TGW-to-TGW/VWAN-to-VWAN)。
5)安全性和细分
主机上的静态:SG/NSG是主要障碍;NACL/子网 ACL-粗糙的栅栏/阴暗表。
Mesh/proxy(Istio/Envoy/NGINX)中的L7策略是mTLS/JWT/claims的授权。
Egress控制:spoke不应直接通过egress 网关/PrivateLink"查看"Internet。
流量记录和枢纽检查(GWLB,IDS/IPS)用于VPC间流量。
6) DNS и split-horizon
每个私有区域都可以在所需的VPC(私人主机Zones/私人 DNS/Zones)上看到。
对于PaaS,通过PrivateLink/PSC是私有IP端点上的专用条目。
Conditional forwarding между on-prem ↔ cloud и region ↔ region.
命名:'svc。env.region.internal.corp'-没有PII;将TTL(30-120 s)捕获到捕获器下。
7)可观察性和测试
度量标准:接受/拒绝在SG/NSG上,点对点,区域之间的RTT/jitter,top-talkers。
Logs:SIEM中的VPC Flow Logs/NSG Flow Logs,带有"trace_id"的跟踪以表示L7↔L3。
可达性测试: 来自不同子网/AZ/地区的合成 TCP/443/DB端口;reachability analyzer.
混沌网络:peer/hub之间的延迟/损失;Taymout/Retrais/Idementity检查。
8)生产力和成本
区域间几乎总是收费;提前读取egress(在日志/备份时更昂贵)。
MTU/PMTUD:在提供商中,标准的MTU,但在边界(VPN,FW,NAT-T)上,考虑MSS clamp。
水平检查缩放(GWLB/尺码集),没有瓶颈;用于中心的ECMP。
缓存/边缘和SWR减少了区域间流量。
9)云功能和示例
9.1 AWS (VPC Peering / Transit Gateway)
VPC同步:创建同行连接,在子网表中添加路由。
没有通过普通珍珠的过境。对于公交和集中模式-公交网关。
hcl resource "aws_vpc_peering_connection" "a_b" {
vpc_id = aws_vpc. a. id peer_vpc_id = aws_vpc. b. id peer_owner_id = var. peer_account_id auto_accept = false tags = { Name = "a-b", env = var. env }
}
resource "aws_route" "a_to_b" {
route_table_id = aws_route_table. a_rt. id destination_cidr_block = aws_vpc. b. cidr_block vpc_peering_connection_id = aws_vpc_peering_connection. a_b. id
}
9.2 Azure (VNet Peering / Virtual WAN)
VNet Peering(包括全局):Allow forwarded traffic标志,用于集线器电路的远程网关。
对于枢纽和公交-虚拟WAN/Croute Tables and Policies。
bash az network vnet peering create \
--name spokeA-to-hub --vnet-name spokeA --remote-vnet hub \
--resource-group rg --allow-vnet-access --allow-forwarded-traffic
9.3 GCP (VPC Peering / Cloud Router)
没有过境的VPC Peering;中心-Cloud Router+HA VPN/Peering Router。
Hierarchical FW для org-guardrails.
10)对等网络中的Kubernetes
spoke中的群集,共享服务(逻辑/存储/工件)-到hub;通过私人地址访问。
NetworkPolicy "deny-all"和Hub/PrivateLink上的显式egress。
不要在VPC之间"挂起"Pod CIDR;路由CIDR并使用Ingress/Gateway。
11)Trablshuting(spargalka)
1.CIDR不相交吗?检查超集/旧子网。
2.路线表: 两边有路吗?是否没有更具体的路线拦截流量?
3.SG/NSG/NACL: stateful-in/out是否匹配?子网ACL是否阻止反向流量?
4.DNS:正确的私人记录/前进者?检查两个网络中的"dig+short"。
5.MTU/MSS/PMTUD:没有碎片和"沉默"的时间?
6.流量检查记录:是否有SYN/SYN-ACK/ACK?谁在闲逛?
7.区域间:配额/对等限制/组织策略/路由标签。
12)反模式
数十个没有枢纽的啤酒的"偶然"混乱→复杂性和错过ACL的爆炸。
Overlapping CIDR"某种程度上是NAT的幸存者"→会破坏审计/端到端识别。
每个漏洞中的公共表情→不可控制的表面和成本。
缺少DNS分裂地平线→名称泄漏/断层。
宽路线'0。0.0.0/0'通过对等→出乎意料的流量不对称。
在没有IaC和修订版的控制台中进行手动编辑。
13) iGaming/财务细节
PCI CDE和支付路径-仅通过带有检查的枢纽;没有绕过spoke↔spoke。
数据驻留:PII/交易日志在辖区内;区域间聚合/匿名。
Multi-PSP:PrivateLink/PSP的私有通道,allowlist FQDN和mTLS/HMAC上的集中式egress代理。
审计/WORM:不变存储中的流动日志和路由更改,根据规范进行重建。
SLO切口:per region/VPC/tenant;区域间RTT的"渗漏"和退化。
14)准备就绪支票清单
- CIDR无交叉路口(IPv4/IPv6)计划,保留增长池。
- Hub-and-spoke拓扑;piras-仅spoke↔hub;通过TGW/VWAN/Cloud Router过境。
- 路线表:显式路径,没有通过同行,控制黑洞。
- 已应用SG/NSG/NACL;Mesh中的L7政客;egress 仅通过枢纽/PrivateLink。
- 专用DNS/PHZ配置;conditional-forwarders между on-prem/cloud/regions.
- Flow Logs包括在内;沿peer/region的dashbords;可达性合成和PMTUD测试。
- 用于规则/路由/DNS的IaC(Terraform/CLI)和基于策略的代码(OPA/Conftest)。
- 记录了runbook'和(添加peer,滚动路由,禁用spoke)。
- 演习:关闭枢纽/盛宴,测量实际的RTO/RPO网络路径。
- 对于iGaming/finance: PCI隔离、PrivateLink到PSP、WORM审计、SLO/Alerta跨司法管辖区。
15) TL;DR
使用VPC/VNet Peering实现简单的点对点私有连通性,但不要依靠它进行过境-为此需要一个枢纽(TGW/VWAN/Cloud Router)。规划CIDR而无需交叉路口,保持路由显式和特定,将stateful SG/NSG和L7策略应用到mesh, DNS-分裂视野中。包括流动日志、合成和PMTUD检查。对于iGaming/financial-PCI隔离,PSP的私有通道和不可更改的审计。