Edge dla chmury prywatnej w wersji 4.18.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 instalacji | Pamięć RAM | CPU | Minimalna pojemność dysku twardego |
|---|---|---|---|
| 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 | 16 GB | 8-rdzeniowy | 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 backendem 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 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ądzane sieciowe miejsce na dane*** obsługujące co najmniej 4000 IOPS
** Wartość dysku twardego Postgres jest oparta na gotowych statystykach przechwyconych przez Edge. Jeśli dodasz do danych analitycznych wartości niestandardowe, należy je odpowiednio zwiększyć. Aby oszacować wymagane miejsce na dane, użyj tego wzoru:
bytes of storage needed =
(# bytes of analytics data/request) *
(requests/second) *
(seconds/hour) *
(hours of peak usage/day) *
(days/month) *
(months of data retention)
Na przykład:
(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
*** 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.
- Wartość IOPS sieci można dostosować na bieżąco w większości współczesnych podsystemów środowiska, pamięci masowej i sieci.
- 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 | Pamięć RAM | CPU | Dysk twardy |
|---|---|---|---|
| Serwer zarządzania (z usługami zarabiania) | 8 GB | 4 rdzenie | 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 rdzenie | 60–80 GB |
| * Stos API BaaS | 8 GB | 4-rdzeniowy | 60–80 GB |
| Portal API BaaS | 1 GB | 2-rdzeniowy | 20 GB |
| Cassandra** | 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.
** Opcjonalnie; zwykle używasz tego samego klastra Cassandra zarówno dla usług Edge, jak i API BaaS.
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 w artykule Obsługiwane oprogramowanie i obsługiwane wersje.
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.
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 /opt/apigee.
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.18.01.sh. Wszystkie te czynności musisz wykonać jako użytkownik root:
- 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
- Utwórz dowiązanie symboliczne z
/opt/apigeedo wybranego katalogu głównego instalacji:ln -Ts /srv/myInstallDir /opt/apigee
gdzie /srv/myInstallDir to lokalizacja plików Edge.
- Zmień własność 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 w sekcji Obsługiwane oprogramowanie i obsługiwane wersje.
Upewnij się, że zmienna JAVA_HOME wskazuje katalog główny pakietu JDK dla 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ń:
hostnamezwraca nazwę komputera.hostname -izwraca 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 prawidłowo ustawiona. Więcej informacji znajdziesz w dokumentacji konkretnego systemu operacyjnego.
Jeśli serwer ma kilka kart interfejsu, polecenie „hostname -i” zwraca rozdzielaną spacjami listę adresów IP. Domyślnie instalator Edge używa pierwszego zwróconego adresu IP, który może nie być prawidłowy we wszystkich sytuacjach. Możesz też ustawić tę właściwość w pliku konfiguracji instalacji:
ENABLE_DYNAMIC_HOSTIP=y
Jeśli ta właściwość jest ustawiona na „y”, instalator prosi o wybranie adresu IP, który ma być używany w ramach instalacji. Wartość domyślna to „n”. Więcej informacji znajdziesz w artykule Dokumentacja pliku konfiguracji Edge.
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ź /etc/hosts.allow i /etc/hosts.deny, aby upewnić się, że nie ma 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 /etc/rc.d/init.d/functions.
Jeśli proces zabezpieczeń wymaga ustawienia uprawnień w /etc/rc.d/init.d/functions, nie ustawiaj ich na 700, ponieważ router nie będzie mógł się uruchomić. Uprawnienia można ustawić 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 /opt/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_nameinitial_tokenpartitionerseedslisten_addressrpc_addresssnitch
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:
- Edytuj plik postgresql.properties:
vi /opt/apigee/customer/application/postgresql.properties
Jeśli plik nie istnieje, utwórz go.
- Ustaw właściwości wymienione powyżej.
- Zapisz zmiany.
- Uruchom ponownie bazę danych PostgreSQL:
/opt/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:
- Na węzłach Cassandra ustaw limity miękkie i twarde dla memlock, nofile i przestrzeni adresowej (as) dla użytkownika instalacji (domyślnie „apigee”) w
/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
- Na węzłach procesora komunikatów ustaw maksymalną liczbę otwartych deskryptorów plików na 64 tys. 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 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:
- Na każdym węźle procesora komunikatów zmodyfikuj plik
/etc/nscd.conf - 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. Możesz na przykład:
- Otwórz plik
/etc/hostsw edytorze. - Wstaw znak „#” w pierwszej kolumnie następującego wiersza, aby go skomentować:
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- Zapisz plik.
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 |
libxslt |
obr./min |
unzip |
|
basename |
grep |
lua-socket |
rpm2cpio |
useradd |
|
bash |
nazwa hosta |
ls |
sed |
wc |
|
bc |
id |
net-tools |
sudo |
wget |
|
curl |
libaio |
perl (z procps) |
tar |
xerces-c |
| cyrus-sasl | libdb4 | pgrep (z procps) | tr | mniam |
|
data |
libdb-cxx |
ps |
uuid |
chkconfig |
| dirname | libibverbs | pwd | uname | |
| echo | librdmacm | python |
ntpdate
Zalecamy zsynchronizowanie czasu na serwerach. Jeśli nie jest jeszcze skonfigurowane, do tego celu może służyć narzędzie ntpdate, które sprawdza, czy serwery są zsynchronizowane czasowo. Narzędzie możesz zainstalować za pomocą 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ć 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 virtual 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 virtual 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).
Na przykład na jednym serwerze fizycznym A mogą działać 2 maszyny wirtualne o nazwach „VM1” i „VM2”. Załóżmy, że „VM1” udostępnia wirtualny interfejs Ethernet, który w maszynie wirtualnej ma nazwę „eth0” i któremu maszyna wirtualna lub sieciowy serwer DHCP przypisuje adres IP 111.111.111.111. Załóżmy też, że 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 VM2 udostępnia api.mycompany.com:80 (ta sama nazwa i port co w przypadku maszyny wirtualnej VM1).
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). Ponadto system operacyjny każdej maszyny wirtualnej może mieć własną zaporę sieciową w 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 takim przypadku potrzebujesz systemu równoważenia obciążenia lub usługi Traffic Director, która rozdzieli ruch http://api.mycompany.com:80/ między 2 adresy IP (111.111.111.111 na maszynie wirtualnej VM1 i 111.111.111.222 na maszynie wirtualnej VM2). 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 protokół 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 na procesorze 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 wiele routerów, wszystkie muszą mieć dostęp do siebie nawzajem przez port 4527 (wskazany przez strzałkę 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 artykule Jak monitorować.
- Opcjonalnie możesz 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 wywołań rozproszonej pamięci podręcznej i zarządzania między procesorami komunikatów oraz do komunikacji z routera i serwera zarządzania | |
| 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 | Management Server (1099) Procesor komunikatów (1101) Serwer Qpid (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:
- Ustaw
net.ipv4.tcp_keepalive_time = 1800w ustawieniach sysctl w systemie operacyjnym Linux, 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. - We wszystkich procesorach komunikatów zmodyfikuj plik
/opt/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
- Ponownie uruchom procesor komunikatów:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Na wszystkich routerach zmodyfikuj plik
/opt/apigee/customer/application/router.properties, aby dodać tę właściwość. Jeśli plik nie istnieje, utwórz go.conf_system_cassandra.maxconnecttimeinmillis=-1
- Ponowne uruchamianie routera:
/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.
- W produkcyjnej instalacji API BaaS między węzłem portalu API BaaS a węzłami stosu API BaaS używany jest system równoważenia obciążenia. Podczas konfigurowania portalu i wykonywania wywołań interfejsu API BaaS 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 stosu 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 /opt/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: /opt/apigee/var/log/edge-management-server/logs.
W takim przypadku możesz skontaktować się z zespołem pomocy Apigee Edge, aby uzyskać szczegółowe informacje o migracji.
Jeśli nie masz jeszcze licencji, skontaktuj się z zespołem sprzedaży Apigee.