![](/img/trans.png)
[英]How to connect from my pc to sql instance with private ip in google cloud platform
[英]Connecting to Google Cloud SQL instance on private IP from a VM with both private and public IPs fails
-ip_address_types=PRIVATE
参数运行它。稍微简化的 Terraform 代码用于重现让我感到困惑的状态: https : //github.com/hallvors/gcp-network-issue-demo要对此进行测试,请执行以下操作:
./local-secrets/google-project-credentials.json
owner,并将密钥文件保存在./local-secrets/google-project-credentials.json
terraform workspace new staging
terraform init
terraform apply
完成 Terraform 后,您应该在项目中设置了一个数据库和一个 VM。
sudo apt install postgresql-client-common postgresql-client
psql --host 10.167.0.3 -U gcp-network-issue-demo-staging-db-user gcp-network-issue-demo-staging-database
我错过了什么?
这个问题的原因是我不理解,一个网络接口,可以同时具有公共和私有IP地址/网络。 所以我的代码为 google_compute_instance 设置了一个公共接口和一个专用网络接口:
# Update VM needs a public IP
network_interface {
network = "default"
access_config {
}
}
network_interface {
network = var.network
subnetwork = var.subnetwork
}
现在,我仍然不完全了解网络,但似乎您不能(很容易?)指定数据库连接尝试使用的接口,并且它不会自动选择正确的接口。 修复在此提交中,配置对私有网络和公共网络接口的访问:
https://github.com/hallvors/gcp-network-issue-demo/commit/ea14174c1087c89b92310b5b4913e12a4e17130d
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.