Edge для частного облака v4.18.01
Требования к оборудованию
Для создания высокодоступной инфраструктуры в производственной среде необходимо соответствовать следующим минимальным требованиям к оборудованию. Для всех сценариев установки, описанных в разделе «Топологии установки» , в следующих таблицах указаны минимальные требования к оборудованию для компонентов установки.
В этих таблицах требования к жесткому диску указаны в дополнение к дисковому пространству, необходимому для операционной системы. В зависимости от ваших приложений и сетевого трафика, для вашей установки может потребоваться больше или меньше ресурсов, чем указано ниже.
| Компонент установки | БАРАН | Процессор | Минимальные требования к жесткому диску |
|---|---|---|---|
| Кассандра | 16 ГБ | 8-ядерный | Локальное хранилище объемом 250 ГБ с SSD-накопителем или быстрым жестким диском, поддерживающим 2000 операций ввода-вывода в секунду. |
| Процессор/маршрутизатор сообщений на одном компьютере. | 16 ГБ | 8-ядерный | 100 ГБ |
| Аналитика - PostgreSQL/Qpid на одном сервере (не рекомендуется для использования в производственной среде) | 16 ГБ * | 8-ядерный * | 500 ГБ - 1 ТБ ** сетевое хранилище *** , предпочтительно с SSD-накопителем, поддерживающее 1000 операций ввода-вывода в секунду или выше * |
| Аналитика - автономная версия PostgreSQL | 16 ГБ * | 8-ядерный * | 500 ГБ - 1 ТБ ** сетевое хранилище *** , предпочтительно с SSD-накопителем, поддерживающее 1000 операций ввода-вывода в секунду или выше * |
| Аналитика - Qpid в автономном режиме | 8 ГБ | 4-ядерный | 30–50 ГБ локального хранилища с SSD или быстрым HDD Для систем с производительностью более 250 транзакций в секунду рекомендуется использовать жесткие диски с локальным хранилищем, поддерживающим 1000 операций ввода-вывода в секунду. Размер очереди Qpid по умолчанию составляет 20 ГБ. Если вам необходимо увеличить пропускную способность, добавьте дополнительные узлы Qpid. |
| Другое (OpenLDAP, пользовательский интерфейс, сервер управления) | 4ГБ | 2-ядерный | 60 ГБ |
* Настройте системные требования Postgres в зависимости от пропускной способности:
- Менее 250 TPS: можно рассмотреть 8 ГБ оперативной памяти, 4-ядерный процессор с управляемым сетевым хранилищем *** с поддержкой 1000 IOPS или выше.
- Более 250 TPS: 16 ГБ оперативной памяти, 8-ядерный процессор ,
- управляемое сетевое хранилище *** с поддержкой 1000 IOPS или выше. Более 1000 TPS: 16 ГБ оперативной памяти, 8-ядерный процессор ,
- управляемое сетевое хранилище *** с поддержкой 2000 IOPS или выше. Более 2000 TPS: 32 ГБ оперативной памяти, 16-ядерный процессор,
- управляемое сетевое хранилище *** с поддержкой 2000 IOPS или выше. Более 4000 TPS: 64 ГБ оперативной памяти, 32-ядерный процессор, управляемое сетевое хранилище *** с поддержкой 4000 IOPS или выше.
** Значение жесткого диска Postgres основано на стандартных аналитических данных, полученных Edge. Если вы добавите пользовательские значения к аналитическим данным, их следует соответственно увеличить. Для оценки необходимого объема памяти используйте следующую формулу:
bytes of storage needed =
(# bytes of analytics data/request) *
(requests/second) *
(seconds/hour) *
(hours of peak usage/day) *
(days/month) *
(months of data retention)
Например:
(2K bytes) * (100 req/sec) * (3600 secs/hr) * (18 peak hours/day) * (30 days/month) * (3 months retention)
= 1,194,393,600,000 bytes or 1194.4 GB
*** Сетевое хранилище рекомендуется для базы данных PostgreSQL, потому что:
- Оно обеспечивает возможность динамического масштабирования размера хранилища по мере необходимости.
- В большинстве современных подсистем среды/хранилища/сети можно настраивать количество операций ввода-вывода в секунду на лету.
- Снимки на уровне хранилища можно включить в рамках решений для резервного копирования и восстановления.
Кроме того, ниже перечислены аппаратные требования для установки сервисов монетизации:
| Компонент с монетизацией | БАРАН | Процессор | Жесткий диск |
|---|---|---|---|
| Сервер управления (с сервисами монетизации) | 8 ГБ | 4-ядерный | 60 ГБ |
| Аналитика - PostgreSQL/QPID на одном сервере. | 16 ГБ | 8-ядерный | Сетевое хранилище объемом от 500 ГБ до 1 ТБ, предпочтительно с SSD-накопителем, поддерживающее 1000 операций ввода-вывода в секунду или выше, или используйте правило из таблицы выше. |
| Аналитика - автономная версия PostgreSQL | 16 ГБ | 8-ядерный | Сетевое хранилище объемом от 500 ГБ до 1 ТБ, предпочтительно с SSD-накопителем, поддерживающее 1000 операций ввода-вывода в секунду или выше, или используйте правило из таблицы выше. |
| Аналитика - Qpid в автономном режиме | 8 ГБ | 4-ядерный | 40–500 ГБ локального хранилища с SSD или быстрым HDD Для систем с производительностью более 250 транзакций в секунду рекомендуется использовать жесткие диски с локальным хранилищем, поддерживающим 1000 операций ввода-вывода в секунду. |
Ниже перечислены аппаратные требования для установки API BaaS:
| Компонент API BaaS | БАРАН | Процессор | Жесткий диск |
|---|---|---|---|
| ElasticSearch * | 8 ГБ | 4-ядерный | 60-80 ГБ |
| API BaaS Stack * | 8 ГБ | 4-ядерный | 60-80 ГБ |
| API BaaS портал | 1 ГБ | 2-ядерный | 20 ГБ |
| Кассандра ** | 16 ГБ | 8-ядерный | Локальное хранилище объемом 250 ГБ с SSD-накопителем или быстрым жестким диском, поддерживающим 2000 операций ввода-вывода в секунду. |
* Вы можете установить ElasticSearch и API BaaS Stack на одном узле. В этом случае настройте ElasticSearch на использование 4 ГБ памяти (по умолчанию). Если ElasticSearch установлен на отдельном узле, настройте его на использование 6 ГБ памяти.
** Необязательно; обычно для Edge и API BaaS Services используется один и тот же кластер Cassandra.
Требования к операционной системе и программному обеспечению сторонних производителей
Данные инструкции по установке и прилагаемые установочные файлы были протестированы на операционных системах и программном обеспечении сторонних производителей, перечисленных в разделе «Поддерживаемое программное обеспечение и поддерживаемые версии» .
Создание пользователя apigee
В процессе установки создается системный пользователь Unix с именем «apigee». Каталоги и файлы Edge, а также процессы Edge принадлежат пользователю «apigee». Это означает, что компоненты Edge запускаются от имени пользователя «apigee». При необходимости вы можете запускать компоненты от имени другого пользователя.
Каталог установки
По умолчанию установщик записывает все файлы в каталог /opt/apigee . Изменить расположение этого каталога невозможно. Однако, хотя изменить этот каталог нельзя, можно создать символическую ссылку, сопоставляющую /opt/apigee с другим местоположением, как описано ниже.
В инструкциях данного руководства каталог установки указан как /opt/apigee .
Создание символической ссылки из /opt/apigee
Перед созданием символической ссылки необходимо сначала создать пользователя и группу с именем "apigee". Это та же группа и пользователь, которые были созданы установщиком Edge.
Для создания символической ссылки выполните следующие действия перед загрузкой файла bootstrap_4.18.01.sh. Все эти действия необходимо выполнить от имени root:
- Создайте пользователя и группу "apigee":
groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
- Создайте символическую ссылку из
/opt/apigeeна корневой каталог вашей установки:ln -Ts /srv/myInstallDir /opt/apigee
где /srv/myInstallDir — это желаемое местоположение файлов Edge.
- Измените права доступа к корневому каталогу установки и создайте символическую ссылку на пользователя "apigee":
chown -h apigee:apigee /srv/myInstallDir /opt/apigee
Java
Перед установкой на каждом компьютере должна быть установлена поддерживаемая версия Java 1.8. Список поддерживаемых JDK приведен в разделе «Поддерживаемое программное обеспечение и поддерживаемые версии» .
Убедитесь, что переменная JAVA_HOME указывает на корневой каталог JDK для пользователя, выполняющего установку.
SELinux
В зависимости от настроек SELinux, Edge может столкнуться с проблемами при установке и запуске компонентов Edge. При необходимости вы можете отключить SELinux или установить его в разрешающий режим во время установки, а затем снова включить его после установки. Дополнительную информацию см. в разделе «Установка утилиты apigee-setup для Edge» .
Сетевые настройки
Перед установкой рекомендуется проверить сетевые настройки. Программа установки предполагает, что все компьютеры имеют фиксированные IP-адреса. Для проверки настроек используйте следующие команды:
-
hostnameвозвращает имя машины. -
hostname -iвозвращает IP-адрес для указанного имени хоста, к которому можно обратиться с других машин.
В зависимости от типа и версии вашей операционной системы, возможно, потребуется отредактировать файлы /etc/hosts и /etc/sysconfig/network если имя хоста указано неправильно. Для получения дополнительной информации обратитесь к документации вашей конкретной операционной системы.
Если сервер имеет несколько сетевых карт, команда "hostname -i" возвращает список IP-адресов, разделенных пробелами. По умолчанию установщик Edge использует первый возвращенный IP-адрес, что может быть некорректно во всех ситуациях. В качестве альтернативы можно установить следующее свойство в файле конфигурации установки:
ENABLE_DYNAMIC_HOSTIP=y
Если для этого параметра установлено значение "y", установщик предложит вам выбрать IP-адрес, который будет использоваться при установке. Значение по умолчанию — "n". Дополнительную информацию см. в справочнике по файлам конфигурации Edge .
TCP-обертки
TCP-обертки могут блокировать обмен данными по некоторым портам и влиять на установку OpenLDAP, Postgres и Cassandra. На этих узлах проверьте файлы /etc/hosts.allow и /etc/hosts.deny , чтобы убедиться в отсутствии ограничений на порты, необходимые для работы OpenLDAP, Postgres и Cassandra.
iptables
Убедитесь, что никакие политики iptables не препятствуют подключению между узлами на необходимых портах Edge. При необходимости вы можете остановить iptables во время установки с помощью команды:
sudo/etc/init.d/iptables stop
На CentOS 7.x:
systemctl stop firewalld
Убедитесь, что маршрутизатор Edge Router имеет доступ к файлу /etc/rc.d/init.d/functions.
Узлы Edge Router и BaaS Portal используют маршрутизатор Nginx и требуют доступа на чтение к файлу /etc/rc.d/init.d/functions .
Если ваш процесс обеспечения безопасности требует установки прав доступа к файлу /etc/rc.d/init.d/functions , не устанавливайте их значение равным 700, иначе маршрутизатор не запустится. Права доступа можно установить равными 744, чтобы разрешить чтение файла /etc/rc.d/init.d/functions .
Кассандра
Все узлы Cassandra должны быть соединены в кольцо. Cassandra хранит реплики данных на нескольких узлах для обеспечения надежности и отказоустойчивости. Стратегия репликации для каждого пространства ключей Edge определяет, на каких узлах Cassandra будут размещены реплики. Для получения дополнительной информации см. раздел «О коэффициенте репликации и уровне согласованности Cassandra» .
Cassandra автоматически регулирует размер кучи Java в зависимости от доступной памяти. Подробнее см. раздел «Настройка ресурсов Java» . В случае снижения производительности или высокого потребления памяти.
После установки Edge for Private Cloud вы можете проверить правильность настройки Cassandra, изучив файл /opt/apigee/apigee-cassandra/conf/cassandra.yaml . Например, убедитесь, что скрипт установки Edge for Private Cloud установил следующие свойства:
-
cluster_name -
initial_token -
partitioner -
seeds -
listen_address -
rpc_address -
snitch
база данных PostgreSQL
После установки Edge вы можете настроить следующие параметры базы данных PostgreSQL в зависимости от объема оперативной памяти, доступной в вашей системе:
conf_postgresql_shared_buffers = 35% of RAM # min 128kB conf_postgresql_effective_cache_size = 45% of RAM conf_postgresql_work_mem = 512MB # min 64kB
Чтобы задать эти значения:
- Отредактируйте файл postgresql.properties:
vi /opt/apigee/customer/application/postgresql.properties
Если файл не существует, создайте его.
- Задайте указанные выше параметры.
- Сохраните внесенные изменения.
- Перезапустите базу данных PostgreSQL:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Системные ограничения
Убедитесь, что на узлах Cassandra и Message Processor установлены следующие системные ограничения:
- На узлах Cassandra установите ограничения на использование мягкой и жесткой блокировки памяти (memlock), запрета доступа к файлам (nofile) и адресного пространства (as) для пользователя, установившего систему (по умолчанию — «apigee»), в
/etc/security/limits.d/90-apigee-edge-limits.conf, как показано ниже:apigee soft memlock unlimited apigee hard memlock unlimited apigee soft nofile 32768 apigee hard nofile 65536 apigee soft as unlimited apigee hard as unlimited
- На узлах обработчика сообщений установите максимальное количество открытых файловых дескрипторов равным 64 КБ в
/etc/security/limits.d/90-apigee-edge-limits.conf, как показано ниже:apigee soft nofile 32768 apigee hard nofile 65536
При необходимости вы можете увеличить этот лимит. Например, если у вас одновременно открыто большое количество временных файлов.
jsvc
Для использования API BaaS необходим файл "jsvc". Версия 1.0.15-dev устанавливается при установке API BaaS.
Службы сетевой безопасности (NSS)
Network Security Services (NSS) — это набор библиотек, поддерживающих разработку клиентских и серверных приложений с поддержкой безопасности. Убедитесь, что у вас установлена версия NSS 3.19 или более поздняя.
Чтобы проверить текущую версию:
yum info nss
Для обновления NSS:
yum update nss
Более подробную информацию можно найти в этой статье от RedHat.
Отключите поиск DNS по IPv6 при использовании NSCD (демона кэширования служб имен).
Если вы установили и включили NSCD (демон кэширования служб имен), обработчики сообщений выполняют два запроса DNS: один для IPv4 и один для IPv6. При использовании NSCD следует отключить запрос DNS для IPv6.
Чтобы отключить поиск DNS по IPv6:
- На каждом узле обработчика сообщений отредактируйте файл
/etc/nscd.conf - Установите следующее свойство:
enable-cache hosts no
Отключение IPv6 на платформе Google Cloud Platform для RedHat/CentOS 7
Если вы устанавливаете Edge на RedHat 7 или CentOS 7 на платформе Google Cloud Platform, то необходимо отключить IPv6 на всех узлах Qpid.
Инструкции по отключению IPv6 см. в документации RedHat или CentOS для вашей конкретной версии ОС. Например, вы можете:
- Откройте файл
/etc/hostsв текстовом редакторе. - Чтобы закомментировать строку, вставьте символ "#" в первый столбец следующей строки:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- Сохраните файл.
AWS AMI
Если вы устанавливаете Edge на образ Amazon Machine Image (AMI) для Red Hat Enterprise Linux 7.x на платформе AWS, сначала необходимо выполнить следующую команду:
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
Инструменты
В установщике используются следующие инструменты UNIX стандартной версии, предоставляемые EL5 или EL6.
неловкий | эксп | libxslt | об/мин | распаковать |
базовое имя | grep | lua-сокет | rpm2cpio | добавить пользователя |
баш | имя хоста | лс | сед | Туалет |
до н.э. | идентификатор | net-tools | судо | wget |
локон | либайо | perl (из procps) | смола | ксерцес-с |
| cyrus-sasl | libdb4 | pgrep (из procps) | тр | ням |
дата | libdb-cxx | пс | uuid | chkconfig |
| имя директора | libibverbs | pwd | имя | |
| эхо | librdmacm | питон |
ntpdate
Рекомендуется синхронизировать время серверов. Если это еще не настроено, для этой цели можно использовать утилиту ntpdate , которая проверяет синхронизацию времени серверов. Для установки утилиты можно использовать yum install ntp . Это особенно полезно для репликации конфигураций OpenLDAP. Обратите внимание, что часовой пояс сервера должен быть указан в формате UTC.
openldap 2.4
Для локальной установки требуется OpenLDAP 2.4. Если ваш сервер подключен к Интернету, скрипт установки Edge загрузит и установит OpenLDAP. Если ваш сервер не подключен к Интернету, необходимо убедиться, что OpenLDAP уже установлен, прежде чем запускать скрипт установки Edge. В RHEL/CentOS для установки OpenLDAP можно выполнить команду yum install openldap-clients openldap-servers .
Для установок с 13 хостами и установок с 12 хостами и двумя центрами обработки данных требуется репликация OpenLDAP, поскольку OpenLDAP размещается на нескольких узлах.
Межсетевые экраны и виртуальные хосты
В ИТ-сфере термин virtual часто используется слишком часто, и это касается, например, развертывания Apigee Edge for Private Cloud и виртуальных хостов. Для ясности, термин virtual имеет два основных значения:
- Виртуальные машины (ВМ) : Не являются обязательными, но в некоторых системах развертывания используется технология ВМ для создания изолированных серверов для компонентов Apigee. Хосты ВМ, как и физические хосты, могут иметь сетевые интерфейсы и брандмауэры.
- Виртуальные хосты : веб-точки доступа, аналогичные виртуальному хосту Apache.
Маршрутизатор в виртуальной машине может предоставлять доступ к нескольким виртуальным хостам (при условии, что они отличаются друг от друга псевдонимом хоста или портом интерфейса).
В качестве примера именования, на одном физическом сервере A могут работать две виртуальные машины, названные "VM1" и "VM2". Предположим, что "VM1" предоставляет виртуальный интерфейс Ethernet, который внутри виртуальной машины называется "eth0" и которому виртуализационная система или DHCP-сервер назначают IP-адрес 111.111.111.111 ; а затем предположим, что VM2 предоставляет виртуальный интерфейс Ethernet, также названный "eth0", и ему назначают IP-адрес 111.111.111.222 .
В каждой из двух виртуальных машин может быть запущен маршрутизатор Apigee. Маршрутизаторы предоставляют доступ к конечным точкам виртуальных хостов, как в этом гипотетическом примере:
Маршрутизатор Apigee в виртуальной машине VM1 предоставляет доступ к трем виртуальным хостам через свой интерфейс eth0 (имеющий определенный IP-адрес): api.mycompany.com:80 , api.mycompany.com:443 и test.mycompany.com:80 .
Маршрутизатор в VM2 предоставляет доступ к api.mycompany.com:80 (то же имя и порт, что и в VM1).
Операционная система физического хоста может иметь сетевой брандмауэр; в этом случае этот брандмауэр должен быть настроен на пропуск TCP-трафика, предназначенного для портов, открытых на виртуализированных интерфейсах ( 111.111.111.111:{80, 443} и 111.111.111.222:80 ). Кроме того, операционная система каждой виртуальной машины может предоставлять свой собственный брандмауэр на интерфейсе eth0, и он также должен разрешать подключение трафика через порты 80 и 443.
Базовый путь — это третий компонент, участвующий в маршрутизации вызовов API к различным API-прокси, которые вы могли развернуть. Пакеты API-прокси могут использовать одну и ту же конечную точку, если у них разные базовые пути. Например, один базовый путь может быть определен как http://api.mycompany.com:80/ , а другой — как http://api.mycompany.com:80/salesdemo .
В этом случае вам потребуется балансировщик нагрузки или диспетчер трафика, распределяющий трафик http://api.mycompany.com:80/ между двумя IP-адресами ( 111.111.111.111 на VM1 и 111.111.111.222 на VM2). Эта функция специфична для вашей конкретной установки и настраивается вашей локальной сетевой группой.
Базовый путь задается при развертывании API. В приведенном выше примере вы можете развернуть два API, mycompany и testmycompany , для организации mycompany-org с виртуальным хостом, имеющим псевдоним api.mycompany.com и порт 80 Если вы не укажете базовый путь при развертывании, маршрутизатор не будет знать, к какому API отправлять входящие запросы.
Однако, если вы развернете API testmycompany с базовым URL-адресом /salesdemo , то пользователи будут получать доступ к этому API по адресу http://api.mycompany.com:80/salesdemo . Если же вы развернете API mycompany с базовым URL-адресом / то ваши пользователи будут получать доступ к API по адресу http://api.mycompany.com:80/ .
Требования к краевому порту
Необходимость управления межсетевым экраном выходит за рамки только виртуальных хостов; межсетевые экраны как виртуальных машин, так и физических хостов должны разрешать трафик по портам, необходимым компонентам для взаимодействия друг с другом.
На следующем изображении показаны требования к портам для каждого компонента Edge:

Примечания к этой диаграмме:
- * Порт 8082 на процессоре сообщений должен быть открыт для доступа маршрутизатора только при настройке TLS/SSL между маршрутизатором и процессором сообщений. Если вы не настраиваете TLS/SSL между маршрутизатором и процессором сообщений (конфигурация по умолчанию), порт 8082 все равно должен быть открыт на процессоре сообщений для управления компонентом, но маршрутизатору доступ к нему не требуется.
- Порты, обозначенные префиксом "M", используются для управления компонентом и должны быть открыты на компоненте для доступа со стороны сервера управления.
- Для работы следующих компонентов на сервере управления требуется доступ к порту 8080: маршрутизатор, обработчик сообщений, пользовательский интерфейс, PostgreSQL и Qpid.
- Обработчик сообщений должен открыть порт 4528 в качестве своего управляющего порта. Если у вас несколько обработчиков сообщений, все они должны иметь возможность взаимодействовать друг с другом через порт 4528 (обозначен стрелкой-петлей на схеме выше для порта 4528 на обработчике сообщений). Если у вас несколько центров обработки данных, порт должен быть доступен со всех обработчиков сообщений во всех центрах обработки данных.
- Хотя это и не обязательно, вы можете открыть порт 4527 на маршрутизаторе для доступа любого обработчика сообщений. В противном случае вы можете увидеть сообщения об ошибках в файлах журналов обработчика сообщений.
- Маршрутизатор должен открыть порт 4527 в качестве порта управления. Если у вас несколько маршрутизаторов, все они должны иметь возможность взаимодействовать друг с другом через порт 4527 (обозначен стрелкой в виде петли на схеме выше для порта 4527 на маршрутизаторе).
- Для работы кнопки «Отправить» в инструменте трассировки Edge UI требуется доступ к маршрутизатору через порты, предоставляемые API-прокси.
- Сервер управления требует доступа к порту JMX на узлах Cassandra.
- Доступ к портам JMX можно настроить таким образом, чтобы для его использования требовались имя пользователя и пароль. Дополнительную информацию см. в разделе «Как осуществлять мониторинг» .
- При желании можно настроить доступ по протоколу TLS/SSL для определенных соединений, которые могут использовать разные порты. Подробнее см. в разделе TLS/SSL .
- При настройке двух узлов Postgres для использования репликации master-standby необходимо открыть порт 22 на каждом узле для доступа по SSH. При желании можно открыть порты на отдельных узлах для обеспечения доступа по SSH.
- Вы можете настроить сервер управления и пользовательский интерфейс Edge для отправки электронных писем через внешний SMTP-сервер. В этом случае необходимо убедиться, что сервер управления и пользовательский интерфейс имеют доступ к необходимому порту на SMTP-сервере. Для SMTP без TLS номер порта обычно равен 25. Для SMTP с поддержкой TLS это часто 465, но лучше уточнить у вашего SMTP-провайдера.
В таблице ниже показаны порты, которые необходимо открыть в межсетевых экранах для каждого компонента Edge:
| Компонент | Порт | Описание |
|---|---|---|
| Стандартные HTTP-порты | 80, 443 | HTTP плюс любые другие порты, используемые для виртуальных хостов. |
| Сервер управления | 8080 | Порт для вызовов API управления Edge. Для работы этих компонентов требуется доступ к порту 8080 на сервере управления: маршрутизатор, обработчик сообщений, пользовательский интерфейс, Postgres и Qpid. |
| 1099 | порт JMX | |
| 4526 | Для распределенного кэша и вызовов управления | |
| Пользовательский интерфейс управления | 9000 | Порт для доступа к пользовательскому интерфейсу управления через браузер. |
| Обработчик сообщений | 8998 | Порт процессора сообщений для связи с маршрутизатором. |
| 8082 | Порт управления по умолчанию для обработчика сообщений должен быть открыт на компоненте для доступа со стороны сервера управления. Если вы настроите TLS/SSL между маршрутизатором и обработчиком сообщений, то маршрутизатор будет использовать его для проверки работоспособности обработчика сообщений. | |
| 1101 | порт JMX | |
| 4528 | Для распределенного кэширования и управления между обработчиками сообщений, а также для связи между маршрутизатором и сервером управления. | |
| Маршрутизатор | 8081 | Порт управления по умолчанию для маршрутизатора должен быть открыт на компоненте для доступа со стороны сервера управления. |
| 4527 | Для распределенного кэша и вызовов управления | |
| 15999 | Порт проверки работоспособности. Балансировщик нагрузки использует этот порт для определения доступности маршрутизатора. Для получения информации о состоянии маршрутизатора балансировщик нагрузки отправляет запрос на порт 15999 маршрутизатора: curl -v http://routerIP:15999/v1/servers/self/reachable Если маршрутизатор доступен, запрос возвращает HTTP 200. | |
| 59001 | Порт, используемый для проверки установки Edge утилитой apigee-validate . Для работы этой утилиты требуется доступ к порту 59001 на маршрутизаторе. Дополнительную информацию о порте 59001 см. в разделе «Проверка установки» . | |
| Смотритель зоопарка | 2181 | Используется другими компонентами, такими как сервер управления, маршрутизатор, процессор сообщений и так далее. |
| 2888, 3888 | Используется внутри ZooKeeper для связи с кластером ZooKeeper (известным как ансамбль ZooKeeper). | |
| Кассандра | 7000, 9042, 9160 | Порты Apache Cassandra используются для связи между узлами Cassandra и для доступа других компонентов Edge. |
| 7199 | Порт JMX. Должен быть открыт для доступа со стороны сервера управления. | |
| Qpid | 5672 | Используется для обмена данными между маршрутизатором и процессором сообщений и сервером Qpid. |
| 8083 | Порт управления по умолчанию на сервере Qpid должен быть открыт на компоненте для доступа со стороны сервера управления. | |
| 1102 | порт JMX | |
| 4529 | Для распределенного кэша и вызовов управления | |
| PostgreSQL | 5432 | Используется для связи между Qpid/сервером управления и PostgreSQL. |
| 8084 | Порт управления по умолчанию на сервере PostgreSQL должен быть открыт на компоненте для доступа со стороны сервера управления. | |
| 1103 | порт JMX | |
| 4530 | Для распределенного кэша и вызовов управления | |
| 22 | При настройке двух узлов Postgres для использования репликации master-standby необходимо открыть порт 22 на каждом узле для доступа по SSH. | |
| LDAP | 10389 | OpenLDAP |
| SmartDocs | 59002 | Порт на маршрутизаторе Edge, через который отправляются запросы страниц SmartDocs. |
В следующей таблице показаны те же порты, перечисленные в числовом порядке, с указанием источника и назначения:
| Номер порта | Цель | Исходный компонент | Компонент назначения |
|---|---|---|---|
| virtual_host_port | HTTP, а также любые другие порты, используемые для вызовов API виртуальных хостов. Чаще всего используются порты 80 и 443; маршрутизатор сообщений может завершать TLS/SSL-соединения. | Внешний клиент (или балансировщик нагрузки) | Слушатель на маршрутизаторе сообщений |
| 1099–1103 | JMX Management | JMX-клиент | Сервер управления (1099) Обработчик сообщений (1101) Сервер Qpid (1102) Сервер PostgreSQL (1103) |
| 2181 | Общение смотрителя зоопарка с клиентом | Сервер управления Маршрутизатор Обработчик сообщений Сервер Qpid Сервер PostgreSQL | Смотритель зоопарка |
| 2888 и 3888 | Управление межсетевым экраном Zookeeper | Смотритель зоопарка | Смотритель зоопарка |
| 4526 | Порт управления RPC | Сервер управления | Сервер управления |
| 4527 | Порт управления RPC для распределенного кэширования и вызовов управления, а также для связи между маршрутизаторами. | Сервер управления Маршрутизатор | Маршрутизатор |
| 4528 | Для распределенных вызовов кэширования между обработчиками сообщений, а также для связи с маршрутизатором. | Сервер управления Маршрутизатор Обработчик сообщений | Обработчик сообщений |
| 4529 | Порт управления RPC для распределенного кэша и вызовов управления. | Сервер управления | Сервер Qpid |
| 4530 | Порт управления RPC для распределенного кэша и вызовов управления. | Сервер управления | Сервер PostgreSQL |
| 5432 | Клиент PostgreSQL | Сервер Qpid | PostgreSQL |
| 5672 | Используется для отправки аналитических данных из маршрутизатора и обработчика сообщений в Qpid. | Маршрутизатор Обработчик сообщений | Сервер Qpid |
| 7000 | Межсетевое взаимодействие в Cassandra | Кассандра | Другой узел Cassandra |
| 7199 | Управление JMX. Доступ к нему должен быть открыт на узле Cassandra для сервера управления. | JMX-клиент | Кассандра |
| 8080 | Порт API управления | Клиенты API управления | Сервер управления |
| 8081–8084 | Порты API компонентов используются для отправки запросов API непосредственно к отдельным компонентам. Каждый компонент открывает свой собственный порт; точный используемый порт зависит от конфигурации, но должен быть открыт на компоненте для доступа со стороны сервера управления. | Клиенты API управления | Маршрутизатор (8081) Обработчик сообщений (8082) Сервер Qpid (8083) Сервер PostgreSQL (8084) |
| 8998 | Взаимодействие между маршрутизатором и процессором сообщений | Маршрутизатор | Обработчик сообщений |
| 9000 | Порт пользовательского интерфейса управления Edge по умолчанию | Браузер | Сервер пользовательского интерфейса управления |
| 9042 | CQL собственный транспорт | Маршрутизатор Обработчик сообщений Сервер управления | Кассандра |
| 9160 | Кассандра, клиентка благотворительной организации | Маршрутизатор Обработчик сообщений Сервер управления | Кассандра |
| 10389 | Порт LDAP | Сервер управления | OpenLDAP |
| 15999 | Порт проверки работоспособности. Балансировщик нагрузки использует этот порт для определения доступности маршрутизатора. | Балансировщик нагрузки | Маршрутизатор |
| 59001 | Порт, используемый утилитой apigee-validate для проверки установки Edge. | apigee-validate | Маршрутизатор |
| 59002 | Порт маршрутизатора, через который отправляются запросы страниц SmartDocs. | SmartDocs | Маршрутизатор |
Обработчик сообщений поддерживает открытый пул соединений с Cassandra, который настроен таким образом, чтобы никогда не истекал по таймауту. Если между обработчиком сообщений и сервером Cassandra находится межсетевой экран, он может привести к таймауту соединения. Однако обработчик сообщений не предназначен для восстановления соединений с Cassandra.
Чтобы предотвратить подобную ситуацию, Apigee рекомендует размещать сервер Cassandra, обработчик сообщений и маршрутизаторы в одной подсети, чтобы при развертывании этих компонентов не использовался межсетевой экран.
Если между маршрутизатором и обработчиками сообщений установлен межсетевой экран с заданным таймаутом ожидания TCP-соединения, мы рекомендуем следующее:
- В настройках sysctl в операционной системе Linux установите параметр
net.ipv4.tcp_keepalive_time = 1800, где 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
Если вы устанавливаете кластерную конфигурацию из 12 хостов с двумя центрами обработки данных, убедитесь, что узлы в обоих центрах обработки данных могут взаимодействовать через порты, указанные ниже:

Требования к портам API BaaS
Если вы решите установить API BaaS, вам потребуется добавить компоненты API BaaS Stack и API BaaS Portal. Эти компоненты используют порты, показанные на рисунке ниже:

Примечания к этой диаграмме:
- API BaaS Portal никогда не отправляет запросы напрямую к узлу BaaS Stack. Когда разработчик входит в Portal, приложение Portal загружается в браузер. Затем приложение Portal, работающее в браузере, отправляет запросы к узлам BaaS Stack.
- В производственной установке API BaaS используется балансировщик нагрузки между узлом портала API BaaS и узлами стека API BaaS. При настройке портала и выполнении вызовов API BaaS вы указываете IP-адрес или DNS-имя балансировщика нагрузки, а не узлов стека.
- Все узлы стека должны открыть порт 2551 для доступа со всех остальных узлов стека (это обозначено стрелкой-петлей на схеме выше для порта 2551 на узлах стека). Если у вас несколько центров обработки данных, порт должен быть доступен со всех узлов стека во всех центрах обработки данных.
- Необходимо настроить все узлы Baas Stack для отправки электронных писем через внешний SMTP-сервер. Для SMTP без TLS номер порта обычно равен 25. Для SMTP с поддержкой TLS это часто 465, но лучше уточнить у вашего SMTP-провайдера.
- Узлы Cassandra могут быть выделены для API BaaS или использоваться совместно с Edge.
В таблице ниже показаны порты по умолчанию, которые необходимо открыть в межсетевых экранах, по компонентам:
| Компонент | Порт | Описание |
|---|---|---|
| API BaaS портал | 9000 | Порт для пользовательского интерфейса API BaaS |
| API BaaS Stack | 8080 | Порт, через который принимаются запросы к API. |
| 2551 | Порт для связи между всеми узлами стека. Должен быть доступен для всех остальных узлов стека в центре обработки данных. Если у вас несколько центров обработки данных, порт должен быть доступен со всех узлов стека во всех центрах обработки данных. | |
| ElasticSearch | 9200–9400 | Для взаимодействия с API BaaS Stack и для обмена данными между узлами ElasticSearch. |
Лицензирование
Для каждой установки Edge требуется уникальный лицензионный файл, который вы получаете от Apigee. При установке сервера управления вам потребуется указать путь к лицензионному файлу, например, /tmp/license.txt.
Установщик копирует файл лицензии в /opt/apigee/customer/conf/license.txt .
Если файл лицензии действителен, сервер управления проверяет срок действия и допустимое количество обработчиков сообщений (MP). Если какой-либо из параметров лицензии истек, вы можете найти журналы по следующему адресу: /opt/apigee/var/log/edge-management-server/logs . В этом случае вы можете обратиться в службу поддержки Apigee Edge за подробной информацией о миграции.
Если у вас еще нет лицензии, свяжитесь с отделом продаж Apigee .