我试图从GCE实例访问Cloud SQL实例,这是私有的,具有私有服务连接。
参考私有业务访问文档,创建VPC和FW,并在同一个VPC中创建SQL和GCE。https://cloud.google.com/vpc/docs/configure-private-services-access
但是在GCE中,ping到SQL实例,也不能连接SQL。
- 创建VPC
gcloud compute networks create test-custom-vpc——subnet-mode=custom——bgp-routing-mode=global——mtu=1460
- 创建子网
gcloud计算网络子网create vpc-sb-1——network=test-custom-vpc——range=10.100.0.0/16——region=asia-northeast1
- 创建私有服务连接IP范围
gcloud compute addresses create vpc-peer -range——global——purpose= vpc_对等
——addresses=192.168.0.0——prefix-length=16——description=description——network=test-custom-vpc
- 为SQL创建VPC对等体
gcloud services vpc- peerering connect——service= servicenetworkinggoogleapis.com——ranges=vpc- peer- range——network=test-custom-vpc——project=my-project
- 创建mySQL
gcloud——project=my-project beta sql instances create vpc-sql-1——network=test-custom-vpc——no-assign-ip
- 创建GCE实例
gcloud计算实例create vm-in-sb-1——subnet vpc-sb-1——zone asia-northeast -1 -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位置分级primary_address private_address状态
mysql - mysql -1
→SQL私有IP是192.168.0.3
- ssh login
gcloud beta compute ssh -zone "asia- northast1 -b"vm-in-sb-1"——项目"my-project">
- 检查连接
萍192.168.0.3
没有回应<罢工>罢工>
psql -h 192.168.0.3 -U postgres
mysql——主机= 192.168.0.3——用户= root密码
psql无法连接到服务器:连接超时服务器是否运行在主机"192.168.0.3"上?和接受5432端口上有TCP/IP连接吗?
我不知道什么配置是错误的
我复制了您的案例,所有配置都运行良好,但请注意,在步骤#5中使用下面的命令将为Mysql创建一个Cloud SQL实例
gcloud --project=my-project beta sql instances create vpc-sql-1 --network=test-custom-vpc --no-assign-ip
如果你想创建一个云SQL实例Postgres使用下面的命令:
gcloud --project=my-project beta sql instances create vpc-sql-1 --database-version=POSTGRES_12 --cpu=2 --memory=7680MB --network=test-custom-vpc --no-assign-ip
问题是你正在使用Postgres数据库客户端连接到Mysql的云SQL。要正确连接,请使用以下示例:
Mysql示例:
mysql --host=192.168.0.3 --user=root --password
for Postgres示例:
psql -h 192.168.0.3 -U postgres