Estou implantando um Cloudfunction com rede VPC da seguinte forma:
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
Agora, se meu Cloudfunction usar o endereço IP dos recursos de computação, posso acessá-los facilmente. No entanto, quando eu uso seus nomes de host, o DNS não é resolvido, o que acaba com:
Error: getaddrinfo ENOTFOUND my-compute-resource
O que preciso fazer para poder usar o DNS para minhas instâncias de computação?
Para acessar um recurso por meio de um nome de host, você deve usar o nome de domínio totalmente qualificado (FQDN). Apenas o uso da parte do host falhará.
Uma VM do Compute Engine tem o seguinte formato FQDN:
Se você especificar apenas o VM_NAME, para qual ZONE e PROJECT_ID a solicitação deve ser resolvida? Essa resposta também determina qual servidor DNS interno deve ser consultado para obter a resposta.
Para evitar essa ambiguidade, o Google Cloud DNS exige o FQDN.
Nomes DNS internos e VPC compartilhada