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

Edge for Private Cloud v4.18.01

Требования к оборудованию

Для высокодоступной инфраструктуры в рабочей среде необходимо соблюдать следующие минимальные требования к оборудованию. В таблицах ниже приведены минимальные требования к оборудованию для всех сценариев установки, описанных в разделе Топологии установки.

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

Компонент установки ОЗУ ЦП Минимальный объем жесткого диска
Cassandra 16 ГБ 8-ядерный 250 ГБ локального хранилища на SSD или быстром HDD, поддерживающем 2000 операций ввода-вывода в секунду.
Message Processor и Router на одном компьютере 16 ГБ 8-ядерный 100 ГБ
Аналитика – Postgres/Qpid на одном сервере (не рекомендуется для рабочей среды) 16 ГБ* 8-ядерный* Сетевое хранилище*** объемом 500 ГБ – 1 ТБ**, желательно с SSD-накопителем, поддерживающим не менее 1000 операций ввода-вывода в секунду*.
Аналитика – автономный Postgres 16 ГБ* 8-ядерный* Сетевое хранилище*** объемом 500 ГБ – 1 ТБ**, желательно с SSD-накопителем, поддерживающим не менее 1000 операций ввода-вывода в секунду*.
Analytics – Qpid standalone 8 ГБ 4-ядерный 30–50 ГБ локального хранилища на SSD или быстром HDD.

Для установок с более чем 250 транзакциями в секунду рекомендуется использовать жесткий диск с локальным хранилищем, поддерживающим 1000 операций ввода-вывода в секунду.

По умолчанию размер очереди Qpid составляет 20 ГБ. Если вам нужно увеличить емкость, добавьте дополнительные узлы Qpid.

Другое (OpenLDAP, интерфейс, сервер управления) 4 ГБ 2-ядерный 60 ГБ

* Настройте системные требования Postgres в зависимости от пропускной способности:

  • Менее 250 транзакций в секунду: 8 ГБ, 4 ядра, управляемое сетевое хранилище***, поддерживающее не менее 1000 операций ввода-вывода в секунду.
  • Более 250 транзакций в секунду: 16 ГБ, 8 ядер, управляемое сетевое хранилище***, поддерживающее не менее 1000 операций ввода-вывода в секунду.
  • Более 1000 транзакций в секунду: 16 ГБ, 8 ядер, управляемое сетевое хранилище***, поддерживающее не менее 2000 операций ввода-вывода в секунду.
  • Более 2000 транзакций в секунду: 32 ГБ, 16 ядер, управляемое сетевое хранилище***, поддерживающее не менее 2000 операций ввода-вывода в секунду.
  • Более 4000 транзакций в секунду: 64 ГБ, 32 ядра, управляемое сетевое хранилище***, поддерживающее не менее 4000 операций ввода-вывода в секунду.

** Значение жесткого диска 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 ГБ
Аналитика – Postgres/Qpid на одном сервере 16 ГБ 8-ядерный Сетевое хранилище объемом 500 ГБ – 1 ТБ, желательно с SSD-накопителем, поддерживающим не менее 1000 операций ввода-вывода в секунду, или используйте правило из таблицы выше.
Аналитика – автономный экземпляр Postgres 16 ГБ 8-ядерный Сетевое хранилище объемом 500 ГБ – 1 ТБ, желательно с SSD-накопителем, поддерживающим не менее 1000 операций ввода-вывода в секунду, или используйте правило из таблицы выше.
Analytics – Qpid standalone 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 ГБ
Cassandra** 16 ГБ 8-ядерный 250 ГБ локального хранилища на SSD или быстром HDD, поддерживающем 2000 операций ввода-вывода в секунду.

* Вы можете установить ElasticSearch и API BaaS Stack на одном узле. Если вы это сделаете, настройте ElasticSearch на использование 4 ГБ памяти (по умолчанию). Если ElasticSearch установлен на собственном узле, настройте его на использование 6 ГБ памяти.

** Необязательно. Обычно один и тот же кластер Cassandra используется как для Edge, так и для API BaaS Services.

Требования к операционной системе и стороннему ПО

Эти инструкции и файлы установки были протестированы на операционных системах и стороннем ПО, перечисленных в разделе Поддерживаемое ПО и его версии.

Создание пользователя Apigee

В процессе установки создается пользователь системы Unix с именем apigee. Каталоги и файлы Edge принадлежат пользователю apigee, как и процессы Edge. Это означает, что компоненты 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 Wrappers

Обертки 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 должны быть подключены к кольцу. Cassandra хранит реплики данных на нескольких узлах, чтобы обеспечить надежность и отказоустойчивость. Стратегия репликации для каждого пространства ключей Edge определяет узлы Cassandra, на которых размещаются реплики. Подробнее о коэффициенте репликации и уровне согласованности Cassandra…

Cassandra автоматически корректирует размер кучи Java в зависимости от доступной памяти. Подробнее о настройке ресурсов Java… В случае снижения производительности или высокого потребления памяти.

После установки Edge для частного облака вы можете проверить, правильно ли настроена Cassandra, изучив файл /opt/apigee/apigee-cassandra/conf/cassandra.yaml. Например, убедитесь, что скрипт установки Edge для частного облака задает следующие свойства:

  • 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
  • На узлах Message Processor задайте максимальное количество открытых дескрипторов файлов, равное 64 000, в файле /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.

Network Security Services (NSS)

Network Security Services (NSS) – это набор библиотек, которые поддерживают разработку клиентских и серверных приложений с поддержкой безопасности. Убедитесь, что у вас установлена версия NSS 3.19 или более поздняя.

Чтобы узнать текущую версию:

yum info nss

Чтобы обновить NSS:

yum update nss

Дополнительную информацию можно найти в этой статье от RedHat.

Отключите DNS-запросы по IPv6, если вы используете NSCD (Name Service Cache Daemon).

Если вы установили и включили NSCD (Name Service Cache Daemon), Message Processor выполняет два DNS-запроса: один для IPv4 и один для IPv6. Если вы используете NSCD, отключите DNS-запросы по протоколу IPv6.

Чтобы отключить DNS-запрос по IPv6, выполните следующие действия:

  1. На каждом узле Message Processor измените файл /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 на AWS Amazon Machine Image (AMI) для Red Hat Enterprise Linux 7.x, сначала необходимо выполнить следующую команду:

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

Инструменты

Установщик использует следующие инструменты UNIX в стандартной версии, предоставляемой EL5 или EL6.

awk

expr

libxslt

об/мин

распаковать

basename

grep

lua-socket

rpm2cpio

useradd

bash

hostname

ls

sed

wc

bc

id

net-tools

sudo

wget

curl

libaio

perl (из procps)

tar

xerces-c

cyrus-sasl libdb4 pgrep (из procps) tr супер!

дата

libdb-cxx

ps

uuid

chkconfig

dirname libibverbs pwd uname  
echo librdmacm python    

ntpdate

Рекомендуется синхронизировать время на серверах. Если вы ещё не настроили синхронизацию, используйте утилиту ntpdate, которая проверяет, синхронизировано ли время на серверах. Для установки утилиты можно использовать yum install ntp. Это особенно полезно для репликации настроек OpenLDAP. Обратите внимание, что часовой пояс сервера задается в формате UTC.

openldap 2.4

Для локальной установки требуется OpenLDAP 2.4. Если у сервера есть подключение к интернету, скрипт установки Edge скачивает и устанавливает OpenLDAP. Если у вашего сервера нет подключения к интернету, перед запуском скрипта установки Edge убедитесь, что OpenLDAP уже установлен. В RHEL/CentOS для установки OpenLDAP можно выполнить команду yum install openldap-clients openldap-servers.

Для установок с 13 хостами и установок с 12 хостами и двумя центрами обработки данных требуется репликация OpenLDAP, поскольку OpenLDAP размещается на нескольких узлах.

Брандмауэры и виртуальные хосты

Термин virtual часто используется в сфере ИТ, в том числе в контексте развертывания Apigee Edge для 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 по URL http://api.mycompany.com:80/.

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

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

На изображении ниже показаны требования к портам для каждого компонента Edge.

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

  • * Порт 8082 на Message Processor должен быть открыт для доступа со стороны Router, только если вы настраиваете TLS/SSL между Router и Message Processor. Если вы не настроите TLS/SSL между маршрутизатором и Message Processor (конфигурация по умолчанию), порт 8082 все равно должен быть открыт на Message Processor для управления компонентом, но маршрутизатору не требуется доступ к нему.
  • Порты с префиксом "M" используются для управления компонентом и должны быть открыты на компоненте для доступа со стороны сервера управления.
  • Доступ к порту 8080 на сервере управления требуется следующим компонентам: Router, Message Processor, UI, Postgres и Qpid.
  • Для Message Processor необходимо открыть порт 4528 в качестве порта управления. Если у вас несколько Message Processor, они должны иметь доступ друг к другу через порт 4528 (на схеме выше это показано круговой стрелкой для порта 4528 на Message Processor). Если у вас несколько центров обработки данных, порт должен быть доступен для всех Message Processor во всех центрах обработки данных.
  • При необходимости вы можете открыть порт 4527 на маршрутизаторе для доступа к любому процессору сообщений. В противном случае в файлах журнала Message Processor могут появиться сообщения об ошибках.
  • Маршрутизатор должен открыть порт 4527 в качестве порта управления. Если у вас несколько маршрутизаторов, они должны иметь доступ друг к другу через порт 4527 (на схеме выше это показано круговой стрелкой для порта 4527 на маршрутизаторе).
  • Чтобы в инструменте отладки работала кнопка Отправить, Edge UI требуется доступ к маршрутизатору через порты, открытые прокси-серверами API.
  • Серверу управления требуется доступ к порту JMX на узлах Cassandra.
  • Для доступа к портам JMX можно настроить требование имени пользователя и пароля. Подробнее о том, как отслеживать данные…
  • При необходимости вы можете настроить доступ по протоколу TLS/SSL для определенных подключений, которые могут использовать разные порты. Подробнее о TLS/SSL…
  • Если вы настраиваете два узла Postgres для использования репликации "основной-резервный", необходимо открыть порт 22 на каждом узле для доступа по SSH. При необходимости вы можете открыть порты на отдельных узлах, чтобы разрешить доступ по SSH.
  • Вы можете настроить сервер управления и интерфейс Edge для отправки электронных писем через внешний SMTP-сервер. В этом случае необходимо убедиться, что у сервера управления и пользовательского интерфейса есть доступ к нужному порту на SMTP-сервере. Для SMTP без TLS обычно используется порт 25. Для SMTP с поддержкой TLS часто используется порт 465, но лучше уточнить у поставщика SMTP.

В таблице ниже показаны порты, которые необходимо открыть в брандмауэрах, по компонентам Edge:

Компонент Порт Описание
Стандартные порты HTTP 80, 443 HTTP и любые другие порты, которые вы используете для виртуальных хостов.
Сервер управления 8080 Порт для вызовов API управления Edge. Доступ к порту 8080 на сервере управления требуется следующим компонентам: Router, Message Processor, UI, Postgres и Qpid.
1099 Порт JMX
4526 Для распределенного кеша и вызовов управления
Интерфейс управления 9000 Порт для доступа браузера к интерфейсу управления
Message Processor 8998 Порт Message Processor для связи с Router
8082

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

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

1101 Порт JMX
4528 Для распределенного кеша и вызовов управления между Message Processor, а также для связи с Router и Management Server.
Маршрутизатор 8081 Порт управления по умолчанию для маршрутизатора. Должен быть открыт на компоненте для доступа со стороны сервера управления.
4527 Для распределенного кеша и вызовов управления
15999

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

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

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

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

59001 Порт, используемый утилитой apigee-validate для тестирования установки Edge. Для работы утилиты требуется доступ к порту 59001 на маршрутизаторе. Подробнее о тестировании установки…
ZooKeeper 2181 Используется другими компонентами, такими как Management Server, Router, Message Processor и т. д.
2888, 3888 Используется внутри ZooKeeper для связи с кластером ZooKeeper (известным как ансамбль ZooKeeper).
Cassandra 7000, 9042, 9160 Порты Apache Cassandra для связи между узлами Cassandra и для доступа со стороны других компонентов Edge.
7199 Порт JMX. Должен быть открыт для доступа со стороны сервера управления.
Qpid 5672 Используется для связи между маршрутизатором и процессором сообщений и сервером Qpid.
8083 Порт управления по умолчанию на сервере Qpid. Должен быть открыт на компоненте для доступа с сервера управления.
1102 Порт JMX
4529 Для распределенного кеша и вызовов управления
Postgres 5432 Используется для связи между Qpid/сервером управления и Postgres.
8084 Порт управления по умолчанию на сервере Postgres. Должен быть открыт на компоненте для доступа со стороны сервера управления.
1103 Порт JMX
4530 Для распределенного кеша и вызовов управления
22 Если вы настраиваете два узла Postgres для использования репликации "основной-резервный", необходимо открыть порт 22 на каждом узле для доступа по SSH.
LDAP 10389 OpenLDAP
SmartDocs 59002 Порт на маршрутизаторе Edge, на который отправляются запросы страниц SmartDocs.

В следующей таблице приведены те же порты в числовом порядке с указанием исходных и целевых компонентов.

Номер порта Цель Исходный компонент Компонент Destination
virtual_host_port HTTP и любые другие порты, которые вы используете для трафика вызовов API виртуального хоста. Чаще всего используются порты 80 и 443. Маршрутизатор сообщений может завершать подключения TLS/SSL. Внешний клиент (или балансировщик нагрузки) Прослушиватель на маршрутизаторе сообщений
1099–1103 Управление JMX Клиент JMX Management Server (1099)
Message Processor (1101)
Qpid Server (1102)
Postgres Server (1103)
2181 Обмен данными с клиентом Zookeeper Management Server
Router
Message Processor
Qpid Server
Postgres Server
Смотритель зоопарка
2888 и 3888 Управление межсерверным взаимодействием в Zookeeper Смотритель зоопарка Смотритель зоопарка
4526 Порт RPC Management Сервер управления Сервер управления
4527 Порт управления RPC для распределенного кеша и вызовов управления, а также для связи между маршрутизаторами. Сервер управления
Маршрутизатор
Маршрутизатор
4528 Для вызовов распределенного кеша между Message Processor и для связи с Router. Management Server
Router
Message Processor
Message Processor
4529 Порт управления RPC для распределенного кеша и вызовов управления Сервер управления Сервер Qpid
4530 Порт управления RPC для распределенного кеша и вызовов управления Сервер управления Сервер Postgres
5432 Клиент Postgres Сервер Qpid Postgres
5672

Используется для отправки аналитических данных из Router и Message Processor в Qpid.

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

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

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

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

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

Если между маршрутизатором и процессорами сообщений есть брандмауэр и для него задан тайм-аут TCP в режиме ожидания, мы рекомендуем:

  1. Задайте значение net.ipv4.tcp_keepalive_time = 1800 в настройках sysctl в ОС Linux, где 1800 должно быть меньше времени ожидания TCP брандмауэра. Это позволит поддерживать соединение, чтобы брандмауэр не прерывал его.
  2. На всех процессорах сообщений измените /opt/apigee/customer/application/message-processor.properties, чтобы добавить следующее свойство. Если файла нет, создайте его.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. Перезапустите 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

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

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

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

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

  • Портал API BaaS никогда не отправляет запросы напрямую узлу BaaS Stack. Когда разработчик входит на портал, приложение портала скачивается в браузер. Затем приложение Portal, запущенное в браузере, отправляет запросы к узлам BaaS Stack.
  • В рабочей среде API BaaS между узлом портала API BaaS и узлами стека API BaaS используется балансировщик нагрузки. При настройке портала и вызове API BaaS указывайте IP-адрес или DNS-имя балансировщика нагрузки, а не узлов стека.
  • На всех узлах Stack должен быть открыт порт 2551 для доступа со всех остальных узлов Stack (на схеме выше это обозначено круговой стрелкой для порта 2551 на узлах Stack). Если у вас несколько центров обработки данных, порт должен быть доступен со всех узлов Stack во всех центрах обработки данных.
  • Вы должны настроить все узлы Baas Stack для отправки электронных писем через внешний SMTP-сервер. Для SMTP без TLS обычно используется порт 25. Для SMTP с поддержкой TLS часто используется порт 465, но лучше уточнить у поставщика SMTP.
  • Узлы Cassandra могут быть выделены для API BaaS или использоваться совместно с Edge.

В таблице ниже указаны порты, которые по умолчанию должны быть открыты в брандмауэрах для каждого компонента.

Компонент Порт Описание
API BaaS Portal 9000 Порт для интерфейса API BaaS.
Стек API BaaS 8080 Порт, на который поступают запросы к API.
2551

Порт для связи между всеми узлами Stack. Должен быть доступен для всех остальных узлов Stack в центре обработки данных.

Если у вас несколько центров обработки данных, порт должен быть доступен из всех узлов Stack во всех центрах обработки данных.

ElasticSearch 9200–9400 Для связи с API BaaS Stack и между узлами ElasticSearch.

лицензии;

Для каждой установки Edge требуется уникальный файл лицензии, который вы получаете от Apigee. При установке сервера управления вам нужно будет указать путь к файлу лицензии, например /tmp/license.txt.

Установщик скопирует файл лицензии в каталог /opt/apigee/customer/conf/license.txt.

Если файл лицензии действителен, сервер управления проверяет срок действия и допустимое количество Message Processor (MP). Если срок действия какой-либо из лицензий истек, журналы можно найти в папке /opt/apigee/var/log/edge-management-server/logs. В этом случае вы можете обратиться в службу поддержки Apigee Edge, чтобы узнать больше о переносе.

Если у вас нет лицензии, обратитесь в отдел продаж Apigee.