Как настроить доступ к сервисам Google с частным IP-адресом в Firestore с совместимостью с MongoDB

На этой странице описано, как включить и настроить доступ к сервисам Google с частным IP-адресом в Cloud Firestore.

О доступе к сервисам Google с частным IP-адресом в Cloud Firestore

По умолчанию, если у виртуальной машины Compute Engine нет внешнего IP-адреса, назначенного ее сетевому интерфейсу, она может отправлять пакеты только на другие внутренние IP-адреса. Вы можете разрешить этим ВМ подключаться к сервису Cloud Firestore, включив доступ к сервисам Google с частным IP-адресом в подсети, используемой сетевым интерфейсом ВМ.

Поддерживаемые сервисы и протоколы

  • Инструкции в этом руководстве применимы только к Cloud Firestore.

  • Домены по умолчанию и VIP-домены, используемые Cloud Firestore, и их диапазоны IP-адресов поддерживают только протокол MongoDB на порту 443. Другие протоколы не поддерживаются.

Требования к сети

Интерфейс ВМ может подключаться к API Google и сервисам Google через внутреннюю сеть Google с помощью доступа к сервисам Google с частным IP-адресом, если выполняются все следующие условия:

  • Интерфейс ВМ подключен к подсети, в которой включен доступ к сервисам Google с частным IP-адресом.

  • Интерфейсу виртуальной машины не назначен внешний IP-адрес.

  • Исходный IP-адрес пакетов, отправленных с виртуальной машины, совпадает с одним из следующих IP-адресов.

    • Основной внутренний IPv4-адрес интерфейса виртуальной машины.
    • Внутренний IPv4-адрес из диапазона псевдонимов IP-адресов.

Виртуальной машине с внешним IPv4-адресом, назначенным ее сетевому интерфейсу, не требуется доступ к сервисам Google с частным IP-адресом для подключения к API Google и сервисам Google. Однако сеть VPC должна соответствовать требованиям для доступа к API и сервисам Google.

Разрешения IAM

Владельцы и редакторы проектов, а также пользователи IAM с ролью администратора сети могут создавать и обновлять подсети, а также назначать IP-адреса.

Дополнительную информацию о ролях можно найти в документации по ролям IAM.

Журналы

Cloud Logging регистрирует все запросы к API, отправленные из экземпляров виртуальных машин в подсетях, в которых включен доступ к сервисам Google с частным IP-адресом. В записях журнала источник запроса к API указывается как внутренний IP-адрес вызывающего экземпляра.

Вы можете настроить отправку ежедневных отчетов об использовании и ежемесячных сводных отчетов в сегмент Cloud Storage. Подробную информацию можно найти в статье Как посмотреть отчеты об использовании.

Сводка по конфигурации

В таблице ниже приведены различные способы настройки доступа к сервисам Google с частным IP-адресом в Cloud Firestore. Подробные инструкции приведены в статье Конфигурация сети.

Вариант домена Диапазоны IP-адресов Конфигурация DNS Конфигурация маршрутизации Настройка брандмауэра

Домен по умолчанию (firestore.goog)

Домены по умолчанию используются, если вы не настроили записи DNS для restricted.firestore.goog.

136.124.0.0/23 Доступ к сервису Cloud Firestore осуществляется через его общедоступные IP-адреса, поэтому специальная настройка DNS не требуется.

Убедитесь, что ваша сеть VPC может маршрутизировать трафик в диапазоны IP-адресов, используемые сервисом Cloud Firestore.

  • Базовая конфигурация. Убедитесь, что у вас есть маршруты по умолчанию со следующим переходом default-internet-gateway и диапазоном назначения 0.0.0.0/0. Если маршрутов нет, создайте их.
  • Специальная конфигурация. Создайте маршруты к диапазону IP-адресов 136.124.0.0/23.

Убедитесь, что правила брандмауэра разрешают исходящий трафик в диапазон IP-адресов 136.124.0.0/23.

Правило брандмауэра, разрешающее исходящий трафик по умолчанию, разрешает этот трафик, если нет правила с более высоким приоритетом, которое его блокирует.

restricted.firestore.goog

Используйте restricted.firestore.goog, чтобы получить доступ к сервису Cloud Firestore с помощью набора IP-адресов, маршрутизируемых только из Google Cloud. Можно использовать в сценариях Управления зонами безопасности VPC.

199.36.153.2/31 Настройте записи DNS для отправки запросов в диапазон IP-адресов 199.36.153.2/31. Убедитесь, что в вашей сети VPC есть маршруты к диапазону IP-адресов 199.36.153.2/31. Убедитесь, что правила брандмауэра разрешают исходящий трафик в диапазоне IP-адресов 199.36.153.2/31.

Конфигурация сети

В этом разделе описывается, как настроить сеть для доступа к Cloud Firestore с помощью доступа к сервисам Google с частным IP-адресом.

Конфигурация DNS

В отличие от других API Google, Cloud Firestore API использует разные доменные имена и IP-адреса для частного доступа Google:

  • restricted.firestore.goog включает доступ к Cloud Firestore API.

    • IP-адреса: 199.36.153.2 и 199.36.153.3.

    • Поскольку Cloud Firestore соответствует требованиям Управления зонами безопасности VPC, вы можете использовать этот домен в сценариях Управления зонами безопасности VPC.

Чтобы создать зону DNS и записи для Cloud Firestore:

  1. Создайте частную зону DNS для firestore.goog.

    Для этого можно создать частную зону Cloud DNS.

  2. В зоне firestore.goog создайте следующие записи:

    1. Запись A для restricted.firestore.goog, которая указывает на следующие IP-адреса: 199.36.153.2 и 199.36.153.3.

    2. Запись CNAME для *.firestore.goog, которая указывает на restricted.firestore.goog.

    Чтобы создать эти записи в Cloud DNS, ознакомьтесь со статьей Как добавить запись.

Конфигурация маршрутизации

В сети VPC должны быть подходящие маршруты, у которых следующим переходом является шлюз по умолчанию для доступа к интернету. Google Cloud не поддерживает маршрутизацию трафика к API Google и сервисам через другие экземпляры виртуальных машин или пользовательские следующие переходы. Несмотря на название интернет-шлюз по умолчанию, пакеты, отправленные из виртуальных машин в вашей сети VPC в API и сервисы Google, остаются в сети Google.

  • Если вы выберете домен по умолчанию, ваши экземпляры ВМ будут подключаться к сервису Cloud Firestore с использованием следующего диапазона общедоступных IP-адресов: 136.124.0.0/23 . Эти IP-адреса являются общедоступными, но путь от виртуальной машины в сети VPC к этим адресам остается в сети Google.

  • Google не публикует в интернете маршруты ни к одному из IP-адресов, используемых доменом restricted.firestore.goog. Следовательно, доступ к этому домену могут получить только виртуальные машины в сети VPC или локальные системы, подключенные к сети VPC.

Если в вашей сети VPC есть маршрут по умолчанию, следующий переход которого – интернет-шлюз по умолчанию, вы можете использовать этот маршрут для доступа к сервису Cloud Firestore, не создавая собственные маршруты. Подробнее о маршрутизации с маршрутом по умолчанию…

Если вы заменили маршрут по умолчанию (пункт назначения 0.0.0.0/0 или ::0/0) настраиваемым маршрутом, следующий переход которого не является интернет-шлюзом по умолчанию, вы можете выполнить требования к маршрутизации для сервиса Cloud Firestore, используя настраиваемую маршрутизацию.

Маршрутизация с маршрутом по умолчанию

При создании каждой сети VPC в ней задается маршрут IPv4 по умолчанию (0.0.0.0/0).

Маршрут по умолчанию обеспечивает путь к IP-адресам следующих пунктов назначения:

  • Домен по умолчанию (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

Инструкции по проверке конфигурации маршрута по умолчанию в заданной сети с помощью консоли Google Cloud и Google Cloud CLI приведены в статье Как настроить доступ к сервисам Google с частным IP-адресом.

Маршрутизация с помощью специальных маршрутов

В качестве альтернативы маршруту по умолчанию можно использовать собственные статические маршруты, каждый из которых имеет более конкретный пункт назначения и использует следующий переход интернет-шлюза по умолчанию. Целевые IP-адреса для маршрутов зависят от выбранного домена:

  • Домен по умолчанию (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

Инструкции по проверке конфигурации специальных маршрутов в заданной сети с помощью консоли Google Cloud и Google Cloud CLI приведены в статье Как настроить доступ к сервисам Google с частным IP-адресом.

Настройка брандмауэра

Конфигурация брандмауэра сети VPC должна разрешать доступ виртуальных машин к IP-адресам, используемым сервисом Cloud Firestore. Это требование выполняется благодаря неявному правилу allow egress.

В некоторых конфигурациях брандмауэра необходимо создать специальные правила разрешения исходящего трафика. Например, вы создали запрещающее правило для исходящего трафика, которое блокирует трафик ко всем пунктам назначения (0.0.0.0 для IPv4). В этом случае вам нужно создать одно разрешающее правило для исходящего трафика, приоритет которого выше, чем у запрещающего правила для исходящего трафика, для каждого диапазона IP-адресов, используемого выбранным доменом:

  • Домен по умолчанию (firestore.goog: 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

Подробнее о том, как создать правила брандмауэра… Вы можете ограничить список виртуальных машин, к которым применяются правила брандмауэра, указав цель для каждого разрешающего правила исходящего трафика.

Конфигурация доступа к сервисам Google с частным IP-адресом

Вы можете включить доступ к сервисам Google с частным IP-адресом, если выполнены требования к сети в вашей сети VPC. Инструкции для консоли Google Cloud и Google Cloud CLI приведены в статье Как включить доступ к сервисам Google с частным IP-адресом.

Дальнейшие действия