Настройка приватного доступа Google в Firestore с поддержкой MongoDB

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

О частном доступе Google в Cloud Firestore

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

Применимые услуги и протоколы

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

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

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

При соблюдении всех следующих условий интерфейс виртуальной машины может получить доступ к API и сервисам Google через внутреннюю сеть Google с помощью функции Private Google Access:

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

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

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

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

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

Разрешения IAM

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

Для получения более подробной информации о ролях ознакомьтесь с документацией по ролям IAM .

Ведение журнала

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

Вы можете настроить отправку ежедневных отчетов об использовании и ежемесячных сводных отчетов в хранилище Cloud Storage . Подробности см. на странице «Просмотр отчетов об использовании» .

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

В таблице ниже приведено краткое описание различных способов настройки частного доступа Google в 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 с помощью Private Google Access.

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

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

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

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

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

Для создания зоны 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-адреса назначения для маршрутов зависят от выбранного вами домена :

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

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

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

Конфигурация брандмауэра вашей сети 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

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

Что дальше?