A necessidade de gerenciar o firewall vai além dos hosts virtuais. Os firewalls de VM e de host físico precisam permitir o tráfego das portas necessárias para que os componentes se comuniquem entre si.
Diagramas de portas
As imagens a seguir mostram os requisitos de porta para uma configuração de data center único e de vários data centers:
Data center único
A imagem a seguir mostra os requisitos de porta para cada componente do Edge em uma configuração de data center único:
Observações sobre este diagrama:
- As portas prefixadas com "M" são usadas para gerenciar o componente e precisam estar abertas no componente para acesso pelo servidor de gerenciamento.
- A interface do Edge exige acesso ao roteador, nas portas expostas pelos proxies de API, para oferecer suporte ao botão Enviar na ferramenta de rastreamento.
- O acesso às portas JMX pode ser configurado para exigir um nome de usuário/senha. Consulte Como monitorar para mais informações.
- Você também pode configurar o acesso TLS/SSL para determinadas conexões, que podem usar portas diferentes. Consulte TLS/SSL para mais informações.
- É possível configurar o servidor de gerenciamento e a interface da borda para enviar e-mails por um servidor SMTP externo. Se fizer isso, verifique se o servidor de gerenciamento e a interface podem acessar a porta necessária no servidor SMTP (não mostrada). Para SMTP sem TLS, o número da porta geralmente é 25. Para SMTP habilitado para TLS, geralmente é 465, mas verifique com seu provedor de SMTP.
Vários data centers
Se você instalar a configuração em cluster de 12 nós com dois data centers, verifique se os nós nos dois data centers podem se comunicar pelas portas mostradas abaixo:
Observação:
- Todos os servidores de gerenciamento precisam acessar todos os nós do Cassandra em todos os outros data centers.
- Todos os processadores de mensagens em todos os data centers precisam conseguir acessar uns aos outros pela porta 4528.
- O servidor de gerenciamento precisa acessar todos os processadores de mensagens pela porta 8082.
- Todos os servidores de gerenciamento e todos os nós do Qpid precisam acessar o Postgres em todos os outros data centers.
- Por motivos de segurança, além das portas mostradas acima e de outras exigidas pelos requisitos da sua rede, nenhuma outra porta deve ser aberta entre os data centers.
Por padrão, as comunicações entre componentes não são criptografadas. Para adicionar criptografia, instale o mTLS da Apigee. Para mais informações, consulte Introdução ao mTLS da Apigee.
Detalhes da porta
A tabela abaixo descreve as portas que precisam ser abertas em firewalls, por componente do Edge:
Componente | Porta | Descrição |
---|---|---|
Portas HTTP padrão | 80, 443 | HTTP mais qualquer outra porta usada para hosts virtuais |
SSO da Apigee | 9099 | Conexões de IdPs externos, do servidor de gerenciamento e de navegadores para autenticação. |
Cassandra | 7000, 9042 | Portas do Apache Cassandra para comunicação entre nós do Cassandra e para acesso por outros componentes do Edge. |
7199 | Porta JMX. Precisa estar aberto para acesso pelo servidor de gerenciamento. | |
LDAP | 10389 | SymasLDAP |
Servidor de gerenciamento | 1099 | Porta JMX |
4526 | Porta para cache distribuído e chamadas de gerenciamento. Essa porta é configurável. | |
5636 | Porta para notificações de confirmação de monetização. | |
8080 | Porta para chamadas da API de gerenciamento do Edge. Esses componentes exigem acesso à porta 8080 no servidor de gerenciamento: roteador, processador de mensagens, interface, Postgres, Apigee SSO (se ativado) e Qpid. | |
IU de gerenciamento | 9000 | Porta para acesso do navegador à interface de gerenciamento |
processador de mensagens | 1101 | Porta JMX |
4528 | Para chamadas de gerenciamento e cache distribuído entre processadores de mensagens e para
comunicação do roteador e do servidor de gerenciamento.
Um processador de mensagens precisa abrir a porta 4528 como porta de gerenciamento. Se você tiver vários processadores de mensagens, todos eles precisarão acessar uns aos outros pela porta 4528 (indicada pela seta de loop no diagrama acima para a porta 4528 no processador de mensagens). Se você tiver vários data centers, a porta precisará estar acessível para todos os processadores de mensagens em todos os data centers. |
|
8082 |
Porta de gerenciamento padrão para o processador de mensagens. Precisa estar aberta no componente para acesso pelo servidor de gerenciamento. Se você configurar o TLS/SSL entre o roteador e o processador de mensagens, usado pelo roteador para fazer verificações de integridade no processador de mensagens. A porta 8082 no processador de mensagens só precisa estar aberta para acesso pelo roteador quando você configura TLS/SSL entre o roteador e o processador de mensagens. Se você não configurar o TLS/SSL entre o roteador e o processador de mensagens, a configuração padrão, a porta 8082, ainda precisará estar aberta no processador de mensagens para gerenciar o componente, mas o roteador não exigirá acesso a ela. |
|
8443 | Quando o TLS está ativado entre o roteador e o processador de mensagens, é necessário abrir a porta 8443 no processador de mensagens para acesso pelo roteador. | |
8998 | Porta do processador de mensagens para comunicações do roteador | |
Postgres | 22 | Se você estiver configurando dois nós do Postgres para usar a replicação principal-standby, abra a porta 22 em cada nó para acesso SSH. |
1103 | Porta JMX | |
4530 | Para chamadas de gerenciamento e cache distribuído | |
5432 | Usado para comunicação do Qpid/servidor de gerenciamento com o Postgres. | |
8084 | Porta de gerenciamento padrão no servidor Postgres. Precisa estar aberta no componente para acesso pelo servidor de gerenciamento. | |
Qpid | 1102 | Porta JMX |
4529 | Para chamadas de gerenciamento e cache distribuído | |
5672 |
Também usado para comunicação entre o servidor Qpid e os componentes do broker no mesmo nó. Em topologias com vários nós do Qpid, o servidor precisa se conectar a todos os brokers na porta 5672. |
|
8083 | Porta de gerenciamento padrão no servidor Qpid. Precisa estar aberta no componente para acesso pelo servidor de gerenciamento. | |
8090 | Porta padrão do broker do Qpid. Precisa estar aberta para acessar o console de gerenciamento ou as APIs de gerenciamento do broker para fins de monitoramento. | |
Roteador | 4527 | Para chamadas de gerenciamento e cache distribuído.
Um roteador precisa abrir a porta 4527 como porta de gerenciamento. Se você tiver vários roteadores, todos eles precisarão acessar uns aos outros pela porta 4527 (indicada pela seta de loop no diagrama acima para a porta 4527 no roteador). Embora não seja obrigatório, você pode abrir a porta 4527 no roteador para acesso por qualquer processador de mensagens. Caso contrário, você poderá ver mensagens de erro nos arquivos de registro do processador de mensagens. |
8081 | Porta de gerenciamento padrão do roteador que precisa estar aberta no componente para acesso pelo servidor de gerenciamento. | |
15999 |
Porta de verificação de integridade. Um balanceador de carga usa essa porta para determinar se o roteador está disponível. Para receber o status de um roteador, o balanceador de carga faz uma solicitação à porta 15999 no roteador: curl -v http://routerIP:15999/v1/servers/self/reachable Se o roteador estiver acessível, a solicitação vai retornar HTTP 200. |
|
59001 | Porta usada para testar a instalação do Edge pelo utilitário apigee-validate .
Esse utilitário requer acesso à porta 59001 no roteador. Consulte Testar a instalação para saber mais sobre a porta 59001. |
|
SmartDocs | 59002 | A porta no roteador Edge para onde as solicitações de página do SmartDocs são enviadas. |
ZooKeeper | 2181 | Usado por outros componentes, como servidor de gerenciamento, roteador, processador de mensagens e assim por diante. |
2888, 3888 | Usado internamente pelo ZooKeeper para comunicação do cluster do ZooKeeper (conhecido como conjunto do ZooKeeper). |
A próxima tabela mostra as mesmas portas, listadas numericamente, com os componentes de origem e destino:
Número da porta | Finalidade | Componente de origem | Componente de destino |
---|---|---|---|
virtual_host_port | HTTP mais qualquer outra porta usada para o tráfego de chamadas de API de host virtual. As portas 80 e 443 são as mais usadas. O Message Router pode encerrar conexões TLS/SSL. | Cliente externo (ou balanceador de carga) | Listener no roteador de mensagens |
1099 a 1103 | Gerenciamento do JMX | Cliente JMX | Servidor de gerenciamento (1099) Processador de mensagens (1101) Servidor Qpid (1102) Servidor Postgres (1103) |
2181 | Comunicação do cliente do Zookeeper | Servidor de gerenciamento Roteador Processador de mensagens Servidor Qpid Servidor Postgres |
Zookeeper |
2888 e 3888 | Gerenciamento de internós do Zookeeper | Zookeeper | Zookeeper |
4526 | Porta de gerenciamento de RPC | Servidor de gerenciamento | Servidor de gerenciamento |
4527 | Porta de gerenciamento de RPC para cache distribuído e chamadas de gerenciamento, além de comunicações entre roteadores. | Servidor de gerenciamento roteador |
Roteador |
4528 | Para chamadas de cache distribuídas entre processadores de mensagens e para comunicação do roteador | Servidor de gerenciamento Roteador Processador de mensagens |
processador de mensagens |
4529 | Porta de gerenciamento de RPC para cache distribuído e chamadas de gerenciamento. | Servidor de gerenciamento | Servidor Qpid |
4530 | Porta de gerenciamento de RPC para cache distribuído e chamadas de gerenciamento. | Servidor de gerenciamento | Servidor Postgres |
5432 | Cliente Postgres | Servidor Qpid | Postgres |
5636 | Monetização | Componente JMS externo | Servidor de gerenciamento |
5672 |
Também usado para comunicação entre o servidor Qpid e os componentes do broker no mesmo nó. Em topologias com vários nós do Qpid, o servidor precisa se conectar a todos os brokers na porta 5672. |
Servidor Qpid | Servidor Qpid |
7.000 | Comunicações entre nós do Cassandra | Cassandra | Outro nó do Cassandra |
7199 | Gerenciamento do JMX. Precisa estar aberto para acesso no nó do Cassandra pelo servidor de gerenciamento. | Cliente JMX | Cassandra |
8080 | Porta da API Management | Clientes da API Management | Servidor de gerenciamento |
8081 a 8084 |
Portas da API de componentes, usadas para emitir solicitações de API diretamente para componentes individuais. Cada componente abre uma porta diferente. A porta exata usada depende da configuração, mas precisa estar aberta no componente para acesso pelo servidor de gerenciamento. |
Clientes da API Management | Roteador (8081) Processador de mensagens (8082) Servidor Qpid (8083) Servidor Postgres (8084) |
8090 | Porta de gerenciamento padrão do Broker do Qpid para gerenciar e monitorar filas. | Navegador ou cliente de API | Agente do Qpid (apigee-qpidd) |
8443 | Comunicação entre o roteador e o processador de mensagens quando o TLS está ativado | Roteador | processador de mensagens |
8998 | Comunicação entre o roteador e o processador de mensagens | Roteador | processador de mensagens |
9000 | Porta padrão da interface de gerenciamento do Edge | Navegador | Servidor da interface de gerenciamento |
9042 | Transporte nativo do CQL | Roteador Processador de mensagens Servidor de gerenciamento |
Cassandra |
9099 | Autenticação de IdP externo | IdP, navegador e servidor de gerenciamento | SSO da Apigee |
10389 | Porta LDAP | Servidor de gerenciamento | SymasLDAP |
15999 | Porta de verificação de integridade. Um balanceador de carga usa essa porta para determinar se o roteador está disponível. | Balanceador de carga | Roteador |
59001 | Porta usada pelo utilitário apigee-validate para testar a instalação do Edge. |
apigee-validate | Roteador |
59002 | A porta do roteador para onde as solicitações de página do SmartDocs são enviadas. | SmartDocs | Roteador |
Um processador de mensagens mantém um pool de conexões dedicado aberto para o Cassandra, que é configurado para nunca atingir o tempo limite. Quando há um firewall entre um processador de mensagens e um servidor do Cassandra, o firewall pode exceder o tempo limite da conexão. No entanto, o processador de mensagens não foi projetado para restabelecer conexões com o Cassandra.
Para evitar essa situação, o Apigee recomenda que o servidor Cassandra, o processador de mensagens e os roteadores estejam na mesma sub-rede para que um firewall não esteja envolvido na implantação desses componentes.
Se houver um firewall entre o roteador e os processadores de mensagens e um tempo limite TCP ocioso definido, recomendamos fazer o seguinte:
- Defina
net.ipv4.tcp_keepalive_time = 1800
nas configurações do sysctl no SO Linux, em que 1800 precisa ser menor que o tempo limite de inatividade do TCP do firewall. Essa configuração deve manter a conexão em um estado estabelecido para que o firewall não a desconecte. - Em todos os processadores de mensagens, edite
/opt/apigee/customer/application/message-processor.properties
para adicionar a seguinte propriedade. Se o arquivo não existir, crie-o.conf_system_cassandra.maxconnecttimeinmillis=-1
- Reinicie o processador de mensagens:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Em todos os roteadores, edite
/opt/apigee/customer/application/router.properties
para adicionar a seguinte propriedade. Se o arquivo não existir, crie-o.conf_system_cassandra.maxconnecttimeinmillis=-1
- Reinicie o roteador:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart