Требования к порту

Необходимость управления брандмауэром выходит за рамки только виртуальных хостов: как брандмауэры виртуальных машин, так и физические хосты должны разрешать трафик для портов, необходимых компонентам для взаимодействия друг с другом.

Схемы портов

На следующих изображениях показаны требования к портам для конфигурации как с одним центром обработки данных, так и с несколькими центрами обработки данных:

Единый центр обработки данных

На следующем рисунке показаны требования к портам для каждого компонента Edge в конфигурации одного центра обработки данных:

Требования к портам для каждого компонента Edge в одной конфигурации центра обработки данных

Примечания к этой диаграмме:

  • Порты с префиксом «M» — это порты, используемые для управления компонентом, и они должны быть открыты на компоненте для доступа сервера управления.
  • Для поддержки кнопки «Отправить» в инструменте трассировки Edge UI требуется доступ к маршрутизатору через порты, предоставляемые прокси-серверами API.
  • Доступ к портам JMX можно настроить так, чтобы он требовал имя пользователя и пароль. Подробнее см. в разделе «Как контролировать» .
  • При желании вы можете настроить доступ TLS/SSL для определённых подключений, которые могут использовать разные порты. Подробнее см. в разделе TLS/SSL .
  • Вы можете настроить сервер управления и интерфейс Edge для отправки электронной почты через внешний SMTP-сервер. В этом случае необходимо убедиться, что сервер управления и интерфейс имеют доступ к необходимому порту на SMTP-сервере (не показан). Для SMTP без TLS номер порта обычно равен 25. Для SMTP с поддержкой TLS это часто 465, но уточните информацию у своего SMTP-провайдера.

Несколько центров обработки данных

Если вы устанавливаете кластерную конфигурацию из 12 узлов с двумя центрами обработки данных , убедитесь, что узлы в двух центрах обработки данных могут взаимодействовать через порты, показанные ниже:

Требования к портам для каждого узла в кластерной конфигурации из 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 в разных центрах обработки данных.

Также используется для связи между сервером 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 в разных центрах обработки данных.

Также используется для связи между сервером 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-соединения, мы рекомендуем сделать следующее:

  1. Установите net.ipv4.tcp_keepalive_time = 1800 в настройках sysctl в ОС Linux, где значение 1800 должно быть меньше тайм-аута TCP-соединения при бездействии брандмауэра. Эта настройка должна поддерживать соединение в установленном состоянии, чтобы брандмауэр не разрывал его.
  2. На всех обработчиках сообщений отредактируйте файл /opt/apigee/customer/application/message-processor.properties , добавив следующее свойство. Если файл не существует, создайте его.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. Перезапустите обработчик сообщений:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. На всех маршрутизаторах отредактируйте файл /opt/apigee/customer/application/router.properties , добавив следующее свойство. Если файл отсутствует, создайте его.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. Перезагрузите маршрутизатор:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart