
Я пытаюсь подключить приложение App Engine к MongoDB Cloud через пиринговое соединение.
Все службы в моем GCP используют нестандартную сеть, называемую "main". Я настроил пиринговое соединение с помощью terraform:
resource "google_compute_network_peering" "mongodb_peering" {
name = "mongodb-peering"
network = google_compute_network.main.self_link
peer_network = "projects/${mongo-cloud-project}/global/networks/${mongo-cloud-network}"
}
Работает так, как и ожидалось.
Предположительно App Engine использует сеть VPC по умолчанию.
Когда я пытаюсь создать второе соединение в сети по умолчанию, я получаю ошибку из-за перекрывающихся диапазонов. Поэтому я просто удалил пиринг с основной сетью и настроил новый с сетью по умолчанию.
Приложение App Engine по-прежнему не может подключиться к mongodb через пиринговое соединение.
Приложение.yaml:
runtime: nodejs12
instance_class: F4
handlers:
- url: /.*
secure: always
redirect_http_response_code: 301
script: auto
automatic_scaling:
max_instances: 2
max_concurrent_requests: 80
inbound_services:
- warmup
решение1
Вы не можете иметь 2 или более VPC-пиринга, которые в вашем случае используют одни и те же перекрывающиеся диапазоны IP-адресов. Это создаст путаницу, поскольку маршруты будут созданы с одинаковым приоритетом.
И как отметил @jabbson, приложение по умолчанию не использует ни одну из ваших сетей. Поэтому вам нужносоздать коннектор доступа VPC без серверадля подключения ваших VPC.