Бессерверный доступ к VPC Google Cloud не работает в обоих направлениях

У меня есть служба Cloud Run, которую я хотел бы подключить к сети VPC по умолчанию через бессерверный соединитель VPC. Конечная цель — предоставить моим экземплярам Cloud Run доступ к локальному серверу через отдельно настроенную VPN, но моя первая проблема заключается в том, что я даже не могу получить доступ к виртуальной машине в той же сети.

Я попытался отладить эту проблему с помощью службы vpc-network-tester , которая подтвердила, что я не могу проверить связь с моей виртуальной машиной Compute Engine.

С моей виртуальной машины я могу успешно пинговать экземпляры Cloud Run (я настроил и настроил простое ведение журнала брандмауэра, чтобы найти внутренний IP-адрес экземпляров, и виртуальная машина может связаться с ними).

Судя по всему, что я прочитал, похоже, что это проблема брандмауэра на виртуальной машине Compute Engine или на стороне сети по умолчанию, но единственные дополнительные правила брандмауэра, которые я установил, — это правила РАЗРЕШИТЬ, которые позволяют мне проверять трафик брандмауэра.

Вот некоторая информация о конфигурации, но, пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию.

Бессерверный доступ к VPC

(Изначально для этого у меня была настроена собственная подсеть, но я удалил ее и просто позволил ей управлять ею самостоятельно с помощью диапазона IP-адресов)

Тест подключения

1 ответ

Поскольку у меня недостаточно репутации, чтобы опубликовать комментарий, я опубликую его в качестве ответа.

Похоже, вы уже создали соединитель бессерверного доступа к VPC для подключения службы Cloud Run напрямую к сети VPC.

Вы можете попытаться создать правило брандмауэра Ingress , которое разрешает эту подсеть 0.0.0.0/0, просто чтобы проверить, разрешит ли это подключение экземпляров Cloud Run к виртуальной машине.

Вы можете выполнить еще один тест подключения из Cloud Run к виртуальной машине. Обязательно измените протокол на TCP, а в качестве порта назначения обязательно укажите конкретный порт. Например, если вы хотите использовать порт 80, убедитесь, что служба, использующая этот порт, запущена. Вы можете проверить эту ссылку о проверке запущенных служб в Linux.

Другие вопросы по тегам