Resolução de DNS do Cloudfunctions na rede VPC

Resolução de DNS do Cloudfunctions na rede VPC

Estou implantando uma 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 endereços IP de recursos de computação, posso acessá-los facilmente. No entanto, quando uso seus nomes de host, o DNS não é resolvido, o que resulta em:

Error: getaddrinfo ENOTFOUND my-compute-resource

O que preciso fazer para poder usar o DNS em minhas instâncias de computação?

Responder1

Para acessar um recurso por meio de um nome de host, você deve usar o Nome de Domínio Totalmente Qualificado (FQDN). Usar apenas a parte do host falhará.

Uma VM do Compute Engine tem o seguinte formato FQDN:

VM_NAME.ZONE.c.PROJECT_ID.internal

Se você especificar apenas VM_NAME, para qual ZONE e PROJECT_ID a solicitação deverá ser resolvida? Essa resposta também determina qual servidor DNS interno deve ser consultado para obter a resposta.

Para evitar essa ambigüidade, o Google Cloud DNS exige FQDN.

Nomes DNS internos e VPC compartilhada

informação relacionada