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

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

Схемы портов

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

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

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

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

Примечания к диаграмме

  • Порты с префиксом "M" используются для управления компонентом и должны быть открыты на компоненте для доступа к серверу управления.
  • Для поддержки кнопки Отправить в инструменте трассировки интерфейсу Edge требуется доступ к маршрутизатору через порты, предоставленные прокси 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 Подключения от внешних поставщиков идентификационной информации, сервера управления и браузеров для аутентификации.
Cassandra 7000, 9042, 9160 Порты Apache Cassandra для связи между узлами Cassandra и доступа других компонентов Edge.
7199 Порт JMX. Должен быть открыт для доступа с сервера управления.
LDAP 10389 OpenLDAP
Сервер управления 1099 Порт JMX
4526 Порт для распределенного кеша и вызовов управления. Этот порт можно настроить.
5636 Порт для уведомлений о монетизации.
8080 Порт для вызовов API управления Edge. Этим компонентам требуется доступ к порту 8080 на сервере управления: маршрутизатору, Message Processor, интерфейсу, Postgres, Apigee SSO (если включен) и Qpid.
Интерфейс управления 9000 Порт для доступа к интерфейсу управления через браузер
Message Processor 1101 Порт JMX
4528 Для распределенного кеша и вызовов управления между процессорами сообщений, а также для связи с маршрутизатором и сервером управления.

Message Processor должен открыть порт 4528 в качестве порта управления. Если у вас несколько процессоров сообщений, они должны иметь доступ друг к другу через порт 4528 (на схеме выше порт 4528 процессора сообщений обозначен стрелкой петли). Если у вас несколько центров обработки данных, порт должен быть доступен для всех процессоров сообщений во всех центрах обработки данных.

8082

Порт управления по умолчанию для Message Processor. Он должен быть открыт в компоненте для доступа с сервера управления.

Если вы настроите TLS/SSL между маршрутизатором и Message Processor, маршрутизатор будет использовать его для проверки состояния Message Processor.

Порт 8082 на Message Processor должен быть открыт для доступа маршрутизатора только при настройке TLS/SSL между маршрутизатором и Message Processor. Если вы не настроите TLS/SSL между маршрутизатором и Message Processor, то по умолчанию порт 8082 должен быть открыт на Message Processor для управления компонентом, но маршрутизатору не требуется доступ к нему.

8443 Если между маршрутизатором и Message Processor включен протокол TLS, необходимо открыть порт 8443 на Message Processor для доступа маршрутизатора.
8998 Порт Message Processor для связи с маршрутизатором
Postgres 22 Если вы настраиваете два узла Postgres для использования репликации "основной-резервный", необходимо открыть порт 22 на каждом узле для доступа по протоколу SSH.
1103 Порт JMX
4530 Для распределенного кеша и вызовов управления
5432 Используется для связи между Qpid/сервером управления и Postgres
8084 Порт управления по умолчанию на сервере Postgres. Он должен быть открыт на компоненте для доступа с сервера управления.
Qpid 1102 Порт JMX
4529 Для распределенного кеша и вызовов управления
5672
  • Единый центр обработки данных. Используется для отправки данных аналитики из маршрутизатора и Message Processor в Qpid.
  • Несколько центров обработки данных. Используется для связи между узлами Qpid в разных центрах обработки данных.

Также используется для связи между сервером Qpid и компонентами брокера на одном узле. В топологиях с несколькими узлами Qpid сервер должен иметь возможность подключаться ко всем брокерам через порт 5672.

8083 Порт управления по умолчанию на сервере Qpid, который должен быть открыт в компоненте для доступа сервера управления.
8090 Порт по умолчанию для брокера Qpid. Он должен быть открыт для доступа к консоли управления брокера или API управления для целей мониторинга.
Маршрутизатор 4527 Для распределенного кеша и вызовов управления.

Маршрутизатор должен открыть порт 4527 в качестве порта управления. Если у вас несколько маршрутизаторов, они должны иметь возможность взаимодействовать друг с другом через порт 4527 (на схеме выше порт 4527 на маршрутизаторе обозначен стрелкой в виде петли).

Хотя это не обязательно, вы можете открыть порт 4527 на маршрутизаторе, чтобы предоставить доступ любому обработчику сообщений. В противном случае в файлах журнала Message Processor могут появиться сообщения об ошибках.

8081 Порт управления по умолчанию для маршрутизатора. Он должен быть открыт на компоненте для доступа с сервера управления.
15999

Порт проверки состояния. Балансировщик нагрузки использует этот порт, чтобы определить, доступен ли маршрутизатор.

Чтобы получить статус маршрутизатора, балансировщик нагрузки отправляет запрос на порт 15999 маршрутизатора:

curl -v http://routerIP:15999/v1/servers/self/reachable

Если маршрутизатор доступен, запрос возвращает код статуса HTTP 200.

59001 Порт, используемый для тестирования установки Edge с помощью утилиты apigee-validate. Для работы утилиты требуется доступ к порту 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 Для распределенных вызовов кеша между процессорами сообщений и для связи с маршрутизатором Сервер управления
Маршрутизатор
Обработчик сообщений
Message Processor
4529 Порт управления RPC для распределенного кеша и вызовов управления Сервер управления Сервер Qpid
4530 Порт управления RPC для распределенного кеша и вызовов управления Сервер управления Сервер Postgres
5432 Клиент Postgres Сервер Qpid Postgres
5636 Монетизация Внешний компонент JMS Сервер управления
5672
  • Единый центр обработки данных. Используется для отправки данных аналитики из маршрутизатора и Message Processor в Qpid.
  • Несколько центров обработки данных. Используется для связи между узлами Qpid в разных центрах обработки данных.

Также используется для связи между сервером Qpid и компонентами брокера на одном узле. В топологиях с несколькими узлами Qpid сервер должен иметь возможность подключаться ко всем брокерам через порт 5672.

Сервер Qpid Сервер Qpid
7000 Взаимодействие между узлами Cassandra Cassandra Другой узел Cassandra
7199 управление JMX; Должен быть открыт для доступа на узле Cassandra сервером управления. Клиент JMX Cassandra
8080 Порт Management API Клиенты Management API Сервер управления
8081–8084

Порты Component API, используемые для отправки запросов API непосредственно отдельным компонентам. Каждый компонент открывает отдельный порт. Точный порт зависит от конфигурации, но он должен быть открыт для доступа к компоненту с сервера управления.

Клиенты Management API Маршрутизатор (8081)
Обработчик сообщений (8082)
Сервер Qpid (8083)
Сервер Postgres (8084)
8090 Порт управления по умолчанию для брокера Qpid, чтобы управлять очередями и отслеживать их. Браузер или API-клиент Qpid Broker (apigee-qpidd)
8443 Обмен данными между маршрутизатором и Message Processor при включенном протоколе TLS Маршрутизатор Message Processor
8998 Обмен данными между маршрутизатором и обработчиком сообщений Маршрутизатор Message Processor
9000 Порт интерфейса управления Edge по умолчанию Браузер Сервер интерфейса управления
9042 Встроенный транспорт CQL Router
Message Processor
Management Server
Cassandra
9099 Аутентификация с помощью внешнего поставщика идентификационной информации Поставщик идентификационной информации, браузер и сервер управления Apigee SSO
9160 Клиент Thrift для Cassandra Router
Message Processor
Management Server
Cassandra
10389 Порт LDAP Сервер управления OpenLDAP
15999 Порт проверки состояния. Балансировщик нагрузки использует этот порт, чтобы определить, доступен ли маршрутизатор. Балансировщик нагрузки Маршрутизатор
59001 Порт, используемый утилитой apigee-validate для тестирования установки Edge apigee-validate Маршрутизатор
59002 Порт маршрутизатора, на который отправляются запросы страниц SmartDocs SmartDocs Маршрутизатор

Процессор сообщений поддерживает открытый пул подключений к Cassandra, который настроен так, чтобы никогда не истекал. Если между Message Processor и сервером Cassandra находится брандмауэр, время ожидания подключения может истечь. Однако Message Processor не предназначен для восстановления подключения к Cassandra.

Чтобы избежать такой ситуации, Apigee рекомендует разместить сервер Cassandra, Message Processor и маршрутизаторы в одной подсети, чтобы брандмауэр не участвовал в развертывании этих компонентов.

Если между маршрутизатором и процессорами сообщений есть брандмауэр с настроенным тайм-аутом бездействия 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. Перезапустите Message Processor:
    /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