![](/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.