Отказ от ответственности: я родом из AWS, но относительно плохо знаком с GCP. Я знаю, что существует ряд подобных вопросов (например, здесь и здесь et c), но я все еще не могу заставить его работать, поскольку точные / подробные инструкции по-прежнему отсутствуют. Поэтому, пожалуйста, попросите меня снова об этом.
Мой простой дизайн:
Publi c HTTP / S Traffi c (Ingress) >> Балансировщик нагрузки GCP >> Серверы GCP
Балансировщик нагрузки GCP содержит сертификат SSL. И затем он использует порт 80 для нисходящих соединений с серверами. Поэтому LB для серверов - это просто HTTP.
Мой вопрос:
Как предотвратить входящий HTTP / S Publi c Traffi c от прямого доступа к серверам GCP? Вместо этого разрешите только балансировщик нагрузки (а также Healthcheck Traffi c)?
Что я пробовал до сих пор:
Я вошел в Правила брандмауэра и удалил ранее разрешающее правило для портов 80/443 (входной трафик c) из 0.0.0.0/0
. А затем добавил (разрешил) внешний IP-адрес балансировщика нагрузки.
В этот момент я просто ожидал, что Publi c Traffi c должен быть отклонен, но балансировщик нагрузки. Но в действительности оба казались отвергнутыми. Ничто не достигло серверов больше. Внешний IP-адрес балансировщика нагрузки, похоже, не был распознан.
Позже я также заметил, что «проверки работоспособности» также больше не распознаются. Поэтому проверки работоспособности не могли связаться с серверами, а затем не сработали. Следовательно, экземпляры были сброшены балансировщиком нагрузки.
Обратите также внимание на то, что: я не могу придерживаться подхода простого удаления внешних IP-адресов на серверах. (Хотя многие говорят, что это сработает.) Но мы все же хотим сохранить прямой доступ S SH к серверам (без использования экземпляра Bastion). Поэтому мне все еще нужны внешние IP-адреса на каждом веб-сервере.
Любые четкие (и добрые) инструкции будут очень благодарны. Спасибо всем.