Wymagania związane z portami

Edge for Private Cloud w wersji 4.19.01

Konieczność zarządzania zaporą sieciową wykracza poza hosty wirtualne. Zarówno zapory sieciowe hostów wirtualnych, jak i zapory sieciowe hostów fizycznych muszą zezwalać na ruch na portach wymaganych przez komponenty do komunikacji ze sobą.

Diagramy portów

Na tych obrazach widać wymagania dotyczące portów w przypadku konfiguracji z jednym i wieloma centrami danych:

Pojedyncze centrum danych

Ten obraz przedstawia wymagania dotyczące portów dla każdego komponentu Edge w pojedynczej konfiguracji centrum danych:

Wymagania dotyczące portów w przypadku każdego komponentu Edge w ramach jednej konfiguracji centrum danych

Uwagi do tego diagramu:

  • Porty z preiksem „M” to porty używane do zarządzania komponentem. Muszą być otwarte na komponencie, aby serwer zarządzania mógł uzyskać do nich dostęp.
  • Aby obsługiwać przycisk Wyślij w narzędziu do śledzenia, interfejs Edge musi mieć dostęp do routera na portach udostępnionych przez serwery proxy interfejsu API.
  • Dostęp do portów JMX można skonfigurować tak, aby wymagały nazwy użytkownika i hasła. Więcej informacji znajdziesz w artykule Jak korzystać z funkcji monitorowania.
  • Opcjonalnie możesz skonfigurować dostęp TLS/SSL dla określonych połączeń, które mogą używać różnych portów. Więcej informacji znajdziesz w artykule TLS/SSL.
  • Możesz skonfigurować serwer zarządzania i interfejs użytkownika brzegowego do wysyłania e-maili przez zewnętrzny serwer SMTP. W takim przypadku musisz się upewnić, że serwer zarządzający i interfejs użytkownika mają dostęp do odpowiedniego portu na serwerze SMTP (nie pokazano). W przypadku SMTP bez protokołu TLS numer portu to zwykle 25. W przypadku SMTP z włączonym protokołem TLS często jest to 465, ale sprawdź u dostawcy SMTP.

Wiele centrów danych

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

Wymagania dotyczące portów dla każdego węzła w konfiguracji klastra z 12 węzłami

Uwaga:

  • Wszystkie serwery zarządzające muszą mieć dostęp do wszystkich węzłów Cassandra we wszystkich innych centrach danych.
  • Wszystkie procesory wiadomości we wszystkich centrach danych muszą mieć dostęp do siebie nawzajem przez port 4528.
  • Serwer zarządzający musi mieć dostęp do wszystkich procesorów wiadomości przez port 8082.
  • Wszystkie serwery zarządzające i wszystkie węzły Qpid muszą mieć dostęp do Postgresa we wszystkich innych centrach danych.
  • Ze względów bezpieczeństwa oprócz wymienionych powyżej portów i innych wymaganych przez Twoją sieć portów nie powinno być żadnych innych otwartych portów między centrami danych.

Domyślnie komunikacja między komponentami nie jest szyfrowana. Aby dodać szyfrowanie, możesz zainstalować Apigee mTLS. Więcej informacji znajdziesz w artykule Wprowadzenie do mTLS w Apigee.

Szczegóły przeniesienia

W tabeli poniżej opisano porty, które muszą być otwarte w zaporach sieciowych przez komponent Edge:

Komponent Port Opis
Standardowe porty HTTP 80, 443 HTTP oraz wszystkie porty używane dla hostów wirtualnych
Cassandra 7000, 9042, 9160 Porty Apache Cassandra do komunikacji między węzłami Cassandra i dostępu dla innych komponentów Edge.
7199 Port JMX. Musi być otwarty dla dostępu dla serwera zarządzania.
LDAP 10389 OpenLDAP
Serwer zarządzania 1099 Port JMX
4526 Port dla rozproszonej pamięci podręcznej i wywołań zarządzania. To gniazdo można konfigurować.
5636 Portowanie powiadomień o zmianach dotyczących monetyzacji.
8080 Port do wywołań interfejsu API do zarządzania Edge. Te komponenty wymagają dostępu do portu 8080 na serwerze zarządzania: Router, Message Processor, UI, Postgres i Qpid.
Interfejs zarządzania 9000 Port dla przeglądarki umożliwiający dostęp do interfejsu zarządzania
procesor komunikatów 1101 Port JMX
4528 Do obsługi rozproszonej pamięci podręcznej i wywołań zarządzania między procesorami wiadomości oraz do komunikacji z routera i serwera zarządzania.

Procesor wiadomości musi otworzyć port 4528 jako port zarządzania. Jeśli masz kilka procesorów wiadomości, wszystkie muszą mieć dostęp do siebie przez port 4528 (wskazany strzałką pętli na diagramie powyżej w przypadku portu 4528 na procesorze wiadomości). Jeśli masz kilka centrów danych, port musi być dostępny ze wszystkich procesorów wiadomości we wszystkich centrach danych.

8082

Domyślny port zarządzania dla procesora wiadomości. Musi być otwarty w komponencie na potrzeby dostępu serwera zarządzania.

Jeśli skonfigurujesz protokół TLS/SSL między Routerem a Przetwarzaczem wiadomości, Router będzie go używać do sprawdzania stanu Przetwarzacza wiadomości.

Port 8082 na procesorze wiadomości musi być otwarty tylko dla routera, gdy skonfigurujesz protokół TLS/SSL między routerem a procesorem wiadomości. Jeśli nie skonfigurujesz TLS/SSL pomiędzy Routerem a Przetwarzaczem wiadomości, w konfiguracji domyślnej port 8082 musi być nadal otwarty na Przetwarzaczu wiadomości, aby można było zarządzać tym komponentem, ale Router nie wymaga dostępu do tego portu.

8443 Jeśli protokół TLS jest włączony między routerem a procesorem wiadomości, musisz otworzyć port 8443 na procesorze wiadomości, aby router mógł z niego korzystać.
8998 Port usługi Message Processor do komunikacji z Routerem
Postgres 22 Jeśli konfigurujesz 2 węzły Postgres pod kątem replikacji w trybie gotowości do mastera, musisz otworzyć port 22 w każdym węźle, aby uzyskać dostęp SSH.
1103 Port JMX
4530 Do rozproszonej pamięci podręcznej i wywołań zarządzania
5432 Służy do komunikacji z serwerem Qpid/Management z serwerem Postgres
8084 Domyślny port zarządzania na serwerze Postgres; musi być otwarty w komponencie, aby serwer zarządzający mógł uzyskać do niego dostęp.
Qpid 1102 Port JMX
4529 Do rozproszonej pamięci podręcznej i wywołań zarządzania
5672
  • Pojedyncze centrum danych: służy do wysyłania danych analitycznych z Routera i Message Processor do Qpid.
  • Wiele centrów danych: służy do komunikacji między węzłami Qpid w różnych centrach danych.
8083 Domyślny port zarządzania na serwerze Qpid musi być otwarty w komponencie, aby umożliwić dostęp serwerowi zarządzania.
Router 4527 Do wywołań zarządzania i rozproszonej pamięci podręcznej.

Router musi otworzyć jako port zarządzania port 4527. Jeśli masz kilka routerów, wszystkie muszą mieć dostęp do siebie nawzajem przez port 4527 (wskazany strzałką w diagramie powyżej w przypadku portu 4527 na routerze).

Nie jest to wymagane, ale możesz otworzyć port 4527 na routerze, aby umożliwić dostęp procesorowi wiadomości. W przeciwnym razie w plikach dziennika usługi Message Processor mogą pojawić się komunikaty o błędzie.

8081 Domyślny port zarządzania dla routera musi być otwarty w komponencie, aby umożliwić dostęp serwerowi zarządzania.
15999

Port kontroli stanu. System równoważenia obciążenia używa tego portu do określenia, 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 dostępny, żą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 artykule Testowanie instalacji.
SmartDocs 59002 Port na routerze brzegowym, na który wysyłane są żądania strony SmartDocs.
ZooKeeper 2181 Używany przez inne komponenty, takie jak serwer zarządzający, router, przetwarzacz wiadomości itp.
2888, 3888 Używany wewnętrznie przez ZooKeeper do komunikacji klastra ZooKeeper (znanej jako ZooKeeper ensemble)

Kolejna tabela zawiera te same porty, ale w kolejności numerycznej, z wyróżnieniem komponentów źródłowych i docelowych:

Numer portu Cel Komponent źródłowy Komponent docelowy
virtual_host_port HTTP i wszystkie inne porty używane do obsługi ruchu wywołanego interfejsem API hosta wirtualnego. Najczęściej używane są porty 80 i 443. Przekaźnik wiadomości może kończyć połączenia TLS/SSL. Klient zewnętrzny (lub system równoważenia obciążenia) Listener w Message Router
1099–1103 Zarządzanie JMX Klient JMX Serwer zarządzania (1099)
Procesor komunikatów (1101)
Serwer Qpid (1102)
Serwer Postgres (1103)
2181 Komunikacja z klientem Zookeeper Management Server
Router
Message Processor
Qpid Server
Postgres Server
Miłośnik zoo
2888 i 3888 Zarządzanie internode Zookeeper Zookeeper Zookeeper
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 wiadomości oraz do komunikacji z routera Management Server
Router
Message Processor
procesor komunikatów
4529 Port zarządzania RPC do obsługi rozproszonej pamięci podręcznej i wywołań zarządzania Serwer zarządzania Qpid Server
4530 Port zarządzania RPC do obsługi rozproszonej pamięci podręcznej i zapytań dotyczących zarządzania Serwer zarządzania Serwer Postgres
5432 Klient Postgres Qpid Server Postgres
5636 Zarabianie Zewnętrzny komponent JMS Serwer zarządzania
5672
  • Pojedyncze centrum danych: służy do wysyłania statystyk z routera i procesora wiadomości do Qpid.
  • Wiele centrów danych: służy do komunikacji między węzłami Qpid w różnych centrach danych.
Qpid Server Qpid Server
7000 Komunikacja między węzłami Cassandra Cassandra Inny węzeł Cassandra
7199 Zarządzanie JMX. Musi być otwarty na potrzeby dostępu do węzła Cassandra przez serwer zarządzania. Klient JMX Cassandra
8080 Port interfejsu API zarządzania Klienty Management API Serwer zarządzania
8081–8084

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

Klienty Management API Router (8081)
Message Processor (8082)
Qpid Server (8083)
Postgres Server (8084)
8443 Komunikacja między routerem a procesorem wiadomości po włączeniu protokołu TLS Router procesor komunikatów
8998 Komunikacja między routerem a przetwarzaczem wiadomości 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ądzający
Cassandra
9160 Klient Thrift Cassandra Router
Procesor komunikatów
Serwer zarządzający
Cassandra
10389 Port LDAP Serwer zarządzania OpenLDAP
15999 Port kontroli stanu. System równoważenia obciążenia używa tego portu do sprawdzania, czy router jest dostępny. System równoważenia obciążenia Router
59001 Port używany przez narzędzie apigee-validate do testowania instalacji przeglądarki Edge apigee-validate Router
59002 Port routera, na który wysyłane są żądania dotyczące strony SmartDocs SmartDocs Router

Przetwarzacz wiadomości utrzymuje otwarty specjalny pulę połączeń z Cassandra, która jest skonfigurowana tak, aby nigdy nie dochodziło do limitu czasu. Gdy zapora sieciowa znajduje się między procesorem wiadomości a serwerem Cassandra, może przekroczyć limit czasu na połączenie. Jednak procesor wiadomości nie służy do ponownego nawiązywania połączeń z Cassandra.

Aby zapobiec tej sytuacji, Apigee zaleca, aby serwer Cassandra, procesor wiadomości i routery znajdowały się w tej samej podsieci, co pozwoli uniknąć udziału zapory sieciowej we wdrożeniu tych komponentów.

Jeśli zapora sieciowa znajduje się między routerem a procesorami wiadomości i ma ustawiony limit czasu bezczynności TCP, zalecamy wykonanie tych czynności:

  1. Ustaw net.ipv4.tcp_keepalive_time = 1800 w ustawieniach sysctl w systemie Linux. Wartość 1800 powinna być niższa niż limit czasu oczekiwania na odpowiedź TCP w przypadku bezczynności zapory sieciowej. To ustawienie powinno utrzymywać połączenie w stanie ustanowienia, aby zapora sieciowa nie rozłączała go.
  2. We wszystkich procesorach wiadomości wprowadź zmianę /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
  3. Ponownie uruchom przetwarzanie wiadomości:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. W przypadku wszystkich routerów edytuj element /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
  5. Zrestartuj router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart