+86 189 8218 1436Mon. - Fri. 10:00-22:00

GCP VPC Network peering 配置教程

GCP VPC Network peering 配置教程
Posted in: GCP谷歌云服务器代维护, Google谷歌GCP服务器代运维, Google谷歌GCP服务器维护, Google谷歌GCP服务器维护外包 Started by

GCP VPC Network peering 配置教程

总览

两个不同project 甚至是不同organization 的Network,可以透过VPC peering 的服务,达到私有网路(RFC 1918 规范)互连的效果。

VPC Network Peering 的规范

  • VPC Network Peering 适用于Compute Engine, Kubernetes Engine 以及App Engine Flex
  • Peered Networks的Routes, firewalls, VPNs 以及其他流量监控的工具都是单独管理的
  • 一个VPC Network 可以与许多其他的Network peering,但是有以下限制
    • 一个Network 最多只能有25 个peering Networks
    • 一个Network 以及与他peered Networks 最多能有15,500 个instance
    • Internal Load Balancing 的forwarding rules,一个Network 最多只能有50 个
  • Peered Networks 之间的subnet IP range 不能重叠
  • VPC网络对等不支持传统网络
  • 不能透过peered networks 连线至VPN
  • Peered Networks 之间的流量延迟与单一Network 内的相同

VPC Network Peering 手把手教学

权限以及Network 设定

在执行这以下的步骤前,需要先确定该使用者有roles/editor或是roles/compute.networkAdmin的IAM roles。在Project A建立一个新的Network以及subnet。#切记两个Network的subnet不能重叠。

gcloud compute --project=[ProjectNameA] \
networks create network-a --subnet-mode=custom
gcloud compute --project=[ProjectNameA] \
networks subnets create peer-a --network=network-a \
--region=asia-east1 --range=10.0.0.0/16

在Project B 建立一个新的Network 以及subnet。#切记两个Network 的subnet 不能重叠。

gcloud compute --project=[ProjectNameB] \
networks create network-b --subnet-mode=custom
gcloud compute --project=[ProjectNameB] \
networks subnets create peer-b --network=network-b \
--region=asia-east1 --range=10.8.0.0/16

VPC网络对等设置

从Project A 设定peering,[network-A], [ProjectNameB], [network-B] 自行带入

gcloud compute networks peerings create peer-ab \
--network [network-A] \
--peer-project [ProjectNameB] \
--peer-network [network-B] \
--auto-create-routes

确认Project A 的Network 的peering 状况,初始为INACTIVE

gcloud compute networks peerings list --network network-A

从Project B 设定peering,[network-B], [ProjectNameA], [network-A] 自行带入

gcloud compute networks peerings create peer-ba \
--network [network-B] \
--peer-project [ProjectNameA] \
--peer-network [network-A] \
--auto-create-routes

确认Project B 的Network 的peering 状况,从INACTIVE 变为ACTIVE

gcloud compute networks peerings list --network network-B

Active

进入到各个Project的VPC network peering页面,如果可以看到Connected的绿灯就表示peering成功。

peer-ab

peer-ba

防火墙设定

因为刚刚新增的subnet 为custom mode,所以需要自行设定防火墙。以下的指令根据使用者的需求,自行建立。开启SSH 的22 port:

gcloud compute --project=[ProjectNameA] firewall-rules create peering-allow-ssh \
--direction=INGRESS --priority=65534 --network=[network-A] \
--action=ALLOW --rules=tcp:22 --source-ranges=0.0.0.0/0
gcloud compute --project=[ProjectNameB] firewall-rules create peering-allow-ssh \
--direction=INGRESS --priority=65534 --network=[network-B] \
--action=ALLOW --rules=tcp:22 --source-ranges=0.0.0.0/0

开启RDP 的3389 port:

gcloud compute --project=[ProjectNameA] firewall-rules create peering-allow-ssh \
--direction=INGRESS --priority=65534 --network=[network-A] \
--action=ALLOW --rules=tcp:3389 --source-ranges=0.0.0.0/0
gcloud compute --project=[ProjectNameB] firewall-rules create peering-allow-ssh \
--direction=INGRESS --priority=65534 --network=[network-B] \
--action=ALLOW --rules=tcp:3389 --source-ranges=0.0.0.0/0

开启icmp:

gcloud compute --project=[ProjectNameA] firewall-rules create peering-allow-ssh \
--direction=INGRESS --priority=65534 --network=[network-A] \
--action=ALLOW --rules=icmp --source-ranges=0.0.0.0/0
gcloud compute --project=[ProjectNameB] firewall-rules create peering-allow-ssh \
--direction=INGRESS --priority=65534 --network=[network-B] \
--action=ALLOW --rules=icmp --source-ranges=0.0.0.0/0

开通internal 连线:

gcloud compute --project=[ProjectNameA] firewall-rules create peering-allow-internal \
--direction=INGRESS --priority=65534 --network=[network-A] \
--action=ALLOW --rules=tcp:0-65535,udp:0-65535,icmp --source-ranges=10.8.0.0/16
gcloud compute --project=[ProjectNameB] firewall-rules create peering-allow-internal \
--direction=INGRESS --priority=65534 --network=[network-B] \
--action=ALLOW --rules=tcp:0-65535,udp:0-65535,icmp --source-ranges=10.0.0.0/16

如果使用GCP 的default network,预设防火墙从外到内的流量是全关的。