A necessidade de gerenciar o firewall vai além dos hosts virtuais. Os firewalls de hosts físicos e de VM precisam permitir o tráfego para as portas necessárias para os componentes se comunicarem entre si.
Diagramas de portas
As imagens a seguir mostram os requisitos de porta para a configuração de um único data center e de vários data centers:
Data center único
A imagem a seguir mostra os requisitos de porta de cada componente do Edge em uma única configuração de data center:
Observações neste diagrama:
- As portas com o prefixo "M" são usadas para gerenciar o componente e precisam ser abertas no componente para acesso pelo servidor de gerenciamento.
- A interface do Edge requer 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 nome de usuário e senha. Consulte Como monitorar para mais informações.
- Também é possível 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 IU do Edge para enviar e-mails por um servidor SMTP externo. Se fizer isso, garanta que o servidor de gerenciamento e a interface possam acessar a porta necessária no servidor SMTP (não mostrado). Para SMTP sem TLS, o número da porta geralmente é 25. Para SMTP ativado para TLS, ele geralmente é 465, mas verifique com seu provedor 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ções:
- Todos os servidores de gerenciamento precisam acessar todos os nós do Cassandra em todos os outros data centers.
- É preciso que todos os processadores de mensagens em todos os data centers possam 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 quaisquer outras exigidas pelos seus requisitos de rede, nenhuma outra porta deve ser aberta entre os data centers.
Por padrão, as comunicações entre os 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 Edge:
Componente | Porta | Descrição |
---|---|---|
Portas HTTP padrão | 80.443 | HTTP mais qualquer outra porta que você usar para hosts virtuais |
SSO da Apigee | 9.099 | Conexões de IdPs externos, do servidor de gerenciamento e navegadores para autenticação. |
Cassandra | 7.000, 9.042 e 9.160 | Portas do Apache Cassandra para comunicação entre os nós do Cassandra e acesso por outros componentes do Edge. |
7.199 | Porta JMX. Precisa estar aberto para acesso pelo servidor de gerenciamento. | |
LDAP | 10.389 | OpenLDAP |
Servidor de gerenciamento | 1.099 | Porta JMX |
4.526 | Porta para chamadas de gerenciamento e cache distribuídos. Essa porta pode ser configurada. | |
5.636 | Porta para notificações de confirmação de monetização. | |
8.080 | Porta para chamadas da API de gerenciamento do Edge. Esses componentes exigem acesso à porta 8080 no servidor de gerenciamento: Router, Message Processor, UI, Postgres, Apigee SSO (se ativado) e Qpid. | |
IU de gerenciamento | 9.000 | Porta de acesso do navegador à interface de gerenciamento |
processador de mensagens | 1101 | Porta JMX |
4.528 | Para chamadas de gerenciamento e cache distribuídos 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 a porta de gerenciamento. Se você tem vários processadores de mensagens, todos eles precisam ser capazes de 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á ser acessível para todos os processadores de mensagens em todos os data centers. |
|
8082 |
Porta de gerenciamento padrão do processador de mensagens e 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 o 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. |
|
8.443 | Quando o TLS está ativado entre o roteador e o processador de mensagens, você precisa abrir a porta 8443 no processador de mensagens para ter acesso ao roteador. | |
8.998 | 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 mestre em espera, será necessário abrir a porta 22 em cada nó para acesso SSH. |
1103 | Porta JMX | |
4.530 | Para chamadas de gerenciamento e cache distribuídos | |
5.432 | Usado para comunicação do Qpid/Management Server para o Postgres | |
8084 | Porta de gerenciamento padrão no servidor Postgres; precisa estar aberta no componente para acesso pelo servidor de gerenciamento. | |
Qpid | 1.102 | Porta JMX |
4.529 | Para chamadas de gerenciamento e cache distribuídos | |
5.672 |
Também usado para comunicação entre o servidor Qpid e os componentes do agente no mesmo nó. Em topologias com vários nós Qpid, o servidor precisa ser capaz de se conectar a todos os agentes na porta 5672. |
|
8083 | Porta de gerenciamento padrão no servidor Qpid e precisa estar aberta no componente para acesso pelo servidor de gerenciamento. | |
8090 | Porta padrão do agente do Qpid. Ela precisa estar aberta para acessar o console de gerenciamento ou as APIs de gerenciamento do agente para fins de monitoramento. | |
Roteador | 4.527 | Para chamadas de gerenciamento e cache distribuídos.
Um roteador precisa abrir a porta 4527 como a porta de gerenciamento. Se você tem vários roteadores, todos eles precisam conseguir acessar uns aos outros pela porta 4527 (indicada pela seta de loop no diagrama acima para a porta 4527 do roteador). Embora não seja necessário, você pode abrir a porta 4527 no Roteador para acesso por qualquer processador de mensagens. Caso contrário, você poderá receber mensagens de erro nos arquivos de registro do processador de mensagens. |
8081 | Porta de gerenciamento padrão do roteador e precisa estar aberta no componente para acesso pelo servidor de gerenciamento. | |
15.999 |
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 para a porta 15999 nele: curl -v http://routerIP:15999/v1/servers/self/reachable Se o roteador estiver acessível, a solicitação retornará HTTP 200. |
|
59.001 | 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 | 59.002 | A porta no roteador de borda para onde as solicitações de página do SmartDocs são enviadas. |
ZooKeeper | 2.181 | Usado por outros componentes, como servidor de gerenciamento, roteador, processador de mensagens e assim por diante. |
2.888, 3.888 | Usado internamente pelo ZooKeeper para a comunicação do cluster do ZooKeeper (conhecido como conjunto do ZooKeeper) |
A tabela a seguir 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 todas as outras portas que você usa para o tráfego de chamada de API do host virtual. As portas 80 e 443 são as mais usadas. O roteador de mensagens pode encerrar as conexões TLS/SSL. | Cliente externo (ou balanceador de carga) | Listener no roteador de mensagens |
1099 a 1103 | Gerenciamento do JMX | Cliente JMX | Management Server (1099) Processador de mensagens (1101) Qpid Server (1102) Postgres Server (1103) |
2181 | Comunicação com o cliente do Zookeeper | Servidor de gerenciamento Roteador Processador de mensagens Servidor Qpid Servidor Postgres |
Zookeeper |
2888 e 3888 | Gerenciamento de interno de zoológico | Zookeeper | Zookeeper |
4526 | Porta de gerenciamento de RPC | Servidor de gerenciamento | Servidor de gerenciamento |
4527 | Porta de gerenciamento de RPC para chamadas de gerenciamento e cache distribuídos e para comunicações entre roteadores | Roteador do servidor de gerenciamento |
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 chamadas de gerenciamento e cache distribuídos | Servidor de gerenciamento | Servidor Qpid |
4530 | Porta de gerenciamento de RPC para chamadas de gerenciamento e cache distribuídos | Servidor de gerenciamento | Servidor Postgres |
5432 | Cliente Postgres | Servidor Qpid | Postgres |
5636 | Monetização | Componente externo do JMS | Servidor de gerenciamento |
5672 |
Também usado para comunicação entre o servidor Qpid e os componentes do agente no mesmo nó. Em topologias com vários nós Qpid, o servidor precisa ser capaz de se conectar a todos os agentes 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 de gerenciamento | Servidor de gerenciamento |
8081 a 8084 |
Portas de API do componente, 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 de gerenciamento | Roteador (8081) Processador de mensagens (8082) Servidor Qpid (8083) Servidor Postgres (8084) |
8090 | Porta de gerenciamento padrão para o agente do Qpid gerenciar e monitorar filas. | Navegador ou cliente de API | Agente 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 do gerenciamento de borda | Navegador | Servidor de interface de gerenciamento |
9042 | Transporte nativo de CQL | Roteador Processador de mensagens Servidor de gerenciamento |
Cassandra |
9099 | Autenticação do IdP externo | IDP, navegador e servidor de gerenciamento | SSO da Apigee |
9160 | Cassandra thrift client | Roteador Processador de mensagens Servidor de gerenciamento |
Cassandra |
10389 | Porta LDAP | Servidor de gerenciamento | OpenLDAP |
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 da página do SmartDocs são enviadas | SmartDocs | Roteador |
Um processador de mensagens mantém um pool de conexão dedicado aberto para o Cassandra, que é configurado para nunca atingir o tempo limite. Quando um firewall está entre um processador de mensagens e um servidor do Cassandra, o firewall pode atingir o tempo limite da conexão. No entanto, o processador de mensagens não foi projetado para restabelecer as conexões com o Cassandra.
Para evitar essa situação, a Apigee recomenda que o servidor do Cassandra, o processador de mensagens e os roteadores estejam na mesma sub-rede para que não haja um firewall envolvido na implantação desses componentes.
Se um firewall estiver entre o roteador e os processadores de mensagens e tiver um tempo limite de TCP inativo definido, nossas recomendações serão o seguinte:
- Defina
net.ipv4.tcp_keepalive_time = 1800
nas configurações de sysctl no SO Linux, em que 1800 precisa ser menor que o tempo limite do tcp inativo do firewall. Essa configuração precisa manter a conexão em um estado estabelecido para que ela não seja desconectada pelo firewall. - Em todos os processadores de mensagens, edite
/opt/apigee/customer/application/message-processor.properties
para adicionar a propriedade a seguir. 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 propriedade a seguir. 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