Рейтинг:1

Резолвинг DNS из Cloudfunctions в сети VPC

флаг in

Я развертываю Cloudfunction с сетью VPC следующим образом:

Бета-функции gcloud развертывают мою функцию
      --триггер-http
      --регион европа-запад1
      --память 128 МБ
      --время выполнения nodejs16
      --entry-pointточка входа
      --allow-unauthenticated
      # требуется для доступа к вычислительным экземплярам
      # https://console.cloud.google.com/networking/connectors/list
      --vpc-connector облачная функция-коннектор
      # коннектор vpc следует использовать только для доступа к частной сети
      --eress-settings только для частных диапазонов

Теперь, если моя облачная функция использует IP-адрес вычислительных ресурсов, я могу легко получить к ним доступ. Однако, когда я использую их имена хостов, DNS не разрешается, что заканчивается:

Ошибка: getaddrinfo ENOTFOUND my-compute-resource

Что мне нужно сделать, чтобы иметь возможность использовать DNS для своих вычислительных инстансов?

John Hanley avatar
флаг cn
Какие имена хостов - общедоступные или частные? **my-compute-resource** — это имя хоста. Вы должны использовать полное доменное имя (FQDN). https://cloud.google.com/compute/docs/internal-dns#view_instance_dns_name
флаг in
my-compute-resource — это имя экземпляра. Из других экземпляров я могу легко пропинговать напрямую `ping my-compute-instance`. Благодаря вам я узнал, что могу использовать my-compute-instance.c.my-project.internal — думаю, это лучшее, что я могу получить?
John Hanley avatar
флаг cn
Иногда я использую /etc/hosts и сохраняю имена хостов и IP-адреса. Затем я могу использовать любое имя (короткое или полное доменное имя).
Ramesh kollisetty avatar
флаг au
@ VojtÄch Вы пробовали, как предложил @JohnHanley? Если да, можете ли вы опубликовать процедуру, которой вы следовали, в качестве ответа.
флаг in
Привет, я только что использовал «my-compute-instance.c.my-project.internal» вместо «my-compute-instance», и вот как это работает.
Ramesh kollisetty avatar
флаг au
@ VojtÄch, пожалуйста, опубликуйте свое решение в качестве ответа и примите его, чтобы оно было полезно другим членам сообщества для справки.
флаг in
@JohnHanley, если вы опубликуете свой комментарий в качестве ответа, я приму его.
Рейтинг:1
флаг cn

Для доступа к ресурсу через имя хоста необходимо использовать полное доменное имя (FQDN). Только использование хост-части не удастся.

Виртуальная машина Compute Engine имеет следующий формат полного доменного имени:

ИМЯ_ВМ.ZONE.c.PROJECT_ID.внутренний

Если вы укажете только VM_NAME, для какой ZONE и PROJECT_ID должен быть разрешен запрос? Этот ответ также определяет, какой внутренний DNS-сервер следует запрашивать для получения ответа.

Чтобы предотвратить эту двусмысленность, Google Cloud DNS требует полного доменного имени.

Внутренние DNS-имена и общий VPC

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.