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

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:

  1. Создайте пользователя и группу "apigee":
    groupadd -r apigee > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. Создайте символическую ссылку из /opt/apigee на корневой каталог вашей установки:
    ln -Ts /srv/myInstallDir /opt/apigee

    где /srv/myInstallDir — это желаемое местоположение файлов Edge.

  3. Измените права доступа к корневому каталогу установки и создайте символическую ссылку на пользователя "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

Чтобы задать эти значения:

  1. Отредактируйте файл postgresql.properties:
    vi /opt/apigee/customer/application/postgresql.properties

    Если файл не существует, создайте его.

  2. Задайте указанные выше параметры.
  3. Сохраните внесенные изменения.
  4. Перезапустите базу данных 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:

  1. На каждом узле обработчика сообщений отредактируйте файл /etc/nscd.conf
  2. Установите следующее свойство:
    enable-cache hosts no

Отключение IPv6 на платформе Google Cloud Platform для RedHat/CentOS 7

Если вы устанавливаете Edge на RedHat 7 или CentOS 7 на платформе Google Cloud Platform, то необходимо отключить IPv6 на всех узлах Qpid.

Инструкции по отключению IPv6 см. в документации RedHat или CentOS для вашей конкретной версии ОС. Например, вы можете:

  1. Откройте файл /etc/hosts в текстовом редакторе.
  2. Чтобы закомментировать строку, вставьте символ "#" в первый столбец следующей строки:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. Сохраните файл.

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-соединения, мы рекомендуем следующее:

  1. В настройках sysctl в операционной системе Linux установите параметр net.ipv4.tcp_keepalive_time = 1800 , где 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

Если вы устанавливаете кластерную конфигурацию из 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 .