Die Firewall muss nicht nur für die virtuellen Hosts verwaltet werden. Sowohl die VM- als auch die physischen Host-Firewalls müssen Traffic für die Ports zulassen, die die Komponenten für die Kommunikation miteinander benötigen.
Anschlussdiagramme
Die folgenden Bilder zeigen die Anschlussanforderungen sowohl für ein einzelnes Rechenzentrum als auch für eine Konfiguration mit mehreren Rechenzentren:
Ein Rechenzentrum
Die folgende Abbildung zeigt die Portanforderungen für jede Edge-Komponente in einer einzelnen Rechenzentrumskonfiguration:
Hinweise zu diesem Diagramm:
- Die Ports mit dem Präfix „M“ werden zum Verwalten der Komponente verwendet und müssen für den Zugriff des Verwaltungsservers auf der Komponente geöffnet sein.
- Die Edge-Benutzeroberfläche benötigt Zugriff auf den Router über die von API-Proxys freigegebenen Ports, um die Schaltfläche Senden im Trace-Tool zu unterstützen.
- Der Zugriff auf JMX-Ports kann so konfiguriert werden, dass ein Nutzername/Passwort erforderlich ist. Weitere Informationen finden Sie unter Monitoring.
- Optional können Sie den TLS/SSL-Zugriff für bestimmte Verbindungen konfigurieren, für die unterschiedliche Ports verwendet werden können. Weitere Informationen finden Sie unter TLS/SSL.
- Sie können den Verwaltungsserver und die Edge-Benutzeroberfläche so konfigurieren, dass E-Mails über einen externen SMTP-Server gesendet werden. In diesem Fall müssen Sie dafür sorgen, dass der Verwaltungsserver und die Benutzeroberfläche auf den erforderlichen Port des SMTP-Servers (nicht dargestellt) zugreifen können. Bei SMTP ohne TLS ist die Portnummer normalerweise 25. Bei TLS-fähigem SMTP ist dies häufig 465. Erkundigen Sie sich jedoch bei Ihrem SMTP-Anbieter.
Mehrere Rechenzentren
Wenn Sie die Clusterkonfiguration mit 12 Knoten und zwei Rechenzentren installieren, müssen die Knoten in den beiden Rechenzentren über die unten aufgeführten Ports kommunizieren können:
Hinweise:
- Alle Verwaltungsserver müssen auf alle Cassandra-Knoten in allen anderen Rechenzentren zugreifen können.
- Alle Nachrichten-Prozessoren in allen Rechenzentren müssen über Port 4528 auf alle anderen zugreifen können.
- Der Verwaltungsserver muss über Port 8082 auf alle Nachrichten-Prozessoren zugreifen können.
- Alle Verwaltungsserver und alle Qpid-Knoten müssen auf Postgres in allen anderen Rechenzentren zugreifen können.
- Aus Sicherheitsgründen sollten zwischen den Rechenzentren nur die oben aufgeführten Ports und alle anderen Ports geöffnet sein, die für Ihre eigenen Netzwerkanforderungen erforderlich sind.
Standardmäßig ist die Kommunikation zwischen den Komponenten nicht verschlüsselt. Sie können die Verschlüsselung hinzufügen, indem Sie Apigee mTLS installieren. Weitere Informationen finden Sie unter Einführung in Apigee mTLS.
Port details
In der folgenden Tabelle werden die Ports beschrieben, die in Firewalls geöffnet werden müssen, nach Edge-Komponente:
Komponente | Port | Beschreibung |
---|---|---|
Standard-HTTP-Ports | 80, 443 | HTTP und alle anderen Ports, die Sie für virtuelle Hosts verwenden |
Apigee SSO | 9099 | Verbindungen von externen Identitätsanbietern, dem Verwaltungsserver und Browsern für die Authentifizierung |
Cassandra | 7000, 9042 | Apache Cassandra-Ports für die Kommunikation zwischen Cassandra-Knoten und für den Zugriff durch andere Edge-Komponenten. |
7199 | JMX-Port Muss für den Zugriff durch den Verwaltungsserver geöffnet sein. | |
LDAP | 10389 | OpenLDAP |
Verwaltungsserver | 1099 | JMX-Port |
4526 | Port für verteilte Cache- und Verwaltungsanrufe. Dieser Anschluss ist konfigurierbar. | |
5636 | Port für Benachrichtigungen zu Monetarisierungscommits. | |
8080 | Port für Edge Management API-Aufrufe. Für diese Komponenten ist Zugriff auf Port 8080 auf dem Management-Server erforderlich: Router, Message Processor, UI, Postgres, Apigee SSO (falls aktiviert) und Qpid. | |
Verwaltungsoberfläche | 9.000 | Port für den Browserzugriff auf die Verwaltungsoberfläche |
Message Processor | 1101 | JMX-Port |
4528 | Für verteilte Cache- und Verwaltungsaufrufe zwischen Message Processors und für die Kommunikation vom Router und Management-Server.
Ein Nachrichtenprozessor muss Port 4528 als seinen Verwaltungsport öffnen. Wenn Sie mehrere Message Processor haben, müssen alle über Port 4528 auf die anderen zugreifen können (im Diagramm oben durch den Loop-Pfeil für Port 4528 am Message Processor dargestellt). Wenn Sie mehrere Rechenzentren haben, muss der Port von allen Message Processors in allen Rechenzentren zugänglich sein. |
|
8082 |
Standard-Verwaltungs-Port für den Nachrichtenprozessor. Muss für den Zugriff des Verwaltungsservers auf der Komponente geöffnet sein. Wenn Sie TLS/SSL zwischen dem Router und dem Nachrichtenprozessor konfigurieren, wird dies vom Router verwendet, um den Nachrichtenprozessor zu prüfen. Port 8082 auf dem Nachrichtenprozessor muss nur für den Zugriff durch den Router geöffnet sein, wenn Sie TLS/SSL zwischen dem Router und dem Nachrichtenprozessor konfigurieren. Wenn Sie TLS/SSL nicht zwischen dem Router und dem Nachrichtenprozessor konfigurieren, muss Port 8082 in der Standardkonfiguration weiterhin auf dem Nachrichtenprozessor geöffnet sein, um die Komponente zu verwalten. Der Router benötigt jedoch keinen Zugriff darauf. |
|
8443 | Wenn TLS zwischen dem Router und dem Message Processor aktiviert ist, müssen Sie Port 8443 am Message Processor für den Zugriff durch den Router öffnen. | |
8998 | Port des Nachrichtenprozessors für die Kommunikation vom Router | |
Postgres | 22 | Wenn Sie zwei Postgres-Knoten für die Master-Standby-Replikation konfigurieren, müssen Sie Port 22 auf jedem Knoten für den SSH-Zugriff öffnen. |
1103 | JMX-Port | |
4530 | Für verteilte Cache- und Verwaltungsaufrufe | |
5432 | Wird für die Kommunikation vom Qpid-/Verwaltungsserver zu Postgres verwendet | |
8084 | Standard-Verwaltungs-Port auf dem Postgres-Server; muss für den Zugriff des Verwaltungsservers auf der Komponente geöffnet sein. | |
Qpid | 1102 | JMX-Port |
4529 | Für verteilte Cache- und Verwaltungsaufrufe | |
5672 |
Wird auch für die Kommunikation zwischen den Qpid-Server- und Broker-Komponenten auf demselben Knoten verwendet. In Topologien mit mehreren Qpid-Knoten muss der Server eine Verbindung zu allen Brokern über den Port 5672 herstellen können. |
|
8083 | Standard-Verwaltungs-Port auf dem Qpid-Server. Muss für den Zugriff des Verwaltungsservers auf der Komponente geöffnet sein. | |
8090 | Standardport für den Broker von Qpid. Muss geöffnet sein, um für Monitoring-Zwecke auf die Verwaltungskonsole oder die Verwaltungs-APIs des Brokers zugreifen zu können. | |
Router | 4527 | Für verteilte Cache- und Verwaltungsaufrufe.
Ein Router muss Port 4527 als Verwaltungsport öffnen. Wenn Sie mehrere Router haben, müssen sie alle über Port 4527 auf die anderen zugreifen können (im Diagramm oben durch den Loop-Pfeil für Port 4527 auf dem Router dargestellt). Es ist zwar nicht erforderlich, aber Sie können Port 4527 auf dem Router für den Zugriff durch jeden Nachrichtenprozessor öffnen. Andernfalls werden möglicherweise Fehlermeldungen in den Logdateien des Nachrichtenverarbeiters angezeigt. |
8081 | Standard-Verwaltungs-Port für Router. Muss auf der Komponente für den Zugriff durch den Verwaltungsserver geöffnet sein. | |
15999 |
Port für die Systemdiagnose. Ein Load Balancer verwendet diesen Port, um festzustellen, ob der Router verfügbar ist. Um den Status eines Routers abzurufen, sendet der Load Balancer eine Anfrage an Port 15999 des Routers: curl -v http://routerIP:15999/v1/servers/self/reachable Wenn der Router erreichbar ist, wird für die Anfrage HTTP 200 zurückgegeben. |
|
59001 | Port, der vom Dienstprogramm apigee-validate zum Testen der Edge-Installation verwendet wird.
Dieses Dienstprogramm benötigt Zugriff auf Port 59001 auf dem Router. Weitere Informationen zum Port 59001 finden Sie unter Installation testen. |
|
SmartDocs | 59002 | Der Port am Edge-Router, an den SmartDocs-Seitenanfragen gesendet werden. |
ZooKeeper | 2181 | Wird von anderen Komponenten wie dem Verwaltungsserver, dem Router und dem Nachrichtenprozessor verwendet. |
2888, 3888 | Wird intern von ZooKeeper für die Kommunikation mit dem ZooKeeper-Cluster (ZooKeeper-Ensemble) verwendet |
In der folgenden Tabelle sind dieselben Ports nummerisch mit den Quell- und Zielkomponenten aufgeführt:
Portnummer | Zweck | Quellkomponente | Zielkomponente |
---|---|---|---|
virtual_host_port | HTTP und alle anderen Ports, die Sie für API-Aufrufe des virtuellen Hosts verwenden. Die Ports 80 und 443 werden am häufigsten verwendet. Der Message Router kann TLS-/SSL-Verbindungen beenden. | Externer Client (oder Load Balancer) | Listener auf dem Message Router |
1099 bis 1103 | JMX-Verwaltung | JMX-Client | Verwaltungsserver (1099) Nachrichtenverarbeiter (1101) Qpid-Server (1102) Postgres-Server (1103) |
2181 | Zookeeper-Clientkommunikation | Verwaltungsserver Router Nachrichtenprozessor Qpid-Server Postgres-Server |
Zookeeper |
2888 und 3888 | Zookeeper-Internode-Verwaltung | Zookeeper | Zookeeper |
4526 | RPC-Verwaltungs-Port | Verwaltungsserver | Verwaltungsserver |
4527 | RPC-Verwaltungs-Port für verteilte Cache- und Verwaltungsaufrufe sowie für die Kommunikation zwischen Routern | Verwaltungsserver Router |
Router |
4528 | Für verteilte Cacheaufrufe zwischen Message Processors und für die Kommunikation vom Router | Verwaltungsserver Router Nachrichtenverarbeiter |
Message Processor |
4529 | RPC-Verwaltungs-Port für verteilte Cache- und Verwaltungsaufrufe | Verwaltungsserver | Qpid-Server |
4530 | RPC-Verwaltungs-Port für verteilte Cache- und Verwaltungsaufrufe | Verwaltungsserver | Postgres-Server |
5432 | Postgres-Client | Qpid-Server | Postgres |
5636 | Monetarisierung | Externe JMS-Komponente | Verwaltungsserver |
5672 |
Wird auch für die Kommunikation zwischen den Qpid-Server- und Broker-Komponenten auf demselben Knoten verwendet. In Topologien mit mehreren Qpid-Knoten muss der Server eine Verbindung zu allen Brokern über den Port 5672 herstellen können. |
Qpid-Server | Qpid-Server |
7000 | Cassandra-Knotenkommunikation | Cassandra | Anderer Cassandra-Knoten |
7199 | JMX-Verwaltung. Muss für den Zugriff auf den Cassandra-Knoten durch den Verwaltungsserver geöffnet sein. | JMX-Client | Cassandra |
8080 | Management API-Port | Management API-Clients | Verwaltungsserver |
8081 bis 8084 |
Komponenten-API-Ports, die zum Senden von API-Anfragen direkt an einzelne Komponenten verwendet werden. Jede Komponente öffnet einen anderen Port. Der verwendete Port hängt von der Konfiguration ab, muss aber für den Zugriff des Verwaltungsservers auf der Komponente geöffnet sein. |
Management API-Clients | Router (8081) Nachrichtenverarbeiter (8082) Qpid-Server (8083) Postgres-Server (8084) |
8090 | Standard-Verwaltungs-Port für den Broker von Qpid zum Verwalten und Überwachen von Warteschlangen. | Browser oder API-Client | Qpid-Broker (apigee-qpidd) |
8443 | Kommunikation zwischen Router und Message Processor, wenn TLS aktiviert ist | Router | Message Processor |
8998 | Kommunikation zwischen Router und Nachrichtenprozessor | Router | Message Processor |
9000 | Standard-Port der Edge-Verwaltungs-UI | Browser | Server der Verwaltungsoberfläche |
9042 | Nativer CQL-Transport | Router Nachrichtenverarbeiter Verwaltungsserver |
Cassandra |
9099 | Externe IdP-Authentifizierung | IdP, Browser und Verwaltungsserver | Apigee SSO |
10389 | LDAP-Port | Verwaltungsserver | OpenLDAP |
15999 | Port für die Systemdiagnose. Ein Load Balancer verwendet diesen Port, um festzustellen, ob der Router verfügbar ist. | Load-Balancer | Router |
59001 | Port, der vom Dienstprogramm apigee-validate zum Testen der Edge-Installation verwendet wird |
apigee-validate | Router |
59002 | Der Routerport, an den SmartDocs-Seitenanfragen gesendet werden | SmartDocs | Router |
Ein Nachrichtenverarbeiter hält einen speziellen Verbindungspool zu Cassandra offen, der so konfiguriert ist, dass es nie zu einem Zeitlimit kommt. Wenn sich zwischen einem Nachrichtenprozessor und einem Cassandra-Server eine Firewall befindet, kann die Firewall die Verbindung trennen. Der Nachrichten-Prozessor ist jedoch nicht dafür ausgelegt, Verbindungen zu Cassandra wiederherzustellen.
Um dies zu verhindern, empfiehlt Apigee, dass sich der Cassandra-Server, der Message Processor und die Router im selben Subnetz befinden, damit bei der Bereitstellung dieser Komponenten keine Firewall erforderlich ist.
Wenn sich zwischen dem Router und den Nachrichtenprozessoren eine Firewall befindet und eine TCP-Zeitüberschreitung für die Inaktivität festgelegt ist, empfehlen wir Folgendes:
- Legen Sie
net.ipv4.tcp_keepalive_time = 1800
in den sysctl-Einstellungen unter Linux fest. Dabei sollte 1800 kleiner als die TCP-Zeitüberschreitung der Firewall sein. Mit dieser Einstellung sollte die Verbindung in einem aktiven Zustand bleiben, damit die Firewall die Verbindung nicht trennt. - Bearbeiten Sie bei allen Nachrichten-Prozessoren
/opt/apigee/customer/application/message-processor.properties
, um die folgende Property hinzuzufügen. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.conf_system_cassandra.maxconnecttimeinmillis=-1
- Starten Sie den Message Processor neu:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Bearbeiten Sie auf allen Routern
/opt/apigee/customer/application/router.properties
und fügen Sie die folgende Eigenschaft hinzu. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.conf_system_cassandra.maxconnecttimeinmillis=-1
- Router neu starten:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart