Wymagania dotyczące instalacji

Edge dla chmury prywatnej w wersji 4.17.01

Wymagania sprzętowe

Aby infrastruktura o wysokiej dostępności działała w środowisku produkcyjnym, musisz spełnić te minimalne wymagania sprzętowe. W tabelach poniżej znajdziesz minimalne wymagania sprzętowe dotyczące komponentów instalacji we wszystkich scenariuszach instalacji opisanych w sekcji Topologie instalacji.

W tych tabelach wymagania dotyczące dysku twardego są podane dodatkowo do miejsca na dysku twardym wymaganego przez system operacyjny. W zależności od aplikacji i ruchu w sieci instalacja może wymagać więcej lub mniej zasobów niż wymienione poniżej.

Komponent instalacyjny

RAM

CPU

Minimalna ilość miejsca na dysku twardym

Cassandra

16 GB

8-rdzeniowy

250 GB lokalnego miejsca na dane na dysku SSD lub szybkim dysku HDD obsługującym 2000 IOPS

Procesor komunikatów i router na tym samym komputerze

8/16 GB

4 rdzenie†

100 GB

Analytics – Postgres/Qpid na tym samym serwerze (niezalecane w przypadku środowiska produkcyjnego)

16 GB*

8-rdzeniowy*

500 GB – 1 TB** pamięci sieciowej***, najlepiej z dyskiem SSD, obsługującej co najmniej 1000 IOPS*.

Analytics – samodzielna baza danych Postgres

16 GB*

8-rdzeniowy*

500 GB – 1 TB** pamięci sieciowej***, najlepiej z backendem SSD, obsługującej co najmniej 1000 IOPS*.

Analytics – samodzielna usługa Qpid

8 GB

4-rdzeniowy

30–50 GB miejsca na dysku lokalnym (SSD lub szybki HDD)

W przypadku instalacji o wydajności powyżej 250 TPS zalecany jest dysk twardy z lokalną pamięcią masową obsługującą 1000 IOPS.

Domyślny rozmiar kolejki Qpid to 20 GB. Jeśli potrzebujesz więcej miejsca, dodaj kolejne węzły Qpid.

Inne (OpenLDAP, UI, serwer zarządzania)

4 GB

2-rdzeniowy

60 GB

† Dostosuj wymagania systemowe procesora komunikatów na podstawie przepustowości:

Zalecamy co najmniej 4 rdzenie, a w przypadku systemu o wysokiej przepustowości – 8 rdzeni. Możesz przeprowadzić testy wydajności, aby określić optymalny rozmiar interfejsów API.

*Dostosuj wymagania systemowe Postgres na podstawie przepustowości:

  • Mniej niż 250 TPS: 8 GB, 4 rdzenie, z zarządzaną pamięcią sieciową*** obsługującą co najmniej 1000 IOPS
  • Powyżej 250 TPS: 16 GB, 8 rdzeni, zarządzana sieciowa pamięć masowa*** obsługująca co najmniej 1000 IOPS
  • Powyżej 1000 TPS: 16 GB, 8 rdzeni, zarządzana sieciowa pamięć masowa*** obsługująca co najmniej 2000 IOPS
  • Powyżej 2000 TPS: 32 GB, 16 rdzeni, zarządzana sieciowa pamięć masowa*** obsługująca co najmniej 2000 IOPS
  • Powyżej 4000 TPS: 64 GB, 32 rdzenie, zarządzana sieciowa pamięć masowa*** obsługująca co najmniej 4000 IOPS

**Wartość dysku twardego Postgres jest oparta na gotowych statystykach przechwyconych przez Edge. Jeśli dodasz wartości niestandardowe do danych analitycznych, te wartości powinny zostać odpowiednio zwiększone. Aby oszacować wymaganą ilość miejsca na dane, użyj tego wzoru:

(liczba bajtów na żądanie) * (liczba żądań na sekundę) * (liczba sekund na godzinę) * (liczba godzin szczytowego wykorzystania dziennie) * (liczba dni w miesiącu) * (liczba miesięcy przechowywania danych) = liczba bajtów wymaganego miejsca na dane

Na przykład:

(2 KB danych analitycznych na żądanie) * 100 żądań/s * 3600 s/h * 18 godzin szczytowego wykorzystania dziennie * 30 dni/miesiąc * 3 miesiące przechowywania = 1 194 393 600 000 bajtów, czyli 1194,4 GB.

*** W przypadku bazy danych Postgresql zalecane jest użycie pamięci sieciowej, ponieważ:

  • Umożliwia dynamiczne zwiększanie rozmiaru miejsca na dane w razie potrzeby.
  • Większość współczesnych podsystemów środowiska, pamięci masowej i sieci umożliwia dostosowywanie liczby operacji wejścia-wyjścia na sekundę w sieci na bieżąco.
  • Zrzuty na poziomie pamięci masowej można włączyć w ramach rozwiązań do tworzenia kopii zapasowych i przywracania danych.

Poniżej znajdziesz wymagania sprzętowe, które musisz spełnić, jeśli chcesz zainstalować usługi zarabiania:

Komponent z zarabianiem

RAM

CPU

Dysk twardy

Serwer zarządzania (z usługami zarabiania)

8 GB

4-rdzeniowy

60 GB

Analytics – Postgres/Qpid na tym samym serwerze

16 GB

8-rdzeniowy

500 GB – 1 TB pamięci sieciowej, najlepiej z backendem SSD, obsługującej co najmniej 1000 IOPS, lub użyj reguły z tabeli powyżej.

Analytics – samodzielna baza danych Postgres

16 GB

8-rdzeniowy

500 GB – 1 TB pamięci sieciowej, najlepiej z backendem SSD, obsługującej co najmniej 1000 IOPS, lub użyj reguły z tabeli powyżej.

Analytics – samodzielna usługa Qpid

8 GB

4-rdzeniowy

40–500 GB miejsca na dysku lokalnym (SSD lub szybkim HDD)
W przypadku instalacji o wydajności powyżej 250 TPS zalecany jest dysk twardy z lokalną pamięcią masową obsługującą 1000 IOPS.

Poniżej znajdziesz wymagania sprzętowe, które musisz spełnić, aby zainstalować API BaaS:

Komponent API BaaS

RAM

CPU

Dysk twardy

ElasticSearch*

8 GB

4-rdzeniowy

60–80 GB

Stos API BaaS *

8 GB

4-rdzeniowy

60–80 GB

Portal API BaaS

1 GB

2-rdzeniowy

20 GB

Cassandra (opcjonalnie – zwykle używasz tego samego klastra Cassandra dla usług Edge i API BaaS)

16 GB

8-rdzeniowy

250 GB lokalnego miejsca na dane na dysku SSD lub szybkim dysku HDD obsługującym 2000 IOPS

* ElasticSearch i stos API BaaS można zainstalować w tym samym węźle. Jeśli tak, skonfiguruj ElasticSearch tak, aby używał 4 GB pamięci (domyślnie). Jeśli ElasticSearch jest zainstalowany na własnym węźle, skonfiguruj go tak, aby używał 6 GB pamięci.

Uwaga:

  • Jeśli główny system plików nie jest wystarczająco duży do instalacji, zalecamy umieszczenie danych na większym dysku.
  • Jeśli na komputerze była zainstalowana starsza wersja Apigee Edge dla chmury prywatnej, przed nową instalacją usuń folder /tmp/java.
  • Aby uruchomić system Cassandra, folder tymczasowy /tmp musi mieć uprawnienia do wykonywania.
  • Jeśli użytkownik „apigee” został utworzony przed instalacją, upewnij się, że „/home/apigee” istnieje jako katalog domowy i należy do „apigee:apigee”.

Wymagania dotyczące systemu operacyjnego i oprogramowania innych firm

Te instrukcje instalacji i dostarczone pliki instalacyjne zostały przetestowane w systemach operacyjnych i oprogramowaniu innych firm wymienionych tutaj: https://apigee.com/docs/api-services/reference/supported-software.

Tworzenie użytkownika Apigee

Procedura instalacji tworzy użytkownika systemu Unix o nazwie „apigee”. Katalogi i pliki Edge należą do „apigee”, podobnie jak procesy Edge. Oznacza to, że komponenty Edge działają jako użytkownik „apigee”. W razie potrzeby możesz uruchamiać komponenty jako inny użytkownik. Przykład znajdziesz w sekcji „Powiązanie routera z chronionym portem” w artykule Instalowanie komponentów Edge w węźle.

Katalog instalacji

Domyślnie instalator zapisuje wszystkie pliki w katalogu /opt/apigee. Nie możesz zmienić lokalizacji tego katalogu. Nie możesz zmienić tego katalogu, ale możesz utworzyć dowiązanie symboliczne, aby zmapować /opt/apigee na inną lokalizację, jak opisano poniżej.

W instrukcjach w tym przewodniku katalog instalacyjny jest oznaczony jako /<inst_root>/apigee, gdzie /<inst_root> to domyślnie /opt.

Tworzenie dowiązania symbolicznego z /opt/apigee

Zanim utworzysz dowiązanie symboliczne, musisz najpierw utworzyć użytkownika i grupę o nazwie „apigee”. Jest to ta sama grupa i ten sam użytkownik, które zostały utworzone przez instalator Edge.

Aby utworzyć dowiązanie symboliczne, wykonaj te czynności przed pobraniem pliku bootstrap_4.17.01.sh. Wszystkie te czynności musisz wykonać jako użytkownik root:

  1. Utwórz użytkownika i grupę „apigee”:
    > groupadd -r apigee
    > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. Utwórz dowiązanie symboliczne z /opt/apigee do wybranego katalogu głównego instalacji:
    > ln -Ts /srv/myInstallDir /opt/apigee
    gdzie /srv/myInstallDir to wybrana lokalizacja plików Edge.
  3. Zmień właściciela katalogu głównego instalacji i dowiązania symbolicznego na użytkownika „apigee”:
    > chown -h apigee:apigee /srv/myInstallDir /opt/apigee

Java

Przed instalacją na każdym komputerze musi być zainstalowana obsługiwana wersja Java 1.8. Obsługiwane pakiety JDK są wymienione tutaj:

https://apigee.com/docs/api-services/reference/supported-software

Upewnij się, że zmienna JAVA_HOME wskazuje katalog główny JDK użytkownika, który przeprowadza instalację.

SELinux

W zależności od ustawień SELinux Edge może napotkać problemy z instalacją i uruchamianiem komponentów Edge. W razie potrzeby możesz wyłączyć SELinux lub ustawić go w trybie zezwalającym podczas instalacji, a po jej zakończeniu ponownie go włączyć. Więcej informacji znajdziesz w artykule Instalowanie narzędzia apigee-setup w Edge.

Ustawienie sieci

Zalecamy sprawdzenie ustawień sieci przed instalacją. Instalator oczekuje, że wszystkie maszyny mają stałe adresy IP. Aby sprawdzić ustawienie, użyj tych poleceń:

  • hostname zwraca nazwę komputera.
  • hostname -i zwraca adres IP nazwy hosta, który może być adresowany z innych maszyn.

W zależności od typu i wersji systemu operacyjnego może być konieczne zmodyfikowanie plików /etc/hosts i /etc/sysconfig/network, jeśli nazwa hosta nie jest ustawiona prawidłowo. Więcej informacji znajdziesz w dokumentacji konkretnego systemu operacyjnego.

TCP Wrappers

Otoki TCP mogą blokować komunikację niektórych portów i wpływać na instalację OpenLDAP, Postgres i Cassandra. Na tych węzłach sprawdź pliki /etc/hosts.allow i /etc/hosts.deny, aby upewnić się, że nie ma żadnych ograniczeń dotyczących wymaganych portów OpenLDAP, Postgres i Cassandra.

iptables

Sprawdź, czy nie ma zasad iptables uniemożliwiających połączenie między węzłami na wymaganych portach Edge. W razie potrzeby możesz zatrzymać iptables podczas instalacji za pomocą polecenia:

> sudo /etc/init.d/iptables stop

W systemie CentOS 7.x:

> systemctl stop firewalld

Sprawdź, czy router brzegowy ma dostęp do /etc/rc.d/init.d/functions

Węzły routera brzegowego i portalu BaaS używają routera Nginx i wymagają dostępu do odczytu do pliku /etc/rc.d/init.d/functions.

Jeśli proces zabezpieczeń wymaga ustawienia uprawnień w pliku /etc/rc.d/init.d/functions, nie ustawiaj ich na 700, ponieważ router nie będzie mógł się uruchomić. Możesz ustawić uprawnienia na 744, aby zezwolić na dostęp do odczytu do /etc/rc.d/init.d/functions.

Cassandra

Wszystkie węzły Cassandra muszą być połączone z pierścieniem. Cassandra przechowuje repliki danych na wielu węzłach, aby zapewnić niezawodność i odporność na błędy. Strategia replikacji dla każdej przestrzeni kluczy Edge określa węzły Cassandra, w których umieszczane są repliki. Więcej informacji znajdziesz w artykule na temat współczynnika replikacji i poziomu spójności Cassandra.

Cassandra automatycznie dostosowuje rozmiar sterty Javy na podstawie dostępnej pamięci. Więcej informacji znajdziesz w artykule o dostrajaniu zasobów Javy. W przypadku pogorszenia wydajności lub dużego zużycia pamięci.

Po zainstalowaniu Edge dla chmury prywatnej możesz sprawdzić, czy Cassandra jest prawidłowo skonfigurowana, sprawdzając plik /<inst_root>/apigee/apigee-cassandra/conf/cassandra.yaml. Upewnij się na przykład, że skrypt instalacyjny Edge dla chmury prywatnej ustawia te właściwości:

  • cluster_name
  • initial_token
  • partitioner
  • seeds
  • listen_address
  • rpc_address
  • snitch

Ostrzeżenie: nie edytuj tego pliku.

Baza danych PostgreSQL

Po zainstalowaniu Edge możesz dostosować te ustawienia bazy danych PostgreSQL na podstawie ilości pamięci RAM dostępnej w systemie:

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

Aby ustawić te wartości:

  1. Otwórz do edycji plik postgresql.properties:
    > vi /<inst_root>/apigee/customer/application/postgresql.properties

    Jeśli plik nie istnieje, utwórz go.
  2. Ustaw właściwości wymienione powyżej.
  3. Zapisz zmiany.
  4. Uruchom ponownie bazę danych PostgreSQL:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

Ograniczenia systemu

Upewnij się, że w węzłach Cassandra i procesora komunikatów ustawiono te limity systemowe:

  • W węzłach Cassandra ustaw miękkie i twarde limity memlock, nofile i przestrzeni adresowej (as) dla użytkownika instalacji (domyślnie „apigee”) w pliku /etc/security/limits.d/90-apigee-edge-limits.conf , jak pokazano poniżej:
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited

  • W węzłach procesora komunikatów ustaw maksymalną liczbę otwartych deskryptorów plików na 64 K w pliku /etc/security/limits.d/90-apigee-edge-limits.conf , jak pokazano poniżej:
    apigee soft nofile 32768
    apigee hard nofile 65536


    W razie potrzeby możesz zwiększyć ten limit. Może się tak zdarzyć, jeśli na przykład masz otwartą dużą liczbę plików tymczasowych.

jsvc

„jsvc” jest wymagany do korzystania z API BaaS. Wersja 1.0.15-dev jest instalowana podczas instalacji API BaaS.

Network Security Services (NSS)

Network Security Services (NSS) to zestaw bibliotek, które ułatwiają tworzenie aplikacji klienckich i serwerowych z obsługą zabezpieczeń. Upewnij się, że masz zainstalowaną wersję NSS 3.19 lub nowszą.

Aby sprawdzić bieżącą wersję:

> yum info nss

Aby zaktualizować NSS:

> yum update nss

Więcej informacji znajdziesz w tym artykule firmy RedHat.

Wyłączanie wyszukiwania DNS w IPv6 podczas korzystania z NSCD (Name Service Cache Daemon)

Jeśli masz zainstalowany i włączony demon NSCD (Name Service Cache Daemon), procesory komunikatów wykonują 2 wyszukiwania DNS: jedno dla IPv4 i jedno dla IPv6. Jeśli używasz NSCD, wyłącz wyszukiwanie DNS w IPv6.

Aby wyłączyć wyszukiwanie DNS w IPv6:

  1. Na każdym węźle procesora komunikatów zmodyfikuj plik /etc/nscd.conf.
  2. Ustaw tę właściwość:
    enable-cache hosts no

Wyłączanie protokołu IPv6 na Google Cloud Platform w przypadku RedHat/CentOS 7

Jeśli instalujesz Edge na RedHat 7 lub CentOS 7 na Google Cloud Platform, musisz wyłączyć IPv6 na wszystkich węzłach Qpid.

Instrukcje wyłączania protokołu IPv6 znajdziesz w dokumentacji RedHat lub CentOS dotyczącej konkretnej wersji systemu operacyjnego.

AWS AMI

Jeśli instalujesz Edge na obrazie Amazon Machine Image (AMI) AWS dla Red Hat Enterprise Linux 7.x, musisz najpierw uruchomić to polecenie:

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

Narzędzia

Instalator używa tych narzędzi UNIX w wersji standardowej, które są dostarczane przez EL5 lub EL6.

awk

expr

lua-socket

obr./min

unzip

basename

grep

ls

rpm2cpio

useradd

bash

nazwa hosta

net-tools

sed

wc

bc

id

perl (z procps)

sudo

wget

curl

libaio

pgrep (z procps)

tar

xerces-c

cyrus-sasl
libdb-cxx
ps tr mniam

data

libibverbs

pwd

uuid

chkconfig

dirname
librdmacm
python uname
echo
libxslt

Uwaga:

  • Plik wykonywalny narzędzia „useradd” znajduje się w /usr/sbin, a narzędzia chkconfig – w /sbin.
  • Dzięki dostępowi do sudo możesz uzyskać dostęp do środowiska wywołującego użytkownika, na przykład zwykle wywołujesz „sudo <polecenie>” lub „sudo PATH=$PATH:/usr/sbin:/sbin <polecenie>”.
  • Przed instalacją pakietu poprawek (poprawki) upewnij się, że masz zainstalowane narzędzie „patch”.

ntpdate – zalecamy synchronizację czasu serwerów. Jeśli nie jest jeszcze skonfigurowane, do tego celu można użyć narzędzia „ntpdate”, które sprawdza, czy serwery są zsynchronizowane czasowo. Aby zainstalować to narzędzie, możesz użyć polecenia „yum install ntp”. Jest to szczególnie przydatne w przypadku replikowania konfiguracji OpenLDAP. Pamiętaj, że strefa czasowa serwera jest ustawiona na UTC.

openldap 2.4 – instalacja lokalna wymaga OpenLDAP 2.4. Jeśli serwer ma połączenie z internetem, skrypt instalacyjny Edge pobiera i instaluje OpenLDAP. Jeśli serwer nie ma połączenia z internetem, przed uruchomieniem skryptu instalacyjnego Edge musisz się upewnić, że OpenLDAP jest już zainstalowany. W systemie RHEL/CentOS możesz uruchomić polecenie „yum install openldap-clients openldap-servers”, aby zainstalować OpenLDAP.

W przypadku instalacji z 13 hostami i instalacji z 12 hostami z 2 centrami danych wymagana jest replikacja OpenLDAP, ponieważ istnieje wiele węzłów hostujących OpenLDAP.

Zapory sieciowe i hosty wirtualne

Termin „wirtualny” jest często nadużywany w branży IT, podobnie jak w przypadku wdrożenia Apigee Edge dla chmury prywatnej i hostów wirtualnych. Dla wyjaśnienia: termin „wirtualny” ma 2 główne zastosowania:

  • Maszyny wirtualne: nie są wymagane, ale niektóre wdrożenia wykorzystują technologię maszyn wirtualnych do tworzenia odizolowanych serwerów dla komponentów Apigee. Hosty maszyn wirtualnych, podobnie jak hosty fizyczne, mogą mieć interfejsy sieciowe i zapory sieciowe.
  • Hosty wirtualne: punkty końcowe sieci, analogiczne do hosta wirtualnego Apache.

Router w maszynie wirtualnej może udostępniać wiele hostów wirtualnych (o ile różnią się one aliasem hosta lub portem interfejsu).

Przykładowo na jednym serwerze fizycznym „A” mogą działać 2 maszyny wirtualne o nazwach „VM1” i „VM2”. Załóżmy, że maszyna VM1 udostępnia wirtualny interfejs Ethernet, który w maszynie wirtualnej ma nazwę eth0 i któremu maszyna wirtualna lub serwer DHCP sieci przypisuje adres IP 111.111.111.111. Załóżmy też, że maszyna VM2 udostępnia wirtualny interfejs Ethernet, który również ma nazwę eth0 i któremu przypisany jest adres IP 111.111.111.222.

W każdej z tych 2 maszyn wirtualnych może działać router Apigee. Routery udostępniają punkty końcowe hosta wirtualnego, jak w tym hipotetycznym przykładzie:

Router Apigee w maszynie wirtualnej VM1 udostępnia 3 hosty wirtualne w interfejsie eth0 (który ma określony adres IP): api.mycompany.com:80, api.mycompany.com:443 i test.mycompany.com:80.

Router w maszynie wirtualnej 2 udostępnia api.mycompany.com:80 (ta sama nazwa i port co w maszynie wirtualnej 1).

System operacyjny hosta fizycznego może mieć zaporę sieciową. Jeśli tak jest, musi ona być skonfigurowana tak, aby przepuszczać ruch TCP kierowany do portów udostępnianych w interfejsach zwirtualizowanych (111.111.111.111:{80, 443} i 111.111.111.222:80). Dodatkowo system operacyjny każdej maszyny wirtualnej może mieć własną zaporę sieciową na interfejsie eth0, która również musi zezwalać na ruch na portach 80 i 443.

Ścieżka podstawowa to trzeci komponent, który bierze udział w kierowaniu wywołań interfejsu API do różnych wdrożonych przez Ciebie proxy interfejsów API. Pakiety serwerów proxy interfejsu API mogą współdzielić punkt końcowy, jeśli mają różne ścieżki podstawowe. Na przykład jedna ścieżka podstawowa może być zdefiniowana jako http://api.mycompany.com:80/, a druga jako http://api.mycompany.com:80/salesdemo.

W tym przypadku potrzebujesz systemu równoważenia obciążenia lub systemu kierowania ruchem, który będzie rozdzielać ruch http://api.mycompany.com:80/ między 2 adresy IP (111.111.111.111 na maszynie wirtualnej 1 i 111.111.111.222 na maszynie wirtualnej 2). Ta funkcja jest specyficzna dla danej instalacji i jest konfigurowana przez lokalną grupę sieciową.

Ścieżka podstawowa jest ustawiana podczas wdrażania interfejsu API. W powyższym przykładzie możesz wdrożyć 2 interfejsy API, mycompany i testmycompany, dla organizacji mycompany-org z hostem wirtualnym, który ma alias hosta api.mycompany.com i port ustawiony na 80. Jeśli nie zadeklarujesz ścieżki podstawowej we wdrożeniu, router nie będzie wiedział, do którego interfejsu API wysyłać przychodzące żądania.

Jeśli jednak wdrożysz interfejs API testmycompany z podstawowym adresem URL /salesdemo, użytkownicy będą uzyskiwać dostęp do tego interfejsu API za pomocą adresu http://api.mycompany.com:80/salesdemo. Jeśli wdrożysz interfejs API mycompany z podstawowym adresem URL /, użytkownicy będą uzyskiwać dostęp do interfejsu API za pomocą adresu URL http://api.mycompany.com:80/.

Wymagania dotyczące portów brzegowych

Konieczność zarządzania zaporą sieciową wykracza poza same hosty wirtualne. Zapory sieciowe maszyn wirtualnych i hostów fizycznych muszą zezwalać na ruch na portach wymaganych do komunikacji między komponentami.

Poniższy obraz przedstawia wymagania dotyczące portów dla każdego komponentu Edge:

Uwagi do tego diagramu:

  • *Port 8082 procesora komunikatów musi być otwarty tylko na potrzeby dostępu routera, gdy konfigurujesz TLS/SSL między routerem a procesorem komunikatów. Jeśli nie skonfigurujesz TLS/SSL między routerem a procesorem komunikatów, domyślna konfiguracja, port 8082, musi być nadal otwarty na procesorze komunikatów, aby można było zarządzać komponentem, ale router nie wymaga do niego dostępu.
  • Porty z prefiksem „M” są używane do zarządzania komponentem i muszą być otwarte na komponencie, aby serwer zarządzania miał do nich dostęp.
  • Te komponenty wymagają dostępu do portu 8080 na serwerze zarządzania: router, procesor komunikatów, interfejs użytkownika, Postgres i Qpid.
  • Procesor komunikatów musi otworzyć port 4528 jako port zarządzania. Jeśli masz wiele procesorów komunikatów, wszystkie muszą mieć dostęp do siebie nawzajem przez port 4528 (wskazuje to strzałka pętli na powyższym diagramie dla portu 4528 procesora komunikatów). Jeśli masz kilka centrów danych, port musi być dostępny ze wszystkich procesorów komunikatów we wszystkich centrach danych.
  • Nie jest to wymagane, ale możesz otworzyć port 4527 na routerze, aby umożliwić dostęp dowolnemu procesorowi komunikatów. W przeciwnym razie w plikach dziennika procesora komunikatów mogą pojawić się komunikaty o błędach.
  • Router musi otworzyć port 4527 jako port zarządzania. Jeśli masz kilka routerów, wszystkie muszą mieć dostęp do siebie nawzajem przez port 4527 (wskazuje to strzałka pętli na powyższym diagramie dla portu 4527 na routerze).
  • Interfejs Edge wymaga dostępu do routera na portach udostępnianych przez serwery proxy interfejsu API, aby obsługiwać przycisk Wyślij w narzędziu do śledzenia.
  • Serwer zarządzania wymaga dostępu do portu JMX w węzłach Cassandra.
  • Dostęp do portów JMX można skonfigurować tak, aby wymagał nazwy użytkownika i hasła. Więcej informacji znajdziesz w sekcji Jak monitorować.
  • Możesz opcjonalnie skonfigurować dostęp TLS/SSL dla niektórych połączeń, które mogą używać różnych portów. Więcej informacji znajdziesz w artykule o TLS/SSL.
  • Jeśli konfigurujesz 2 węzły Postgres do korzystania z replikacji master-standby, musisz otworzyć port 22 na każdym węźle, aby umożliwić dostęp przez SSH. Opcjonalnie możesz otworzyć porty na poszczególnych węzłach, aby umożliwić dostęp przez SSH.
  • Możesz skonfigurować serwer zarządzania i interfejs Edge, aby wysyłać e-maile przez zewnętrzny serwer SMTP. Jeśli tak, musisz upewnić się, że serwer zarządzania i interfejs użytkownika mają dostęp do odpowiedniego portu na serwerze SMTP. W przypadku SMTP bez TLS numer portu to zwykle 25. W przypadku protokołu SMTP z obsługą TLS jest to często 465, ale sprawdź to u dostawcy SMTP.

Tabela poniżej zawiera porty, które muszą być otwarte w zaporach sieciowych, według komponentu Edge:

Komponent

Port

Opis

Standardowe porty HTTP

80, 443

HTTP i inne porty używane przez hosty wirtualne

Serwer zarządzania

8080

Port do wywołań interfejsu API zarządzania Edge. Te komponenty wymagają dostępu do portu 8080 na serwerze zarządzania: router, procesor komunikatów, interfejs użytkownika, Postgres i Qpid.

1099

Port JMX

4526

Do wywołań rozproszonej pamięci podręcznej i zarządzania

Interfejs zarządzania

9000

Port dostępu przeglądarki do interfejsu zarządzania

Procesor komunikatów

8998

Port procesora komunikatów do komunikacji z routerem

8082

Domyślny port zarządzania procesora komunikatów, który musi być otwarty w komponencie, aby serwer zarządzania miał do niego dostęp.

Jeśli skonfigurujesz TLS/SSL między routerem a procesorem komunikatów, router będzie używać tego portu do sprawdzania stanu procesora komunikatów.

1101

Port JMX

4528

Do rozproszonej pamięci podręcznej i wywołań zarządzania między procesorami komunikatów oraz do komunikacji z routera

Router

8081

Domyślny port zarządzania routera, który musi być otwarty na komponencie, aby serwer zarządzania miał do niego dostęp.

4527

Do wywołań rozproszonej pamięci podręcznej i zarządzania

15999

Port kontroli stanu. System równoważenia obciążenia używa tego portu, aby określić, czy router jest dostępny.

Aby uzyskać stan routera, system równoważenia obciążenia wysyła żądanie do portu 15999 na routerze:

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

Jeśli router jest osiągalny, żądanie zwraca kod HTTP 200.

59001

Port używany do testowania instalacji Edge przez narzędzie apigee-validate. To narzędzie wymaga dostępu do portu 59001 na routerze. Więcej informacji o porcie 59001 znajdziesz w sekcji Testowanie instalacji.

ZooKeeper

2181

Używane przez inne komponenty, takie jak serwer zarządzania, router, procesor komunikatów itp.

2888, 3888

Używany wewnętrznie przez ZooKeeper do komunikacji w klastrze ZooKeeper (znanym jako zespół ZooKeeper)

Cassandra

7000, 9042, 9160

Porty Apache Cassandra do komunikacji między węzłami Cassandra i dostępu przez inne komponenty Edge.

7199

Port JMX. Musi być otwarty dla dostępu przez serwer zarządzania.

Qpid

5672

Używany do komunikacji między routerem i procesorem komunikatów a serwerem Qpid

8083

Domyślny port zarządzania na serwerze Qpid, który musi być otwarty na komponencie, aby serwer zarządzania miał do niego dostęp.

1102

Port JMX

4529

Do wywołań rozproszonej pamięci podręcznej i zarządzania

Postgres

5432

Używany do komunikacji między Qpid/serwerem zarządzania a Postgres

8084

Domyślny port zarządzania na serwerze Postgres, który musi być otwarty na komponencie, aby serwer zarządzający miał do niego dostęp.

1103

Port JMX

4530

Do wywołań rozproszonej pamięci podręcznej i zarządzania

22

Jeśli konfigurujesz 2 węzły Postgres do używania replikacji master-standby, musisz otworzyć port 22 na każdym węźle, aby umożliwić dostęp przez SSH.

LDAP

10389

OpenLDAP

SmartDocs

59002

Port na routerze Edge, na który są wysyłane żądania strony SmartDocs.

W poniższej tabeli przedstawiono te same porty w kolejności numerycznej wraz z komponentami źródłowymi i docelowymi:

Numer portu

Cel

Komponent źródłowy

Komponent docelowy

<virtual host port#>

HTTP oraz inne porty używane do obsługi ruchu wywołań interfejsu API hosta wirtualnego. Najczęściej używane są porty 80 i 443. Router wiadomości może kończyć połączenia TLS/SSL.

Klient zewnętrzny (lub system równoważenia obciążenia)

Detektor w routerze wiadomości

1099–1103

Zarządzanie JMX

Klient JMX

Serwer zarządzania (1099)

Procesor komunikatów (1101)

Qpid Server (1102)

Serwer Postgres (1103)

2181

Komunikacja z klientem Zookeeper

Serwer zarządzania

Router

procesor komunikatów

Serwer Qpid

Serwer Postgres

Dozorca w zoo

2888 i 3888

Zarządzanie węzłami wewnętrznymi Zookeeper

Dozorca w zoo

Dozorca w zoo

4526

Port zarządzania RPC

Serwer zarządzania

Serwer zarządzania

4527 Port zarządzania RPC do wywołań rozproszonej pamięci podręcznej i zarządzania oraz do komunikacji między routerami

Serwer zarządzania

Router

Router

4528

Do wywołań rozproszonej pamięci podręcznej między procesorami komunikatów i do komunikacji z routera

Serwer zarządzania

Router

procesor komunikatów

procesor komunikatów

4529 Port zarządzania RPC dla rozproszonej pamięci podręcznej i wywołań zarządzania Serwer zarządzania Serwer Qpid
4530 Port zarządzania RPC dla rozproszonej pamięci podręcznej i wywołań zarządzania Serwer zarządzania Serwer Postgres

5432

Klient Postgres

Serwer Qpid

Postgres

5672

Używany do wysyłania statystyk z routera i procesora komunikatów do Qpid

Router

procesor komunikatów

Serwer Qpid

7000

Komunikacja między węzłami Cassandra

Cassandra

Inny węzeł Cassandra

7199

Zarządzanie JMX. Musi być otwarty dla dostępu na węźle Cassandra przez serwer zarządzania.

Klient JMX

Cassandra

8080

Port interfejsu API zarządzania Google Analytics

Klienty interfejsu API zarządzania Google Analytics

Serwer zarządzania

8081–8084

Porty interfejsu API komponentów, używane do wysyłania żądań do interfejsu API bezpośrednio do poszczególnych komponentów. Każdy komponent otwiera inny port. Dokładny port zależy od konfiguracji, ale musi być otwarty na komponencie, aby serwer zarządzania miał do niego dostęp.

Klienty interfejsu API zarządzania Google Analytics

Router (8081)

Procesor komunikatów (8082)

Serwer Qpid (8083)

Serwer Postgres (8084)

8998

Komunikacja między routerem a procesorem komunikatów

Router

procesor komunikatów

9000

Domyślny port interfejsu zarządzania Edge

Przeglądarka

Serwer interfejsu zarządzania

9042

Transport natywny CQL

Router

procesor komunikatów

Serwer zarządzania

Cassandra

9160

Klient Cassandra Thrift

Router

procesor komunikatów

Serwer zarządzania

Cassandra

10389

Port LDAP

Serwer zarządzania

OpenLDAP

15999

Port kontroli stanu. System równoważenia obciążenia używa tego portu, aby określić, czy router jest dostępny.

System równoważenia obciążenia Router
59001 Port używany przez narzędzie apigee-validate do testowania instalacji Edge apigee-validate Router

59002

Port routera, na który są wysyłane żądania strony SmartDocs.

SmartDocs

Router

Procesor komunikatów utrzymuje otwartą dedykowaną pulę połączeń z Cassandra, która jest skonfigurowana tak, aby nigdy nie przekraczać limitu czasu. Gdy między procesorem komunikatów a serwerem Cassandra znajduje się zapora sieciowa, może ona spowodować przekroczenie limitu czasu połączenia. Procesor komunikatów nie jest jednak przeznaczony do ponownego nawiązywania połączeń z Cassandra.

Aby zapobiec takiej sytuacji, Apigee zaleca, aby serwer Cassandra, procesor komunikatów i routery znajdowały się w tej samej podsieci, dzięki czemu zapora sieciowa nie będzie zaangażowana we wdrażanie tych komponentów.

Jeśli między routerem a procesorami komunikatów znajduje się zapora sieciowa i ma ustawiony limit czasu bezczynności TCP, zalecamy:

  1. W ustawieniach sysctl w systemie operacyjnym Linux ustaw net.ipv4.tcp_keepalive_time = 1800, gdzie 1800 powinno być mniejsze niż limit czasu bezczynności TCP zapory sieciowej. To ustawienie powinno utrzymywać połączenie w stanie nawiązanym, aby zapora sieciowa go nie rozłączała.
  2. Na wszystkich procesorach komunikatów zmodyfikuj plik /<inst_root>/apigee/customer/application/message-processor.properties, aby dodać tę właściwość. Jeśli plik nie istnieje, utwórz go.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. Uruchom ponownie procesor komunikatów:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. Na wszystkich routerach zmodyfikuj plik /<inst_root>/apigee/customer/application/router.properties, aby dodać tę właściwość. Jeśli plik nie istnieje, utwórz go.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. Uruchom ponownie router:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Jeśli instalujesz konfigurację klastra z 12 hostami i 2 centrami danych, upewnij się, że węzły w obu centrach danych mogą komunikować się przez porty wymienione poniżej:

Wymagania związane z portami API BaaS

Jeśli zdecydujesz się zainstalować API BaaS, dodasz komponenty API BaaS Stack i API BaaS Portal. Te komponenty używają portów pokazanych na poniższym rysunku:

Uwagi do tego diagramu:

  • Portal API BaaS nigdy nie wysyła żądań bezpośrednio do węzła BaaS Stack. Gdy deweloper loguje się w portalu, aplikacja portalu jest pobierana do przeglądarki. Aplikacja Portal działająca w przeglądarce wysyła żądania do węzłów BaaS Stack.
  • Instalacja produkcyjna API BaaS używa systemu równoważenia obciążenia między węzłem portalu API BaaS a węzłami stosu API BaaS. Podczas konfigurowania portalu i wywoływania interfejsu BaaS API podajesz adres IP lub nazwę DNS systemu równoważenia obciążenia, a nie węzłów stosu.
  • Wszystkie węzły Stack muszą mieć otwarty port 2551, aby umożliwić dostęp ze wszystkich innych węzłów Stack (wskazuje to strzałka pętli na powyższym diagramie dla portu 2551 na węzłach Stack). Jeśli masz kilka centrów danych, port musi być dostępny ze wszystkich węzłów Stack we wszystkich centrach danych.
  • Musisz skonfigurować wszystkie węzły Baas Stack, aby wysyłały e-maile przez zewnętrzny serwer SMTP. W przypadku SMTP bez TLS numer portu to zwykle 25. W przypadku protokołu SMTP z obsługą TLS jest to często 465, ale sprawdź to u dostawcy SMTP.
  • Węzły Cassandra mogą być przeznaczone dla API BaaS lub udostępniane Edge.

W tabeli poniżej znajdziesz domyślne porty, które należy otworzyć w zaporach sieciowych, według komponentów:

Komponent

Port

Opis

API BaaS Portal

9000

Port interfejsu API BaaS

Stos API BaaS

8080

Port, na którym odbierane są żądania do interfejsu API

2551

Port do komunikacji między wszystkimi węzłami stosu. Musi być dostępny dla wszystkich innych węzłów Stack w centrum danych.

Jeśli masz kilka centrów danych, port musi być dostępny ze wszystkich węzłów Stack we wszystkich centrach danych.

ElasticSearch

9200–9400

Do komunikacji ze stosem API BaaS i między węzłami ElasticSearch

Licencjonowanie

Każda instalacja Edge wymaga unikalnego pliku licencji, który można uzyskać od Apigee. Podczas instalowania serwera zarządzania musisz podać ścieżkę do pliku licencji, na przykład /tmp/license.txt.

Instalator kopiuje plik licencji do /<inst_root>/apigee/customer/conf/license.txt.

Jeśli plik licencji jest prawidłowy, serwer zarządzania sprawdza datę ważności i dozwoloną liczbę procesorów komunikatów. Jeśli którekolwiek z ustawień licencji wygasło, logi znajdziesz w tej lokalizacji: /<inst_root>/apigee/var/log/edge-management-server/logs. W takim przypadku możesz skontaktować się z zespołem pomocy Apigee, aby uzyskać szczegółowe informacje o migracji.

Jeśli nie masz jeszcze licencji, skontaktuj się z zespołem sprzedaży tutaj.