Назад | Перейти на главную страницу

Настройка правильных настроек брандмауэра для балансировщика нагрузки HTTP GCP

У меня есть две виртуальные машины, на которых запущены HTTP-серверы на порту 8545, как показано на рисунке, и помещены в группу экземпляров.

Я создал балансировщик нагрузки HTTP в GCP для балансировки HTTP-запросов от конечных пользователей. Однако с настройкой, показанной на рисунке, и правилами брандмауэра проверки работоспособности не проходят, и я также не могу получить доступ http://35.190.34.26:80/

Error: Server Error
The server encountered a temporary error and could not complete your request.
Please try again in 30 seconds.

Однако, если я добавлю правило брандмауэра, разрешающее все (0.0.0.0/0 on 8545), проверки состояния пройдены, и я также могу получить доступ http://35.190.34.26:80/

Но я не хочу писать это правило брандмауэра, разрешающее всем пользователям 8545. Как правильно настроить брандмауэр, чтобы только балансировщик нагрузки мог получить доступ к группе экземпляров на этом порту?

Поскольку глобальное правило переадресации настроено на порту 80, но внутренние экземпляры обслуживают трафик на порту 8545, необходимо создать два отдельных правила брандмауэра, чтобы разрешить трафик с 130.211.0.0/22 ​​и 35.191.0.0/16 на этих портах. Это диапазоны IP-адресов, которые подсистема балансировки нагрузки использует для подключения к внутренним экземплярам. Это правило разрешает трафик как от балансировщика нагрузки, так и от средства проверки работоспособности.

Я бы посоветовал проверить экземпляры серверной части, чтобы убедиться, что он прослушивает все адреса (0.0.0.0/0) и не привязан к какому-либо конкретному IP-адресу. Кроме того, запуск tcpdump на внутренних экземплярах может помочь узнать, достигает ли трафик экземпляров из указанных выше диапазонов IP-адресов, и продолжить дальнейшую отладку.

Дополнительную информацию о правилах брандмауэра, касающихся балансировки нагрузки Google HTTP (S), можно найти в этом справочном центре. статья.

У меня было аналогичное требование для установки apache ranger с HA с балансировщиком нагрузки в GCP. Только что создано одно правило брандмауэра, чтобы разрешить трафик с 130.211.0.0/22 ​​и 35.191.0.0/16 на порт рейнджера (6080).

Важная вещь, которую мы должны сделать, - это проверить работоспособность -> выбрать протокол TCP с портом 6080 (в вашем случае это будет 8545). Затем вы можете получить доступ к URL-адресу вашего балансировщика нагрузки.