【发布时间】:2021-05-22 03:12:18
【问题描述】:
我尝试从 GCE 实例访问 Cloud SQL 实例,该实例是私有的且具有私有服务连接。
按照私有服务访问文档,我设置了 VPC 和 FW,并在同一个 VPC 中创建 SQL 和 GCE。 https://cloud.google.com/vpc/docs/configure-private-services-access
但是在 GCE 中,ping 到 SQL 实例,也没有 sql 连接。
- 创建 VPC
gcloud 计算网络创建 test-custom-vpc --subnet-mode=custom --bgp-routing-mode=global --mtu=1460
- 创建子网
gcloud 计算网络子网创建 vpc-sb-1 --network=test-custom-vpc --range=10.100.0.0/16 --region=asia-northeast1
- 为专用服务连接创建 IP 范围
gcloud 计算地址创建 vpc-peering-range --global -- purpose=VPC_PEERING
--addresses=192.168.0.0 --prefix-length=16 --description=description --network=test-custom-vpc
- 为 SQL 创建 VPC 对等互连
gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com --ranges=vpc-peering-range --network=test-custom-vpc --project=my-project
- 在 VPC 中创建 mySQL
gcloud --project=my-project beta sql 实例创建 vpc-sql-1 --network=test-custom-vpc --no-assign-ip
- 在 VPC 中创建 GCE 实例
gcloud 计算实例创建 vm-in-sb-1 --subnet vpc-sb-1 --zone asia-northeast1-b
- 创建 FW 规则,目前允许所有 IP/协议
gcloud compute firewall-rules create allow-all --network test-custom-vpc --direction ingress --action allow --rules all
然后,我将使用 ssh 访问 VM 并检查 VM 和 SQL 之间的连接
gcloud sql 实例列表 名称 DATABASE_VERSION 位置 TIER PRIMARY_ADDRESS PRIVATE_ADDRESS 状态 vpc-sql-1 MYSQL_5_7 us-central1-b db-n1-standard-1 - 192.168.0.3 RUNNABLE
-> SQL私有IP为192.168.0.3
- ssh 登录
gcloud beta 计算 ssh --zone "asia-northeast1-b" "vm-in-sb-1" --project "my-project"
- 检查连接
ping 192.168.0.3
没有回应 罢工>
psql -h 192.168.0.3 -U postgres
mysql --host=192.168.0.3 --user=root --password
psql:无法连接到服务器:连接超时 服务器是否在主机“192.168.0.3”上运行并接受 端口 5432 上的 TCP/IP 连接?
我不知道什么配置有问题
【问题讨论】:
标签: google-cloud-platform gcloud google-cloud-sql vpc