Необходимость управления брандмауэром выходит за рамки только виртуальных хостов; Межсетевые экраны как виртуальной машины, так и физического хоста должны разрешать трафик для портов, необходимых компонентам для связи друг с другом.
Схемы портов
На следующих изображениях показаны требования к портам как для конфигурации с одним центром обработки данных, так и для конфигурации с несколькими центрами обработки данных:
Единый дата-центр
На следующем изображении показаны требования к портам для каждого компонента Edge в конфигурации одного центра обработки данных:
Примечания к этой схеме:
- Порты с префиксом «M» — это порты, используемые для управления компонентом, и они должны быть открыты на компоненте для доступа к ним со стороны сервера управления.
- Пользовательскому интерфейсу Edge требуется доступ к маршрутизатору через порты, предоставляемые прокси-серверами API, для поддержки кнопки «Отправить» в инструменте трассировки.
- Доступ к портам JMX можно настроить так, чтобы требовалось имя пользователя и пароль. Дополнительную информацию см. в разделе «Как отслеживать» .
- При желании вы можете настроить доступ TLS/SSL для определенных соединений, которые могут использовать разные порты. Дополнительную информацию см. в разделе TLS/SSL .
- Вы можете настроить сервер управления и пограничный пользовательский интерфейс для отправки электронных писем через внешний SMTP-сервер. Если вы это сделаете, вы должны убедиться, что сервер управления и пользовательский интерфейс могут получить доступ к необходимому порту на SMTP-сервере (не показан). Для SMTP без TLS номер порта обычно равен 25. Для SMTP с поддержкой TLS это часто 465, но уточните у своего поставщика SMTP.
Несколько центров обработки данных
Если вы устанавливаете кластерную конфигурацию из 12 узлов с двумя центрами обработки данных , убедитесь, что узлы в двух центрах обработки данных могут обмениваться данными через порты, показанные ниже:
Обратите внимание, что:
- Все серверы управления должны иметь доступ ко всем узлам Cassandra во всех других центрах обработки данных.
- Все процессоры сообщений во всех центрах обработки данных должны иметь возможность доступа друг к другу через порт 4528.
- Сервер управления должен иметь доступ ко всем процессорам сообщений через порт 8082.
- Все серверы управления и все узлы Qpid должны иметь доступ к Postgres во всех других центрах обработки данных.
- По соображениям безопасности , кроме портов, показанных выше, и любых других, требуемых требованиями вашей собственной сети, никакие другие порты между центрами обработки данных не должны быть открыты.
По умолчанию связь между компонентами не шифруется. Вы можете добавить шифрование, установив Apigee mTLS. Дополнительные сведения см. в разделе Знакомство с Apigee mTLS .
Детали порта
В таблице ниже описаны порты, которые необходимо открыть в межсетевых экранах, по компонентам Edge:
Компонент | Порт | Описание |
---|---|---|
Стандартные HTTP-порты | 80, 443 | HTTP плюс любые другие порты, которые вы используете для виртуальных хостов. |
Апиги Единый вход | 9099 | Подключения от внешних IDP, сервера управления и браузеров для аутентификации. |
Кассандра | 7000, 9042, 9160 | Порты Apache Cassandra для связи между узлами Cassandra и доступа к другим компонентам Edge. |
7199 | JMX-порт. Должен быть открыт для доступа Сервера управления. | |
ЛДАП | 10389 | OpenLDAP |
Сервер управления | 1099 | JMX-порт |
4526 | Порт для распределенного кэша и вызовов управления. Этот порт настраивается. | |
5636 | Порт для уведомлений о фиксации монетизации. | |
8080 | Порт для вызовов API управления Edge. Этим компонентам требуется доступ к порту 8080 на сервере управления: маршрутизатор, процессор сообщений, пользовательский интерфейс, Postgres, Apigee SSO (если включен) и 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/сервером управления и Postgres. | |
8084 | Порт управления по умолчанию на сервере Postgres; должен быть открыт на компоненте для доступа к нему со стороны Сервера управления. | |
Qpid | 1102 | JMX-порт |
4529 | Для распределенного кэша и вызовов управления | |
5672 |
Также используется для связи между сервером Qpid и компонентами брокера на одном узле. В топологиях с несколькими узлами Qpid сервер должен иметь возможность подключаться ко всем брокерам через порт 5672. | |
8083 | Порт управления по умолчанию на сервере Qpid должен быть открыт на компоненте для доступа к нему со стороны сервера управления. | |
Маршрутизатор | 4527 | Для распределенного кэша и вызовов управления. Маршрутизатор должен открыть порт 4527 в качестве порта управления. Если у вас несколько маршрутизаторов, все они должны иметь доступ друг к другу через порт 4527 (обозначен стрелкой цикла на схеме выше для порта 4527 на маршрутизаторе). Хотя это и не требуется, вы можете открыть порт 4527 на маршрутизаторе для доступа к нему любого процессора сообщений . В противном случае вы можете увидеть сообщения об ошибках в файлах журнала процессора сообщений. |
8081 | Порт управления по умолчанию для маршрутизатора должен быть открыт на компоненте для доступа к нему со стороны сервера управления. | |
15999 | Порт проверки работоспособности. Балансировщик нагрузки использует этот порт, чтобы определить, доступен ли маршрутизатор. Чтобы получить статус Маршрутизатора, балансировщик нагрузки отправляет запрос на порт 15999 на Маршрутизаторе: curl -v http://routerIP:15999/v1/servers/self/reachable Если маршрутизатор доступен, запрос возвращает HTTP 200. | |
59001 | Порт, используемый для тестирования установки Edge с помощью утилиты apigee-validate . Для этой утилиты требуется доступ к порту 59001 на маршрутизаторе. Дополнительную информацию см. в разделе Проверка установки на порту 59001. | |
СмартДокс | 59002 | Порт на Edge-маршрутизаторе, куда отправляются запросы страниц SmartDocs. |
смотритель зоопарка | 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-сервер Постгрес-сервер | смотритель зоопарка |
2888 и 3888 | Управление межузлами Zookeeper | смотритель зоопарка | смотритель зоопарка |
4526 | Порт управления RPC | Сервер управления | Сервер управления |
4527 | Порт управления RPC для распределенного кэша и вызовов управления, а также для связи между маршрутизаторами. | Сервер управления Маршрутизатор | Маршрутизатор |
4528 | Для вызовов распределенного кэша между процессорами сообщений и для связи с маршрутизатором. | Сервер управления Маршрутизатор Процессор сообщений | Процессор сообщений |
4529 | Порт управления RPC для распределенного кэша и вызовов управления. | Сервер управления | Qpid-сервер |
4530 | Порт управления RPC для распределенного кэша и вызовов управления. | Сервер управления | Постгрес-сервер |
5432 | Клиент Postgres | Qpid-сервер | Постгрес |
5636 | Монетизация | Внешний компонент JMS | Сервер управления |
5672 |
Также используется для связи между сервером Qpid и компонентами брокера на одном узле. В топологиях с несколькими узлами Qpid сервер должен иметь возможность подключаться ко всем брокерам через порт 5672. | Qpid-сервер | Qpid-сервер |
7000 | Межузловая связь Cassandra | Кассандра | Другой узел Кассандры |
7199 | Управление JMX. Должен быть открыт для доступа на узле Cassandra со стороны Сервера управления. | JMX-клиент | Кассандра |
8080 | Порт API управления | Клиенты API управления | Сервер управления |
с 8081 по 8084 | Порты API компонентов, используемые для отправки запросов API непосредственно к отдельным компонентам. Каждый компонент открывает отдельный порт; точный используемый порт зависит от конфигурации, но он должен быть открыт на компоненте для доступа к нему со стороны сервера управления. | Клиенты API управления | Маршрутизатор (8081) Процессор сообщений (8082) Qpid-сервер (8083) Сервер Postgres (8084) |
8443 | Связь между маршрутизатором и процессором сообщений при включенном TLS | Маршрутизатор | Процессор сообщений |
8998 | Связь между маршрутизатором и процессором сообщений | Маршрутизатор | Процессор сообщений |
9000 | Порт пользовательского интерфейса управления Edge по умолчанию | Браузер | Сервер пользовательского интерфейса управления |
9042 | Собственный транспорт CQL | Маршрутизатор Процессор сообщений Сервер управления | Кассандра |
9099 | Внешняя аутентификация IDP | IDP, браузер и сервер управления | Апиги Единый вход |
9160 | Кассандра, клиент бережливости | Маршрутизатор Процессор сообщений Сервер управления | Кассандра |
10389 | LDAP-порт | Сервер управления | OpenLDAP |
15999 | Порт проверки работоспособности. Балансировщик нагрузки использует этот порт, чтобы определить, доступен ли маршрутизатор. | Балансировщик нагрузки | Маршрутизатор |
59001 | Порт, используемый утилитой apigee-validate для проверки установки Edge. | Apigee-проверить | Маршрутизатор |
59002 | Порт маршрутизатора, на который отправляются запросы страниц 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