Requisitos de instalación

Edge para nube privada v. 4.17.05

Requisitos de hardware

Debes cumplir con los siguientes requisitos mínimos de hardware para una infraestructura de alta disponibilidad en un entorno de nivel de producción. En todas las situaciones de instalación que se describen en Topologías de instalación, en las siguientes tablas, se enumeran los requisitos mínimos de hardware para los componentes de instalación.

En estas tablas, los requisitos de disco duro se suman al espacio en el disco duro que requiere el sistema operativo. Según tus aplicaciones y el tráfico de red, es posible que la instalación requiera más o menos recursos de los que se indican a continuación.

Componente de instalación

RAM

CPU

Disco duro mínimo

Cassandra

16 GB

8 núcleos

Almacenamiento local de 250 GB con SSD o HDD rápido que admita 2,000 IOPS

Message Processor y Router en la misma máquina

16 GB

8 núcleos

100GB

Analytics: Postgres/Qpid en el mismo servidor (no se recomienda para producción)

16 GB*

8 núcleos*

Almacenamiento de red*** de 500 GB a 1 TB**, preferiblemente con backend de SSD, que admita 1,000 IOPS o más*.

Analytics: Postgres independiente

16 GB*

8 núcleos*

Almacenamiento de red*** de 500 GB a 1 TB**, preferiblemente con backend de SSD, que admita 1,000 IOPS o más*.

Analytics: Qpid independiente

8 GB

4 núcleos

Almacenamiento local de 30 GB a 50 GB con SSD o HDD rápido

Para instalaciones de más de 250 TPS, se recomienda un HDD con almacenamiento local que admita 1,000 IOPS.

El tamaño predeterminado de la cola de Qpid es de 20 GB. Si necesitas agregar más capacidad, agrega nodos de Qpid adicionales.

Otro (OpenLDAP, IU, servidor de administración)

4 GB

2 núcleos

60 GB

*Ajusta los requisitos del sistema de Postgres según la capacidad de procesamiento:

  • Menos de 250 TPS: Se puede considerar una instancia de 8 GB y 4 núcleos con almacenamiento de red administrado*** que admita 1, 000 IOPS o más
  • Más de 250 TPS: 16 GB, 8 núcleos, almacenamiento de red administrado*** que admite 1,000 IOPS o más
  • Más de 1,000 TPS: 16 GB, 8 núcleos, almacenamiento de red administrado*** que admite 2,000 IOPS o más
  • Más de 2,000 TPS: 32 GB, 16 núcleos, almacenamiento de red administrado*** que admite 2,000 IOPS o más
  • Más de 4,000 TPS: 64 GB, 32 núcleos, almacenamiento de red administrado*** que admite 4,000 IOPS o más

**El valor del disco duro de Postgres se basa en las estadísticas listas para usar que captura Edge. Si agregas valores personalizados a los datos de estadísticas, estos valores se deben aumentar según corresponda. Usa la siguiente fórmula para estimar el almacenamiento requerido:

(# bytes/solicitud) * (solicitudes por segundo) * (segundos por hora) * (horas de uso máximo por día) * (días por mes) * (meses de retención de datos) = bytes de almacenamiento necesarios

Por ejemplo:

(2,000 bytes de datos de estadísticas por solicitud) * 100 solicitudes/segundo * 3,600 segundos/hora * 18 horas de uso máximo por día * 30 días/mes * 3 meses de retención = 1,194,393,600,000 bytes o 1,194.4 GB.

*** Se recomienda el almacenamiento en red para la base de datos de PostgreSQL por los siguientes motivos:

  • Permite escalar verticalmente de forma dinámica el tamaño del almacenamiento si es necesario y cuando lo sea.
  • Las IOPS de red se pueden ajustar sobre la marcha en la mayoría de los subsistemas de entorno, almacenamiento y red actuales.
  • Las instantáneas a nivel de almacenamiento se pueden habilitar como parte de las soluciones de copia de seguridad y recuperación.

Además, a continuación, se enumeran los requisitos de hardware si deseas instalar los servicios de monetización:

Componente con monetización

RAM

CPU

Disco duro

Servidor de administración (con servicios de monetización)

8 GB

4 núcleos

60 GB

Analytics: Postgres y Qpid en el mismo servidor

16 GB

8 núcleos

Almacenamiento de red de 500 GB a 1 TB, preferiblemente con backend de SSD, que admita 1,000 IOPS o más, o usa la regla de la tabla anterior.

Analytics: Postgres independiente

16 GB

8 núcleos

Almacenamiento de red de 500 GB a 1 TB, preferiblemente con backend de SSD, que admita 1,000 IOPS o más, o usa la regla de la tabla anterior.

Analytics: Qpid independiente

8 GB

4 núcleos

Almacenamiento local de 40 GB a 500 GB con SSD o HDD rápido

Para instalaciones de más de 250 TPS, se recomienda un HDD con almacenamiento local que admita 1,000 IOPS.

A continuación, se enumeran los requisitos de hardware si deseas instalar API BaaS:

Componente de API BaaS

RAM

CPU

Disco duro

ElasticSearch*

8 GB

4 núcleos

De 60 a 80 GB

Pila de API BaaS *

8 GB

4 núcleos

De 60 a 80 GB

Portal de API BaaS

1 GB

2 núcleos

20 GB

Cassandra (opcional: por lo general, usas el mismo clúster de Cassandra para los servicios de Edge y de API BaaS)

16 GB

8 núcleos

Almacenamiento local de 250 GB con SSD o HDD rápido que admita 2,000 IOPS

* Puedes instalar Elasticsearch y la pila de API BaaS en el mismo nodo. Si lo haces, configura Elasticsearch para que use 4 GB de memoria (predeterminado). Si ElasticSearch está instalado en su propio nodo, configúralo para que use 6 GB de memoria.

Nota:

  • Si el sistema de archivos raíz no es lo suficientemente grande para la instalación, se recomienda colocar los datos en un disco más grande.
  • Si se instaló una versión anterior de Apigee Edge para nube privada en la máquina, asegúrate de borrar la carpeta /tmp/java antes de una instalación nueva.
  • La carpeta temporal de todo el sistema /tmp necesita permisos de ejecución para iniciar Cassandra.
  • Si el usuario “apigee” se creó antes de la instalación, asegúrate de que “/home/apigee” exista como directorio principal y sea propiedad de “apigee:apigee”.

Requisitos del sistema operativo y del software de terceros

Estas instrucciones de instalación y los archivos de instalación proporcionados se probaron en los sistemas operativos y el software de terceros que se indican aquí: https://apigee.com/docs/api-services/reference/supported-software.

Crea el usuario de Apigee

El procedimiento de instalación crea un usuario del sistema Unix llamado "apigee". Los directorios y archivos de Edge son propiedad de "apigee", al igual que los procesos de Edge. Esto significa que los componentes de Edge se ejecutan como el usuario "apigee". Si es necesario, puedes ejecutar componentes como un usuario diferente. Consulta "Vincula el router a un puerto protegido" en Instala componentes de Edge en un nodo para ver un ejemplo.

Directorio de instalación

De forma predeterminada, el instalador escribe todos los archivos en el directorio /opt/apigee. No puedes cambiar la ubicación de este directorio. Si bien no puedes cambiar este directorio, puedes crear un symlink para asignar /opt/apigee a otra ubicación, como se describe a continuación.

En las instrucciones de esta guía, el directorio de instalación se indica como /<inst_root>/apigee, en el que /<inst_root> es /opt de forma predeterminada.

Crea un vínculo simbólico desde /opt/apigee

Antes de crear el symlink, primero debes crear un usuario y un grupo llamados "apigee". Este es el mismo grupo y usuario que creó el instalador de Edge.

Para crear el symlink, realiza estos pasos antes de descargar el archivo bootstrap_4.17.01.sh. Debes realizar todos estos pasos como raíz:

  1. Crea el usuario y el grupo "apigee":
    > groupadd -r apigee
    > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. Crea un symlink de /opt/apigee a la raíz de instalación que desees:
    > ln -Ts /srv/myInstallDir /opt/apigee
    donde /srv/myInstallDir es la ubicación deseada de los archivos de Edge.
  3. Cambia la propiedad de la raíz de instalación y el symlink al usuario "apigee":
    > chown -h apigee:apigee /srv/myInstallDir /opt/apigee

Java

Debes tener instalada una versión compatible de Java 1.8 en cada máquina antes de la instalación. Los JDK compatibles se indican aquí:

https://apigee.com/docs/api-services/reference/supported-software

Asegúrate de que JAVA_HOME apunte a la raíz del JDK para el usuario que realiza la instalación.

SELinux

Según la configuración de SELinux, Edge puede tener problemas para instalar e iniciar los componentes de Edge. Si es necesario, puedes inhabilitar SELinux o configurarlo en modo permisivo durante la instalación y, luego, volver a habilitarlo después de la instalación. Consulta Instala la utilidad apigee-setup de Edge para obtener más información.

Configuración de red

Se recomienda verificar la configuración de red antes de la instalación. El instalador espera que todas las máquinas tengan direcciones IP fijas. Usa los siguientes comandos para validar el parámetro de configuración:

  • hostname devuelve el nombre de la máquina.
  • hostname -i devuelve la dirección IP del nombre de host al que se puede acceder desde otras máquinas.

Según el tipo y la versión del sistema operativo, es posible que debas editar /etc/hosts y /etc/sysconfig/network si el nombre de host no está configurado de forma correcta. Para obtener más información, consulta la documentación de tu sistema operativo específico.

TCP Wrappers

Los wrappers de TCP pueden bloquear la comunicación de algunos puertos y afectar la instalación de OpenLDAP, Postgres y Cassandra. En esos nodos, verifica /etc/hosts.allow y /etc/hosts.deny para asegurarte de que no haya restricciones de puertos en los puertos requeridos de OpenLDAP, Postgres y Cassandra.

iptables

Valida que no haya políticas de iptables que impidan la conectividad entre los nodos en los puertos de Edge requeridos. Si es necesario, puedes detener iptables durante la instalación con el siguiente comando:

> sudo/etc/init.d/iptables stop

En CentOS 7.x:

> systemctl stop firewalld

Asegúrate de que el router perimetral pueda acceder a /etc/rc.d/init.d/functions

Los nodos de Edge Router y BaaS Portal usan el router de Nginx y requieren acceso de lectura a /etc/rc.d/init.d/functions.

Si tu proceso de seguridad requiere que configures permisos en /etc/rc.d/init.d/functions, no los configures en 700; de lo contrario, el router no se iniciará. Los permisos se pueden establecer en 744 para permitir el acceso de lectura a /etc/rc.d/init.d/functions.

Cassandra

Todos los nodos de Cassandra deben estar conectados a un anillo. Cassandra almacena réplicas de datos en varios nodos para garantizar la confiabilidad y la tolerancia a errores. La estrategia de replicación para cada espacio de claves de Edge determina los nodos de Cassandra en los que se colocan las réplicas. Para obtener más información,consulta Acerca del factor de replicación y el nivel de coherencia de Cassandra.

Cassandra ajusta automáticamente el tamaño de su montón de Java según la memoria disponible. Para obtener más información, consulta Ajusta los recursos de Java. En caso de que se produzca una degradación del rendimiento o un consumo elevado de memoria.

Después de instalar Edge para nube privada, puedes verificar que Cassandra esté configurado correctamente examinando el archivo /<inst_root>/apigee/apigee-cassandra/conf/cassandra.yaml. Por ejemplo, asegúrate de que la secuencia de comandos de instalación de Edge para nube privada establezca las siguientes propiedades:

  • cluster_name
  • initial_token
  • particionador
  • semillas
  • listen_address
  • rpc_address
  • snitch

Advertencia: No edites este archivo.

Base de datos de PostgreSQL

Después de instalar Edge, puedes ajustar la siguiente configuración de la base de datos de PostgreSQL según la cantidad de RAM disponible en tu sistema:

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

Para establecer estos valores, haz lo siguiente:

  1. Edita postgresql.properties:
    > vi /<inst_root>/apigee/customer/application/postgresql.properties

    Si el archivo no existe, créalo.
  2. Establece las propiedades que se mencionaron anteriormente.
  3. Guarda los cambios.
  4. Reinicia la base de datos de PostgreSQL:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

Límites del sistema

Asegúrate de haber establecido los siguientes límites del sistema en los nodos de Cassandra y Message Processor:

  • En los nodos de Cassandra, establece límites de memlock, nofile y espacio de direcciones (as) para el usuario de instalación (el valor predeterminado es “apigee”) en /etc/security/limits.d/90-apigee-edge-limits.conf , como se muestra a continuación:
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited

  • En los nodos de Message Processor, establece la cantidad máxima de descriptores de archivos abiertos en 64K en /etc/security/limits.d/90-apigee-edge-limits.conf como se muestra a continuación:
    apigee soft nofile 32768
    apigee hard nofile 65536


    Si es necesario, puedes aumentar ese límite. Por ejemplo, si tienes una gran cantidad de archivos temporales abiertos al mismo tiempo.

jsvc

"jsvc" es un requisito previo para usar API BaaS. La versión 1.0.15-dev se instala cuando instalas la API de BaaS.

Servicios de seguridad de red (NSS)

Network Security Services (NSS) es un conjunto de bibliotecas que admite el desarrollo de aplicaciones cliente y de servidor con seguridad habilitada. Debes asegurarte de haber instalado NSS v3.19 o una versión posterior.

Para verificar tu versión actual, sigue estos pasos:

> yum info nss

Para actualizar NSS, sigue estos pasos:

> yum update nss

Consulta este artículo de RedHat para obtener más información.

Inhabilita la búsqueda de DNS en IPv6 cuando uses NSCD (daemon de almacenamiento en caché del servicio de nombres)

Si instalaste y habilitaste NSCD (daemon de almacenamiento en caché del servicio de nombres), los Message Processors realizan dos búsquedas de DNS: una para IPv4 y otra para IPv6. Debes inhabilitar la búsqueda de DNS en IPv6 cuando uses NSCD.

Para inhabilitar la búsqueda de DNS en IPv6, haz lo siguiente:

  1. En cada nodo de Message Processor, edita /etc/nscd.conf.
  2. Establece la siguiente propiedad:
    enable-cache hosts no

Inhabilita IPv6 en Google Cloud Platform para RedHat/CentOS 7

Si instalas Edge en RedHat 7 o CentOS 7 en Google Cloud Platform, debes inhabilitar IPv6 en todos los nodos de Qpid.

Consulta la documentación de RedHat o CentOS de tu versión específica del SO para obtener instrucciones sobre cómo inhabilitar IPv6. Por ejemplo, puedes hacer lo siguiente:

  1. Abre /etc/hosts en un editor.
  2. Inserta un carácter "#" en la columna uno de la siguiente línea para comentarla:
    #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. Guarda el archivo.

AMI de AWS

Si instalas Edge en una imagen de máquina de Amazon (AMI) de AWS para Red Hat Enterprise Linux 7.x, primero debes ejecutar el siguiente comando:

> yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

Herramientas

El instalador usa las siguientes herramientas de UNIX en la versión estándar que proporciona EL5 o EL6.

awk

expr

lua-socket

rpm

unzip

basename

grep

ls

rpm2cpio

useradd

Bash

Nombre de host

net-tools

sed

wc

bc

id

perl (de procps)

sudo

wget

curl

libaio

pgrep (de procps)

tar

xerces-c

cyrus-sasl
libdb-cxx
ps tr yum

fecha

libibverbs

pwd

uuid

chkconfig

dirname
librdmacm
python uname
echo
libxslt

Nota:

  • El ejecutable de la herramienta “useradd” se encuentra en /usr/sbin y el de chkconfig, en /sbin.
  • Con el acceso sudo, puedes obtener acceso al entorno del usuario que realiza la llamada, por ejemplo, por lo general, llamarías a “sudo <command>” o “sudo PATH=$PATH:/usr/sbin:/sbin <command>”.
  • Asegúrate de tener instalada la herramienta “patch” antes de instalar un paquete de servicio (parche).

ntpdate: Se recomienda que los servidores estén sincronizados. Si aún no está configurada, la utilidad “ntpdate” podría servir para este propósito, ya que verifica si los servidores están sincronizados. Puedes usar “yum install ntp” para instalar la utilidad. Esto es particularmente útil para replicar configuraciones de OpenLDAP. Ten en cuenta que configuraste la zona horaria del servidor en UTC.

openldap 2.4: La instalación local requiere OpenLDAP 2.4. Si tu servidor tiene una conexión a Internet, la secuencia de comandos de instalación de Edge descarga e instala OpenLDAP. Si tu servidor no tiene una conexión a Internet, debes asegurarte de que OpenLDAP ya esté instalado antes de ejecutar la secuencia de comandos de instalación de Edge. En RHEL/CentOS, puedes ejecutar "yum install openldap-clients openldap-servers" para instalar OpenLDAP.

Para las instalaciones de 13 hosts y las instalaciones de 12 hosts con dos centros de datos, necesitas la replicación de OpenLDAP porque hay varios nodos que alojan OpenLDAP.

Firewalls y hosts virtuales

El término “virtual” suele sobrecargarse en el ámbito de TI, y lo mismo ocurre con una implementación de Apigee Edge para la nube privada y los hosts virtuales. Para aclarar, hay dos usos principales del término “virtual”:

  • Máquinas virtuales (VM): No es obligatorio, pero algunas implementaciones usan la tecnología de VM para crear servidores aislados para sus componentes de Apigee. Los hosts de VM, al igual que los hosts físicos, pueden tener interfaces de red y firewalls.
  • Hosts virtuales: Son extremos web, similares a un host virtual de Apache.

Un router en una VM puede exponer varios hosts virtuales (siempre que difieran entre sí en su alias de host o en su puerto de interfaz).

Como ejemplo de nomenclatura, un solo servidor físico “A” podría estar ejecutando dos VMs, llamadas “VM1” y “VM2”. Supongamos que la VM1 expone una interfaz de Ethernet virtual, que se llama eth0 dentro de la VM y a la que la maquinaria de virtualización o un servidor DHCP de red le asigna la dirección IP 111.111.111.111. Luego, supongamos que la VM2 expone una interfaz de Ethernet virtual que también se llama eth0 y se le asigna una dirección IP 111.111.111.222.

Es posible que tengamos un router de Apigee ejecutándose en cada una de las dos VMs. Los routers exponen los extremos de host virtual, como en este ejemplo hipotético:

El router de Apigee en la VM1 expone tres hosts virtuales en su interfaz eth0 (que tiene una dirección IP específica), api.mycompany.com:80, api.mycompany.com:443 y test.mycompany.com:80.

El router en la VM2 expone api.mycompany.com:80 (el mismo nombre y puerto que expone la VM1).

Es posible que el sistema operativo del host físico tenga un firewall de red. Si es así, ese firewall debe configurarse para pasar el tráfico de TCP vinculado a los puertos que se exponen en las interfaces virtualizadas (111.111.111.111:{80, 443} y 111.111.111.222:80). Además, el sistema operativo de cada VM puede proporcionar su propio firewall en su interfaz eth0, y estos también deben permitir que se conecte el tráfico de los puertos 80 y 443.

La ruta de acceso base es el tercer componente involucrado en el enrutamiento de llamadas a la API a diferentes proxies de API que puedes haber implementado. Los paquetes de proxy de API pueden compartir un extremo si tienen rutas de acceso base diferentes. Por ejemplo, una ruta de acceso base se puede definir como http://api.mycompany.com:80/ y otra como http://api.mycompany.com:80/salesdemo.

En este caso, necesitas un balanceador de cargas o un director de tráfico de algún tipo que divida el tráfico de http://api.mycompany.com:80/ entre las dos direcciones IP (111.111.111.111 en la VM1 y 111.111.111.222 en la VM2). Esta función es específica de tu instalación particular y la configura tu grupo de redes local.

La ruta de acceso base se establece cuando implementas una API. En el ejemplo anterior, puedes implementar dos APIs, mycompany y testmycompany, para la organización mycompany-org con el host virtual que tiene el alias de host de api.mycompany.com y el puerto configurado en 80. Si no declaras una ruta de acceso base en la implementación, el router no sabrá a qué API enviar las solicitudes entrantes.

Sin embargo, si implementas la API testmycompany con la URL base de /salesdemo, los usuarios acceden a esa API con http://api.mycompany.com:80/salesdemo. Si implementas tu API mycompany con la URL base de /, tus usuarios acceden a la API a través de la URL http://api.mycompany.com:80/.

Requisitos de puertos de Edge

La necesidad de administrar el firewall va más allá de los hosts virtuales; los firewalls de VM y de host físico deben permitir el tráfico para los puertos que requieren los componentes para comunicarse entre sí.

En la siguiente imagen, se muestran los requisitos de puertos para cada componente de Edge:

Notas sobre este diagrama:

  • *El puerto 8082 en el Message Processor solo debe estar abierto para que el Router acceda a él cuando configures TLS/SSL entre el Router y el Message Processor. Si no configuras TLS/SSL entre el router y el Message Processor, la configuración predeterminada, el puerto 8082, aún debe estar abierto en el Message Processor para administrar el componente, pero el router no requiere acceso a él.
  • Los puertos con el prefijo "M" son puertos que se usan para administrar el componente y deben estar abiertos en el componente y deben estar abiertos en el componente para que el servidor de administración pueda acceder a ellos.
  • Los siguientes componentes requieren acceso al puerto 8080 en el servidor de administración: router, Message Processor, IU, Postgres y Qpid.
  • Un Message Processor debe abrir el puerto 4528 como su puerto de administración. Si tienes varios Message Processors, todos deben poder acceder entre sí a través del puerto 4528 (indicado por la flecha de bucle en el diagrama anterior para el puerto 4528 en el Message Processor). Si tienes varios centros de datos, se debe poder acceder al puerto desde todos los Message Processors en todos los centros de datos.
  • Si bien no es obligatorio, puedes abrir el puerto 4527 en el router para que cualquier Message Processor pueda acceder a él. De lo contrario, es posible que veas mensajes de error en los archivos de registro del Message Processor.
  • Un router debe abrir el puerto 4527 como su puerto de administración. Si tienes varios routers, todos deben poder acceder entre sí a través del puerto 4527 (indicado por la flecha de bucle en el diagrama anterior para el puerto 4527 en el router).
  • La IU de Edge requiere acceso al router, en los puertos expuestos por los proxies de API, para admitir el botón Enviar en la herramienta de seguimiento.
  • El servidor de administración requiere acceso al puerto JMX en los nodos de Cassandra.
  • El acceso a los puertos de JMX se puede configurar para que requiera un nombre de usuario y una contraseña. Consulta Cómo supervisar para obtener más información.
  • De manera opcional, puedes configurar el acceso TLS/SSL para ciertas conexiones, que pueden usar puertos diferentes. Consulta TLS/SSL para obtener más información.
  • Si configuras dos nodos de Postgres para usar la replicación de principal-en espera, debes abrir el puerto 22 en cada nodo para el acceso SSH. De manera opcional, puedes abrir puertos en nodos individuales para permitir el acceso SSH.
  • Puedes configurar el servidor de administración y la IU de Edge para enviar correos electrónicos a través de un servidor SMTP externo. Si lo haces, debes asegurarte de que el servidor de administración y la IU puedan acceder al puerto necesario en el servidor SMTP. Para SMTP sin TLS, el número de puerto suele ser 25. Para SMTP con TLS habilitado, suele ser 465, pero consulta con tu proveedor de SMTP.

En la siguiente tabla, se muestran los puertos que se deben abrir en los firewalls, por componente de Edge:

Componente

Puerto

Descripción

Puertos HTTP estándar

80, 443

HTTP y cualquier otro puerto que uses para los hosts virtuales

Servidor de administración

8080

Es el puerto para las llamadas a la API de administración de Edge. Estos componentes requieren acceso al puerto 8080 en el servidor de administración: router, Message Processor, IU, Postgres y Qpid.

1099

Puerto de JMX

4526

Para la caché distribuida y las llamadas de administración

IU de administración

9000

Puerto para el acceso del navegador a la IU de administración

Message Processor

8998

Puerto del Message Processor para las comunicaciones desde el router

8082

Es el puerto de administración predeterminado para el Message Processor y debe estar abierto en el componente para que el servidor de administración pueda acceder a él.

Si configuras TLS/SSL entre el router y el Message Processor, el router lo usa para realizar verificaciones de estado en el Message Processor.

1101

Puerto de JMX

4528

Para las llamadas de administración y caché distribuida entre los Message Processors, y para la comunicación desde el router

Router

8081

Es el puerto de administración predeterminado para el router y debe estar abierto en el componente para que el servidor de administración pueda acceder a él.

4527

Para la caché distribuida y las llamadas de administración

15999

Puerto de verificación de estado. Un balanceador de cargas usa este puerto para determinar si el router está disponible.

Para obtener el estado de un router, el balanceador de cargas realiza una solicitud al puerto 15999 en el router:

> curl -v http://<routerIP>:15999/v1/servers/self/reachable

Si se puede acceder al router, la solicitud devuelve HTTP 200.

59001

Es el puerto que usa la utilidad apigee-validate para probar la instalación de Edge. Esta utilidad requiere acceso al puerto 59001 en el router. Consulta Prueba la instalación para obtener más información sobre el puerto 59001.

ZooKeeper

2181

Lo usan otros componentes, como Management Server, Router, Message Processor, etc.

2888, 3888

ZooKeeper lo usa de forma interna para la comunicación del clúster de ZooKeeper (conocido como conjunto de ZooKeeper)

Cassandra

7000, 9042, 9160

Puertos de Apache Cassandra para la comunicación entre nodos de Cassandra y para el acceso de otros componentes de Edge.

7199

Puerto de JMX. Debe estar abierto para que el servidor de administración pueda acceder a él.

Qpid

5672

Se usa para las comunicaciones del router y el Message Processor al servidor de Qpid

8083

Es el puerto de administración predeterminado en el servidor de Qpid y debe estar abierto en el componente para que el servidor de administración pueda acceder a él.

1102

Puerto de JMX

4529

Para la caché distribuida y las llamadas de administración

Postgres

5432

Se usa para la comunicación de Qpid o el servidor de administración a Postgres

8084

Es el puerto de administración predeterminado en el servidor de Postgres y debe estar abierto en el componente para que el servidor de administración pueda acceder a él.

1103

Puerto de JMX

4530

Para la caché distribuida y las llamadas de administración

22

Si configuras dos nodos de Postgres para usar la replicación principal-en espera, debes abrir el puerto 22 en cada nodo para el acceso SSH.

LDAP

10,389

OpenLDAP

SmartDocs

59002

Es el puerto del router de Edge al que se envían las solicitudes de páginas de SmartDocs.

En la siguiente tabla, se muestran los mismos puertos, enumerados de forma numérica, con los componentes de origen y destino:

Número de puerto

Propósito

Componente de origen

Componente de destino

<virtual host port#>

HTTP y cualquier otro puerto que uses para el tráfico de llamadas a la API del host virtual. Los puertos 80 y 443 son los más utilizados; el Message Router puede finalizar las conexiones TLS/SSL.

Cliente externo (o balanceador de cargas)

Objeto de escucha en el enrutador de mensajes

1099 a 1103

Administración de JMX

Cliente de JMX

Servidor de administración (1099)

Message Processor (1101)

Servidor de Qpid (1102)

Servidor de Postgres (1103)

2181

Comunicación del cliente de Zookeeper

Servidor de administración

Router

Message Processor

Servidor Qpid

Servidor de Postgres

Zookeeper

2888 y 3888

Administración entre nodos de Zookeeper

Zookeeper

Zookeeper

4526

Puerto de administración de RPC

Servidor de administración

Servidor de administración

4527 Puerto de administración de RPC para llamadas de administración y caché distribuida, y para comunicaciones entre routers

Servidor de administración

Router

Router

4528

Para las llamadas de caché distribuida entre Message Processors y para la comunicación desde el router

Servidor de administración

Router

Message Processor

Message Processor

4529 Puerto de administración de RPC para llamadas de administración y caché distribuida Servidor de administración Servidor Qpid
4530 Puerto de administración de RPC para llamadas de administración y caché distribuida Servidor de administración Servidor de Postgres

5432

Cliente de Postgres

Servidor Qpid

Postgres

5672

Se usa para enviar estadísticas del router y el Message Processor a Qpid

Router

Message Processor

Servidor Qpid

7000

Comunicaciones entre nodos de Cassandra

Cassandra

Otro nodo de Cassandra

7199

Administración de JMX. El servidor de administración debe abrirlo para que se pueda acceder a él en el nodo de Cassandra.

Cliente de JMX

Cassandra

8080

Puerto de la API de Management

Clientes de la API de Management

Servidor de administración

Del 8081 al 8084

Puertos de la API de componentes, que se usan para emitir solicitudes a la API directamente a componentes individuales Cada componente abre un puerto diferente; el puerto exacto que se usa depende de la configuración, pero debe estar abierto en el componente para que el servidor de administración pueda acceder a él.

Clientes de la API de Management

Router (8081)

Message Processor (8082)

Servidor Qpid (8083)

Servidor de Postgres (8084)

8998

Comunicación entre el router y el Message Processor

Router

Message Processor

9000

Puerto predeterminado de la IU de administración de Edge

Navegador

Servidor de la IU de administración

9042

Transporte nativo de CQL

Router

Message Processor

Servidor de administración

Cassandra

9160

Cliente de Thrift de Cassandra

Router

Message Processor

Servidor de administración

Cassandra

10389

Puerto LDAP

Servidor de administración

OpenLDAP

15999

Puerto de verificación de estado. Un balanceador de cargas usa este puerto para determinar si el router está disponible.

Balanceador de cargas Router
59001 Es el puerto que usa la utilidad apigee-validate para probar la instalación de Edge. apigee-validate Router

59002

Es el puerto del router al que se envían las solicitudes de páginas de SmartDocs.

SmartDocs

Router

Un Message Processor mantiene un grupo de conexiones dedicado abierto a Cassandra, que está configurado para que nunca se agote el tiempo de espera. Cuando hay un firewall entre un Message Processor y un servidor de Cassandra, el firewall puede agotar el tiempo de espera de la conexión. Sin embargo, el Message Processor no está diseñado para restablecer las conexiones a Cassandra.

Para evitar esta situación, Apigee recomienda que el servidor de Cassandra, el Message Processor y los routers estén en la misma subred para que no haya un firewall involucrado en la implementación de estos componentes.

Si hay un firewall entre el router y los Message Processors, y tiene un tiempo de espera de TCP inactivo establecido, nuestras recomendaciones son las siguientes:

  1. Establece net.ipv4.tcp_keepalive_time = 1800 en la configuración de sysctl en el SO Linux, donde 1800 debe ser inferior al tiempo de espera de TCP inactivo del firewall. Este parámetro de configuración debería mantener la conexión en un estado establecido para que el firewall no la desconecte.
  2. En todos los Message Processors, edita /<inst_root>/apigee/customer/application/message-processor.properties para agregar la siguiente propiedad. Si el archivo no existe, créalo.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. Reinicia el Message Processor:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. En todos los routers, edita /<inst_root>/apigee/customer/application/router.properties para agregar la siguiente propiedad. Si el archivo no existe, créalo.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. Reinicia el router:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Si instalas la configuración de clúster de 12 hosts con dos centros de datos, asegúrate de que los nodos de los dos centros de datos puedan comunicarse a través de los puertos que se muestran a continuación:

Requisitos de puertos de BaaS de API

Si decides instalar la API de BaaS, debes agregar los componentes de la pila de la API de BaaS y del portal de la API de BaaS. Estos componentes usan los puertos que se muestran en la siguiente figura:

Notas sobre este diagrama:

  • El portal de API BaaS nunca realiza solicitudes directamente a un nodo de BaaS Stack. Cuando un desarrollador accede al portal, la app del portal se descarga en el navegador. Luego, la app de Portal que se ejecuta en el navegador realiza solicitudes a los nodos de la pila de BaaS.
  • Una instalación de producción de API BaaS usa un balanceador de cargas entre el nodo del portal de API BaaS y los nodos de la pila de API BaaS. Cuando configuras el portal y realizas llamadas a la API de BaaS, especificas la dirección IP o el nombre de DNS del balanceador de cargas, no de los nodos de Stack.
  • Todos los nodos de Stack deben abrir el puerto 2551 para el acceso desde todos los demás nodos de Stack (indicado por la flecha de bucle en el diagrama anterior para el puerto 2551 en los nodos de Stack). Si tienes varios centros de datos, se debe poder acceder al puerto desde todos los nodos de Stack en todos los centros de datos.
  • Debes configurar todos los nodos de Baas Stack para que envíen correos electrónicos a través de un servidor SMTP externo. Para SMTP sin TLS, el número de puerto suele ser 25. Para SMTP con TLS habilitado, suele ser 465, pero consulta con tu proveedor de SMTP.
  • Los nodos de Cassandra se pueden dedicar a API BaaS o se pueden compartir con Edge.

En la siguiente tabla, se muestran los puertos predeterminados que se deben abrir en los firewalls, por componente:

Componente

Puerto

Descripción

Portal de API BaaS

9000

Puerto para la IU de API BaaS

Pila de API BaaS

8080

Puerto en el que se reciben las solicitudes a la API

2551

Es el puerto para la comunicación entre todos los nodos de Stack. Todos los demás nodos de Stack en el centro de datos deben poder acceder a ella.

Si tienes varios centros de datos, se debe poder acceder al puerto desde todos los nodos de Stack en todos los centros de datos.

ElasticSearch

9200 a 9400

Para comunicarse con la pila de API BaaS y entre los nodos de ElasticSearch

Licencias

Cada instalación de Edge requiere un archivo de licencia único que obtienes de Apigee. Deberás proporcionar la ruta de acceso al archivo de licencia cuando instales el servidor de administración, por ejemplo, /tmp/license.txt.

El instalador copia el archivo de licencia en /<inst_root>/apigee/customer/conf/license.txt.

Si el archivo de licencia es válido, el servidor de administración valida el vencimiento y el recuento permitido de Message Processor (MP). Si alguno de los parámetros de configuración de la licencia venció, puedes encontrar los registros en la siguiente ubicación: /<inst_root>/apigee/var/log/edge-management-server/logs. En este caso, puedes comunicarte con la asistencia de Apigee para obtener detalles de la migración.

Si aún no tienes una licencia, comunícate con Ventas aquí.