Как получить доступ к атласу mongoDB из облачной функции Google с помощью бессерверного VPC

У меня есть облачная функция Google, которой требуется доступ к MongoDB, размещенному в Atlas (GCP). Эта облачная функция требует доступа к определенному API, размещенному за пределами GCP. По соображениям безопасности им необходимо разрешить IP-адрес облачных функций в правилах брандмауэра.

Чтобы включить запрос статического IP-адреса, я создал бессерверный соединитель VPC и настроил весь исходящий трафик для моей облачной функции.

После того, как я настроил, соединение для mongoDB из моей облачной функции не работает, даже если я разрешаю весь входящий трафик (только для тестирования).

Я думал о пиринге VPC, чтобы разрешить облачным функциям доступ к mongoDB, но я еще не смог его настроить. Сопряжение VPC отображается как состояние «ОЖИДАНИЕ».

  1. Гарантирует ли бессерверный VPC статический IP-адрес?

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

  3. Можно ли настроить пиринг VPC между бессерверным VPC и атласом mongodb?


person Sharath Chandra    schedule 01.04.2020    source источник


Ответы (1)


  1. Да, бессерверный доступ к VPC гарантирует статический IP-адрес, если вы выполняете правильную настройку (используйте Cloud Nat и маршрутизатор для маршрутизации IP-диапазона бессерверного доступа VPC через Cloud Nat и используйте статический IP в Cloud Nat)

  2. Вы не можете получить доступ к MongoDB через бессерверный соединитель VPC, потому что ваши маршруты не определены должным образом, и из-за пункта 3

  3. Вы можете выполнить пиринг между MongoDB Atlas и вашим VPC. Для этого подпишитесь на эту страницу. Если ваш пиринг находится в состоянии ожидания, я думаю, это связано с тем, что часть GCP не была выполнена. Затем правильно определите свой маршрут и убедитесь, что ваш брандмауэр разрешает связь, и это должно работать!

person guillaume blaquiere    schedule 01.04.2020
comment
Спасибо. Я не особо разбираюсь в конфигурации сети, но кое-что, что я сделал до сих пор: Я добавил правило выхода на брандмауэре, по существу, позволяющее использовать Atlas CIDR 192.168.0.0/16 для всего трафика. В Atlas я внес в белый список диапазон IP-адресов. для нас-central1 (cloud.google.com/vpc/docs/vpc#ip -ranges) Я все еще вижу статус "Неактивный" в GCP и ожидающий в mongoDB - person Sharath Chandra; 01.04.2020
comment
Правила брандмауэра открытого выхода и создание пиринга отличаются. Выполните все шаги для установления стабильного пирингового соединения. - person guillaume blaquiere; 01.04.2020
comment
Мне пока не очень везет на этом фронте. Я добавил необходимые вещи в соответствии с документом и внес VPC CIDR в белый список атласа. Я все еще вижу это неактивным. Дайте мне посмотреть, смогу ли я найти еще журналы по этому поводу - person Sharath Chandra; 01.04.2020
comment
Мне удалось получить статический IP-адрес и пиринг. Мне не хватало Cloud NAT, и неудивительно, что он не работал. Как уже упоминалось, для обеспечения доступа в Интернет для всех исходящих потоков требуется бессерверный VPC и Cloud NAT. Как только NAT был определен, все остальное начало работать в соответствии с документацией. - person Sharath Chandra; 18.05.2020