Необходимость управления брандмауэром выходит за рамки только виртуальных хостов: как брандмауэры виртуальных машин, так и физические хосты должны разрешать трафик для портов, необходимых компонентам для взаимодействия друг с другом.
Схемы портов
На следующих изображениях показаны требования к портам для конфигурации как с одним центром обработки данных, так и с несколькими центрами обработки данных:
Единый центр обработки данных
На следующем рисунке показаны требования к портам для каждого компонента Edge в конфигурации одного центра обработки данных:
Примечания к этой диаграмме:
- Порты с префиксом «M» — это порты, используемые для управления компонентом, и они должны быть открыты на компоненте для доступа сервера управления.
- Для поддержки кнопки «Отправить» в инструменте трассировки Edge UI требуется доступ к маршрутизатору через порты, предоставляемые прокси-серверами API.
- Доступ к портам JMX можно настроить так, чтобы он требовал имя пользователя и пароль. Подробнее см. в разделе «Как контролировать» .
- При желании вы можете настроить доступ TLS/SSL для определённых подключений, которые могут использовать разные порты. Подробнее см. в разделе TLS/SSL .
- Вы можете настроить сервер управления и интерфейс Edge для отправки электронной почты через внешний SMTP-сервер. В этом случае необходимо убедиться, что сервер управления и интерфейс имеют доступ к необходимому порту на SMTP-сервере (не показан). Для SMTP без TLS номер порта обычно равен 25. Для SMTP с поддержкой TLS это часто 465, но уточните информацию у своего SMTP-провайдера.
Несколько центров обработки данных
Если вы устанавливаете кластерную конфигурацию из 12 узлов с двумя центрами обработки данных , убедитесь, что узлы в двух центрах обработки данных могут взаимодействовать через порты, показанные ниже:
Обратите внимание, что:
- Все серверы управления должны иметь доступ ко всем узлам Cassandra во всех остальных центрах обработки данных.
- Все обработчики сообщений во всех центрах обработки данных должны иметь возможность доступа друг к другу через порт 4528.
- Сервер управления должен иметь доступ ко всем процессорам сообщений через порт 8082.
- Все серверы управления и все узлы Qpid должны иметь доступ к Postgres во всех остальных центрах обработки данных.
- По соображениям безопасности , за исключением портов, показанных выше, и любых других, требуемых требованиями вашей сети, между центрами обработки данных не должно быть открыто никаких других портов.
По умолчанию обмен данными между компонентами не шифруется. Вы можете включить шифрование, установив Apigee mTLS. Подробнее см. в разделе «Введение в Apigee mTLS» .
Подробности порта
В таблице ниже описываются порты, которые необходимо открыть в брандмауэрах, по компонентам Edge:
Компонент | Порт | Описание |
---|---|---|
Стандартные HTTP-порты | 80, 443 | HTTP и любые другие порты, которые вы используете для виртуальных хостов |
Apigee SSO | 9099 | Подключения от внешних IDP, сервера управления и браузеров для аутентификации. |
Кассандра | 7000, 9042 | Порты Apache Cassandra для связи между узлами Cassandra и для доступа других компонентов Edge. |
7199 | Порт JMX. Должен быть открыт для доступа сервера управления. | |
LDAP | 10389 | SymasLDAP |
Сервер управления | 1099 | JMX-порт |
4526 | Порт для вызовов распределенного кэша и управления. Этот порт можно настраивать. | |
5636 | Порт для уведомлений о совершении монетизации. | |
8080 | Порт для вызовов API управления Edge. Этим компонентам требуется доступ к порту 8080 на сервере управления: маршрутизатору, процессору сообщений, пользовательскому интерфейсу, Postgres, единому входу Apigee (если включен) и Qpid. | |
Интерфейс управления | 9000 | Порт для доступа браузера к пользовательскому интерфейсу управления |
Процессор сообщений | 1101 | JMX-порт |
4528 | Для распределенного кэширования и вызовов управления между обработчиками сообщений, а также для связи с маршрутизатором и сервером управления. Обработчик сообщений должен открыть порт 4528 в качестве порта управления. Если у вас несколько обработчиков сообщений, все они должны иметь доступ друг к другу через порт 4528 (обозначен петлевой стрелкой на схеме выше для порта 4528 обработчика сообщений). Если у вас несколько центров обработки данных, этот порт должен быть доступен для всех обработчиков сообщений во всех центрах обработки данных. | |
8082 | Порт управления по умолчанию для процессора сообщений должен быть открыт на компоненте для доступа сервера управления. Если вы настроите TLS/SSL между маршрутизатором и обработчиком сообщений, маршрутизатор будет использовать его для проверки работоспособности обработчика сообщений. Порт 8082 на обработчике сообщений должен быть открыт для доступа маршрутизатора только при настройке TLS/SSL между маршрутизатором и обработчиком сообщений. Если TLS/SSL между маршрутизатором и обработчиком сообщений не настроен, в конфигурации по умолчанию порт 8082 по-прежнему должен быть открыт на обработчике сообщений для управления компонентом, но маршрутизатору доступ к нему не требуется. | |
8443 | Если между маршрутизатором и процессором сообщений включен протокол TLS, необходимо открыть порт 8443 на процессоре сообщений для доступа маршрутизатора. | |
8998 | Порт процессора сообщений для связи с маршрутизатором | |
Постгрес | 22 | При настройке двух узлов Postgres для использования репликации «главный-резервный» необходимо открыть порт 22 на каждом узле для доступа по SSH. |
1103 | JMX-порт | |
4530 | Для распределенного кэширования и вызовов управления | |
5432 | Используется для связи между Qpid/Management Server и Postgres | |
8084 | Порт управления по умолчанию на сервере Postgres; должен быть открыт на компоненте для доступа сервера управления. | |
Qpid | 1102 | JMX-порт |
4529 | Для распределенного кэширования и вызовов управления | |
5672 |
Также используется для связи между сервером Qpid и компонентами брокера на одном узле. В топологиях с несколькими узлами Qpid сервер должен иметь возможность подключения ко всем брокерам через порт 5672. | |
8083 | Порт управления по умолчанию на сервере Qpid должен быть открыт на компоненте для доступа сервера управления. | |
8090 | Порт по умолчанию для брокера Qpid; должен быть открыт для доступа к консоли управления брокера или API управления для целей мониторинга. | |
Маршрутизатор | 4527 | Для распределенного кэширования и вызовов управления. Маршрутизатор должен открыть порт 4527 в качестве порта управления. Если у вас несколько маршрутизаторов, они все должны иметь доступ друг к другу через порт 4527 (на схеме выше порт 4527 на маршрутизаторе обозначен петлевой стрелкой). Хотя это не обязательно, вы можете открыть порт 4527 на маршрутизаторе для доступа любого обработчика сообщений . В противном случае вы можете увидеть сообщения об ошибках в файлах журнала обработчика сообщений. |
8081 | Порт управления по умолчанию для маршрутизатора и должен быть открыт на компоненте для доступа сервера управления. | |
15999 | Порт проверки работоспособности. Балансировщик нагрузки использует этот порт для определения доступности маршрутизатора. Чтобы получить статус маршрутизатора, балансировщик нагрузки отправляет запрос на порт 15999 на маршрутизаторе: curl -v http://routerIP:15999/v1/servers/self/reachable Если маршрутизатор доступен, запрос возвращает HTTP 200. | |
59001 | Порт, используемый утилитой apigee-validate для тестирования установки Edge. Для этой утилиты требуется доступ к порту 59001 на маршрутизаторе. Подробнее о порте 59001 см. в разделе Тестирование установки . | |
SmartDocs | 59002 | Порт на маршрутизаторе Edge, куда отправляются запросы страниц SmartDocs. |
ZooKeeper | 2181 | Используется другими компонентами, такими как сервер управления, маршрутизатор, процессор сообщений и т. д. |
2888, 3888 | Используется внутри ZooKeeper для связи с кластером ZooKeeper (известным как ансамбль ZooKeeper) |
В следующей таблице показаны те же порты, перечисленные по номерам, с компонентами источника и назначения:
Номер порта | Цель | Исходный компонент | Компонент назначения |
---|---|---|---|
virtual_host_port | HTTP и любые другие порты, используемые для трафика вызовов API виртуального хоста. Чаще всего используются порты 80 и 443; маршрутизатор сообщений может завершать соединения TLS/SSL. | Внешний клиент (или балансировщик нагрузки) | Прослушиватель на маршрутизаторе сообщений |
1099–1103 | Управление JMX | JMX-клиент | Сервер управления (1099) Процессор сообщений (1101) Сервер Qpid (1102) Сервер Postgres (1103) |
2181 | Общение с клиентами Zookeeper | Сервер управления Маршрутизатор Процессор сообщений Qpid-сервер Сервер Postgres | Смотритель зоопарка |
2888 и 3888 | Управление междоузлиями Zookeeper | Смотритель зоопарка | Смотритель зоопарка |
4526 | Порт управления RPC | Сервер управления | Сервер управления |
4527 | Порт управления RPC для распределенного кэширования и вызовов управления, а также для связи между маршрутизаторами | Сервер управления Маршрутизатор | Маршрутизатор |
4528 | Для распределенных вызовов кэша между процессорами сообщений и для связи с маршрутизатором | Сервер управления Маршрутизатор Процессор сообщений | Процессор сообщений |
4529 | Порт управления RPC для распределенного кэша и вызовов управления | Сервер управления | Qpid-сервер |
4530 | Порт управления RPC для распределенного кэша и вызовов управления | Сервер управления | Сервер Postgres |
5432 | Клиент Postgres | Qpid-сервер | Постгрес |
5636 | Монетизация | Внешний компонент JMS | Сервер управления |
5672 |
Также используется для связи между сервером Qpid и компонентами брокера на одном узле. В топологиях с несколькими узлами Qpid сервер должен иметь возможность подключения ко всем брокерам через порт 5672. | Qpid-сервер | Qpid-сервер |
7000 | Межузловые коммуникации Cassandra | Кассандра | Другой узел Cassandra |
7199 | Управление JMX. Должны быть открыты для доступа на узле Cassandra сервером управления. | JMX-клиент | Кассандра |
8080 | Порт API управления | Клиенты API управления | Сервер управления |
8081–8084 | Порты API компонентов, используемые для отправки API-запросов непосредственно к отдельным компонентам. Каждый компонент открывает свой порт; точный используемый порт зависит от конфигурации, но должен быть открыт на компоненте для доступа сервера управления. | Клиенты API управления | Маршрутизатор (8081) Процессор сообщений (8082) Сервер Qpid (8083) Сервер Postgres (8084) |
8090 | Порт управления по умолчанию для брокера Qpid для управления и мониторинга очередей. | Браузер или API-клиент | Qpid Broker (apigee-qpidd) |
8443 | Связь между маршрутизатором и процессором сообщений при включенном TLS | Маршрутизатор | Процессор сообщений |
8998 | Связь между маршрутизатором и процессором сообщений | Маршрутизатор | Процессор сообщений |
9000 | Порт пользовательского интерфейса управления Edge по умолчанию | Браузер | Сервер пользовательского интерфейса управления |
9042 | CQL-родной транспорт | Маршрутизатор Процессор сообщений Сервер управления | Кассандра |
9099 | Внешняя аутентификация IDP | IDP, браузер и сервер управления | Apigee SSO |
10389 | LDAP-порт | Сервер управления | SymasLDAP |
15999 | Порт проверки работоспособности. Балансировщик нагрузки использует этот порт для определения доступности маршрутизатора. | Балансировщик нагрузки | Маршрутизатор |
59001 | Порт, используемый утилитой apigee-validate для проверки установки Edge | apigee-validate | Маршрутизатор |
59002 | Порт маршрутизатора, куда отправляются запросы страниц SmartDocs. | SmartDocs | Маршрутизатор |
Обработчик сообщений поддерживает выделенный пул подключений к Cassandra, который настроен на отсутствие тайм-аутов. Если между обработчиком сообщений и сервером Cassandra находится брандмауэр, он может прервать соединение по тайм-ауту. Однако обработчик сообщений не предназначен для восстановления подключений к Cassandra.
Чтобы предотвратить подобную ситуацию, Apigee рекомендует размещать сервер Cassandra, обработчик сообщений и маршрутизаторы в одной подсети, чтобы межсетевой экран не участвовал в развертывании этих компонентов.
Если между маршрутизатором и обработчиками сообщений находится брандмауэр и на нем установлено время ожидания TCP-соединения, мы рекомендуем сделать следующее:
- Установите
net.ipv4.tcp_keepalive_time = 1800
в настройках sysctl в ОС Linux, где значение 1800 должно быть меньше тайм-аута TCP-соединения при бездействии брандмауэра. Эта настройка должна поддерживать соединение в установленном состоянии, чтобы брандмауэр не разрывал его. - На всех обработчиках сообщений отредактируйте файл
/opt/apigee/customer/application/message-processor.properties
, добавив следующее свойство. Если файл не существует, создайте его.conf_system_cassandra.maxconnecttimeinmillis=-1
- Перезапустите обработчик сообщений:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- На всех маршрутизаторах отредактируйте файл
/opt/apigee/customer/application/router.properties
, добавив следующее свойство. Если файл отсутствует, создайте его.conf_system_cassandra.maxconnecttimeinmillis=-1
- Перезагрузите маршрутизатор:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart