Бессерверный доступ к 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.