Я новичок в GCP и настроил простую виртуальную машину с прослушивающей программой port:4000.
Я также настроил внешний балансировщик нагрузки HTTPS, подключенный к домену с помощью сертификата SSL.
Балансировщик нагрузки направляет трафик на серверную службу на port:4000 виртуальной машины, и все работает нормально.
Проблема в том, что я хочу ограничить доступ к порту 4000 на виртуальной машине, чтобы он принимал трафик только от балансировщика нагрузки, а не полностью открывался, как сейчас.
Я изменил фильтр правил брандмауэра с 0.0.0.0/0 на 35.208.137.235, который является внешним IP-адресом балансировщика нагрузки.
Но теперь виртуальная машина вообще не принимает входящий трафик. как мне настроить его так, чтобы он принимал трафик только от балансировщика нагрузки?
Интерфейс балансировщика нагрузки не устанавливает соединения со службой вашей виртуальной машины. Вот почему ваше правило брандмауэра VPC не работает. Это допускает неправильный трафик. Существует несколько типов балансировщиков нагрузки Google. Это определяет, какие блоки CIDR разрешить. Существуют дополнительные блоки CIDR, позволяющие проводить проверки работоспособности. См. ответ и ссылку в ответе Гийома.

Разрешите эти диапазоны 35.191.0.0/16 и 130.211.0.0/22 как правило «входа». Он должен работать.
https://cloud.google.com/load-balancing/docs/firewall-rules
Спасибо! это привело меня к поиску решения, которое я опубликовал в качестве ответа
Благодаря Гийому я нашел ответ, хотя диапазоны 35.191.0.0/16 и 130.211.0.0/22 предназначены для проверки работоспособности, а не для трафика между балансировщиком нагрузки и виртуальной машиной.
Ответ заключается в том, что я использую региональный балансировщик нагрузки, и он использует определенную подсеть прокси-сервера для обработки трафика между LB и виртуальной машиной.
решение я нашел здесь после перехода по ссылке Гийома.
Вместо этого рассмотрите возможность задать вопросы системному администратору на serverfault.com. Stack Overflow предназначен для вопросов по программированию.