La necessità di gestire il firewall va oltre i soli host virtuali; i firewall della VM e dell'host fisico devono consentire il traffico per le porte richieste dai componenti per comunicare tra loro.
Diagrammi delle porte
Le immagini seguenti mostrano i requisiti delle porte per una configurazione con un singolo data center e con più data center:
Un solo data center
La seguente immagine mostra i requisiti di porta per ogni componente Edge in una singola configurazione del data center:
Note su questo diagramma:
- Le porte con il prefisso "M" sono porte utilizzate per gestire il componente e devono essere aperte sul componente per l'accesso da parte del server di gestione.
- La UI Edge richiede l'accesso al router, sulle porte esposte dai proxy API, per supportare il pulsante Invia nello strumento di traccia.
- L'accesso alle porte JMX può essere configurato in modo da richiedere un nome utente e una password. Per ulteriori informazioni, consulta Come monitorare.
- Se vuoi, puoi configurare l'accesso TLS/SSL per determinate connessioni, che possono utilizzare porte diverse. Per saperne di più, consulta TLS/SSL.
- Puoi configurare il server di gestione e l'interfaccia utente Edge per inviare email tramite un server SMTP esterno. In questo caso, devi assicurarti che il server di gestione e la UI possano accedere alla porta necessaria sul server SMTP (non mostrata). Per SMTP non TLS, il numero di porta è in genere 25. Per SMTP abilitato a TLS, spesso è 465, ma verifica con il tuo provider SMTP.
Più data center
Se installi la configurazione in cluster a 12 nodi con due data center, assicurati che i nodi nei due data center possano comunicare tramite le porte mostrate di seguito:
Tieni presente che:
- Tutti i server di gestione devono essere in grado di accedere a tutti i nodi Cassandra in tutti gli altri data center.
- Tutti i Message Processor in tutti i data center devono essere in grado di accedere l'uno all'altro tramite la porta 4528.
- Il server di gestione deve essere in grado di accedere a tutti i Message Processor tramite la porta 8082.
- Tutti i server di gestione e tutti i nodi Qpid devono essere in grado di accedere a Postgres in tutti gli altri data center.
- Per motivi di sicurezza, oltre alle porte mostrate sopra e a qualsiasi altra richiesta dai requisiti di rete, non devono essere aperte altre porte tra i data center.
Per impostazione predefinita, le comunicazioni tra i componenti non sono criptate. Puoi aggiungere la crittografia installando Apigee mTLS. Per saperne di più, consulta Introduzione a Apigee mTLS.
Dettagli del trasferimento
La tabella seguente descrive le porte che devono essere aperte nei firewall, per componente Edge:
Componente | Porta | Descrizione |
---|---|---|
Porte HTTP standard | 80, 443 | HTTP più qualsiasi altra porta utilizzata per gli host virtuali |
SSO Apigee | 9099 | Connessioni da IdP esterni, dal server di gestione e dai browser per l'autenticazione. |
Cassandra | 7000, 9042 | Porte Apache Cassandra per la comunicazione tra i nodi Cassandra e per l'accesso da parte di altri componenti Edge. |
7199 | Porta JMX. Deve essere aperta per l'accesso da parte del server di gestione. | |
LDAP | 10389 | SymasLDAP |
Server di gestione | 1099 | Porta JMX |
4526 | Porta per le chiamate di gestione e della cache distribuita. Questa porta è configurabile. | |
5636 | Porta per le notifiche di commit della monetizzazione. | |
8080 | Porta per le chiamate API di gestione Edge. Questi componenti richiedono l'accesso alla porta 8080 sul server di gestione: router, processore di messaggi, UI, Postgres, Apigee SSO (se abilitato) e Qpid. | |
Interfaccia utente di gestione | 9000 | Porta per l'accesso del browser all'interfaccia utente di gestione |
processore di messaggi | 1101 | Porta JMX |
4528 | Per le chiamate di gestione e della cache distribuita tra i processori di messaggi e per la comunicazione dal router e dal server di gestione.
Un processore di messaggi deve aprire la porta 4528 come porta di gestione. Se hai più processori di messaggi, tutti devono essere in grado di accedere l'uno all'altro tramite la porta 4528 (indicata dalla freccia di loop nel diagramma precedente per la porta 4528 sul processore di messaggi). Se hai più data center, la porta deve essere accessibile da tutti i Message Processor in tutti i data center. |
|
8082 |
Porta di gestione predefinita per Message Processor e deve essere aperta sul componente per l'accesso da parte del server di gestione. Se configuri TLS/SSL tra il router e il processore di messaggi, utilizzato dal router per eseguire controlli di integrità sul processore di messaggi. La porta 8082 su Message Processor deve essere aperta solo per l'accesso da parte del router quando configuri TLS/SSL tra il router e Message Processor. Se non configuri TLS/SSL tra il router e il processore di messaggi, la configurazione predefinita, la porta 8082 deve comunque essere aperta sul processore di messaggi per gestire il componente, ma il router non richiede l'accesso. |
|
8443 | Quando TLS è abilitato tra il router e il processore di messaggi, devi aprire la porta 8443 sul processore di messaggi per l'accesso da parte del router. | |
8998 | Porta del processore di messaggi per le comunicazioni dal router | |
Postgres | 22 | Se configuri due nodi Postgres per utilizzare la replica master-standby, devi aprire la porta 22 su ogni nodo per l'accesso SSH. |
1103 | Porta JMX | |
4530 | Per chiamate di gestione e cache distribuita | |
5432 | Utilizzato per la comunicazione da Qpid/Management Server a Postgres | |
8084 | Porta di gestione predefinita sul server Postgres; deve essere aperta sul componente per l'accesso da parte del server di gestione. | |
Qpid | 1102 | Porta JMX |
4529 | Per chiamate di gestione e cache distribuita | |
5672 |
Utilizzato anche per la comunicazione tra il server Qpid e i componenti del broker sullo stesso nodo. Nelle topologie con più nodi Qpid, il server deve essere in grado di connettersi a tutti i broker sulla porta 5672. |
|
8083 | Porta di gestione predefinita sul server Qpid e deve essere aperta sul componente per l'accesso da parte del server di gestione. | |
8090 | Porta predefinita per il broker di Qpid; deve essere aperta per accedere alla console di gestione o alle API di gestione del broker a scopo di monitoraggio. | |
Router | 4527 | Per le chiamate di gestione e cache distribuita.
Un router deve aprire la porta 4527 come porta di gestione. Se hai più router, tutti devono essere in grado di accedere l'uno all'altro tramite la porta 4527 (indicata dalla freccia a loop nel diagramma precedente per la porta 4527 sul router). Sebbene non sia obbligatorio, puoi aprire la porta 4527 sul router per l'accesso da qualsiasi Message Processor. In caso contrario, potresti visualizzare messaggi di errore nei file di log del processore di messaggi. |
8081 | Porta di gestione predefinita per il router e deve essere aperta sul componente per l'accesso da parte del server di gestione. | |
15999 |
Porta del controllo di integrità. Un bilanciatore del carico utilizza questa porta per determinare se il router è disponibile. Per ottenere lo stato di un router, il bilanciatore del carico invia una richiesta alla porta 15999 del router: curl -v http://routerIP:15999/v1/servers/self/reachable Se il router è raggiungibile, la richiesta restituisce HTTP 200. |
|
59001 | Porta utilizzata per testare l'installazione di Edge tramite l'utilità apigee-validate .
Questa utilità richiede l'accesso alla porta 59001 sul router. Per ulteriori informazioni sulla porta 59001, consulta
Testare l'installazione. |
|
SmartDocs | 59002 | La porta sul router Edge a cui vengono inviate le richieste di pagine Smart Docs. |
ZooKeeper | 2181 | Utilizzato da altri componenti come Management Server, Router, Message Processor e così via |
2888, 3888 | Utilizzato internamente da ZooKeeper per la comunicazione del cluster ZooKeeper (noto come insieme ZooKeeper) |
La tabella seguente mostra le stesse porte, elencate in ordine numerico, con i componenti di origine e destinazione:
Numero porta | Finalità | Componente di origine | Componente di destinazione |
---|---|---|---|
virtual_host_port | HTTP più tutte le altre porte che utilizzi per il traffico di chiamate API host virtuali. Le porte 80 e 443 sono le più utilizzate; il Message Router può terminare le connessioni TLS/SSL. | Client esterno (o bilanciatore del carico) | Listener sul router dei messaggi |
1099 fino a 1103 | Gestione JMX | Client JMX | Management Server (1099) Message Processor (1101) Qpid Server (1102) Postgres Server (1103) |
2181 | Comunicazione client Zookeeper | Management Server Router Message Processor Qpid Server Postgres Server |
Zookeeper |
2888 e 3888 | Gestione internodo di Zookeeper | Zookeeper | Zookeeper |
4526 | Porta di gestione RPC | Server di gestione | Server di gestione |
4527 | Porta di gestione RPC per chiamate di gestione e cache distribuita e per le comunicazioni tra i router | Management Server Router |
Router |
4528 | Per chiamate alla cache distribuita tra i processori di messaggi e per la comunicazione dal router | Server di gestione Router Processore di messaggi |
processore di messaggi |
4529 | Porta di gestione RPC per chiamate di gestione e cache distribuita | Server di gestione | Qpid Server |
4530 | Porta di gestione RPC per chiamate di gestione e cache distribuita | Server di gestione | Server Postgres |
5432 | Client Postgres | Qpid Server | Postgres |
5636 | Monetizzazione | Componente JMS esterno | Server di gestione |
5672 |
Utilizzato anche per la comunicazione tra il server Qpid e i componenti del broker sullo stesso nodo. Nelle topologie con più nodi Qpid, il server deve essere in grado di connettersi a tutti i broker sulla porta 5672. |
Qpid Server | Qpid Server |
7000 | Comunicazioni tra nodi Cassandra | Cassandra | Altro nodo Cassandra |
7199 | Gestione JMX. Deve essere aperta per l'accesso al nodo Cassandra da parte del server di gestione. | Client JMX | Cassandra |
8080 | Porta dell'API Management | Client API di gestione | Server di gestione |
Da 8081 a 8084 |
Porte API dei componenti, utilizzate per l'emissione di richieste API direttamente ai singoli componenti. Ogni componente apre una porta diversa; la porta esatta utilizzata dipende dalla configurazione, ma deve essere aperta sul componente per l'accesso da parte del server di gestione |
Client API di gestione | Router (8081) Message Processor (8082) Qpid Server (8083) Postgres Server (8084) |
8090 | Porta di gestione predefinita per il broker di Qpid per gestire e monitorare le code. | Browser o client API | Qpid Broker (apigee-qpidd) |
8443 | Comunicazione tra il router e il processore di messaggi quando TLS è abilitato | Router | processore di messaggi |
8998 | Comunicazione tra il router e il processore di messaggi | Router | processore di messaggi |
9000 | Porta predefinita dell'interfaccia utente di gestione di Edge | Browser | Server UI di gestione |
9042 | Trasporto nativo CQL | Router Processore di messaggi Server di gestione |
Cassandra |
9099 | Autenticazione IdP esterno | IdP, browser e Management Server | SSO Apigee |
10389 | Porta LDAP | Server di gestione | SymasLDAP |
15999 | Porta del controllo di integrità. Un bilanciatore del carico utilizza questa porta per determinare se il router è disponibile. | Bilanciatore del carico | Router |
59001 | Porta utilizzata dall'utilità apigee-validate per testare l'installazione di Edge |
apigee-validate | Router |
59002 | La porta del router a cui vengono inviate le richieste di pagine Smart Docs | SmartDocs | Router |
Un processore di messaggi mantiene aperto un pool di connessioni dedicato a Cassandra, configurato in modo che non scada mai. Quando un firewall si trova tra un processore di messaggi e un server Cassandra, il firewall può interrompere la connessione. Tuttavia, Message Processor non è progettato per ristabilire le connessioni a Cassandra.
Per evitare questa situazione, Apigee consiglia di inserire il server Cassandra, Message Processor e i router nella stessa subnet in modo che un firewall non sia coinvolto nel deployment di questi componenti.
Se tra il router e i processori di messaggi è presente un firewall con un timeout TCP inattivo impostato, ti consigliamo di procedere nel seguente modo:
- Imposta
net.ipv4.tcp_keepalive_time = 1800
nelle impostazioni sysctl sul sistema operativo Linux, dove 1800 deve essere inferiore al timeout TCP inattivo del firewall. Questa impostazione dovrebbe mantenere la connessione in uno stato stabilito in modo che il firewall non la interrompa. - In tutti i Message Processor, modifica
/opt/apigee/customer/application/message-processor.properties
per aggiungere la seguente proprietà. Se il file non esiste, crealo.conf_system_cassandra.maxconnecttimeinmillis=-1
- Riavvia il processore di messaggi:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Su tutti i router, modifica
/opt/apigee/customer/application/router.properties
per aggiungere la seguente proprietà. Se il file non esiste, crealo.conf_system_cassandra.maxconnecttimeinmillis=-1
- Riavvia il router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart