Google-Cloud-Platform
從 VPC 網路中的 Cloudfunctions 解析 DNS
我正在使用 VPC 網路部署 Cloudfunction,如下所示:
gcloud beta functions deploy my-function --trigger-http --region europe-west1 --memory 128MB --runtime nodejs16 --entry-point entrypoint --allow-unauthenticated # needed to access compute instances # https://console.cloud.google.com/networking/connectors/list --vpc-connector cloud-function-connector # vpc connector should be used only to access private network --egress-settings private-ranges-only
現在,如果我的 Cloudfunction 使用計算資源的 IP 地址,我可以輕鬆訪問它們。但是,當我使用他們的主機名時,DNS 無法解析,最終結果為:
Error: getaddrinfo ENOTFOUND my-compute-resource
我需要做什麼才能將 DNS 用於我的計算實例?
要通過主機名訪問資源,您必須使用完全限定域名 (FQDN)。僅使用主機部分將失敗。
Compute Engine 虛擬機具有以下 FQDN 格式:
VM_NAME.ZONE.c.PROJECT_ID.internal
如果您只指定 VM_NAME,請求應解析到哪個 ZONE 和 PROJECT_ID?該答案還確定應向哪個內部 DNS 伺服器查詢答案。
為了防止這種歧義,Google Cloud DNS 需要 FQDN。