Instalación de la API de BaaS

Edge for Private Cloud v. 4.16.09

Usa un balanceador de cargas

Una instalación de producción de la API BaaS usa un balanceador de cargas entre el nodo del portal de la API de BaaS y los nodos de pila BaaS de APIs. Al configurar el Portal, especificas la dirección IP o el nombre de DNS de el balanceador de cargas, no de los nodos de pila.

Como alternativa a un balanceador de cargas, podrías usar DNS round robin. En este caso, crear una entrada de DNS con varios registros A correspondientes a las direcciones IP de la pila BaaS. Durante un DNS , el servidor DNS devuelve los valores de registro A automáticamente con un método round robin.

Conéctate a Cassandra

Cuando instalas BaaS, puedes conectar BaaS y Edge al mismo clúster de Cassandra. o crear un clúster de Cassandra separado para BaaS. Instalaciones de BaaS más pequeñas, es decir, aquellas con y menores volúmenes de tráfico, y comparten un clúster de Cassandra con Edge.

Para la alta capacidad de procesamiento y disponibilidad, o para separar clústeres de Cassandra en diferentes zonas de red, Apigee recomienda que uses clústeres de Cassandra separados. Clústeres separados maximizar el rendimiento si experimentas grandes cargas de tráfico en BaaS.

Sincronización de fecha

Debes tener sincronizadas la fecha y hora en todos los servidores. Si aún no lo hiciste, “ntpdate” podría cumplir este propósito, que verifica si los servidores son temporales sincronizada. Puedes usar “yum install ntp” para instalar la utilidad.

Seguridad de Tomcat

El instalador de BaaS de la API también instala el servidor Apache Tomcat en todos los nodos de la pila de BaaS de la API. incluida la IU para administradores de Tomcat. El instalador deja las credenciales de administrador predeterminadas. sin cambios de admin:admin.

Si es necesario, puedes cambiar estas credenciales como parte de la protección de Tomcat. Para ver más consulta:

Descripción general de instalación

Después de instalar la utilidad apigee-setup en un nodo, usa ese para instalar uno o más componentes de BaaS en el nodo. La utilidad apigee-setup tiene la siguiente forma:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

Pasar un archivo de configuración a la utilidad apigee-setup que contiene los información adicional sobre la instalación. Si al archivo de configuración le falta alguna información, el comando apigee-setup te pedirá que lo ingreses en la línea de comandos.

El único requisito es que el archivo de configuración debe ser accesible o legible “Apigee” usuario.

Por ejemplo, usa el siguiente comando para instalar la pila de BaaS de la API:

> sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

La utilidad setup.sh de Apigee admite varias opciones para instalar componentes de la BaaS de la API. En las instrucciones que aparecen a continuación, se usa el opciones independientes (c, e, b, y p), pero puedes usar diferentes opciones según tu nodo actual:

Opción

Descripción

e

Solo instala ElasticSearch.

b

Solo instala la pila BaaS de API, que también instala Tomcat.

p

Solo instala el portal de API BaaS, que también instala el router Nginx que se usará como sitio web. servidor.

c

Solo instala Cassandra.

eb

Instalar ElasticSearch, API BaaS Stack y Tomcat en el nodo

ebp

Instala ElasticSearch, API BaaS Portal, API BaaS Stack y Tomcat. El portal es tan ligero, no se necesitan recursos adicionales para esto.

Asa

Instala todos los componentes de la API en un solo nodo (Cassandra, Elasticsearch, API BaaS Stack, y el portal de BaaS de la API). Usa esta opción solo para el desarrollo y las pruebas, no para producción.

Crea una configuración silenciosa archivo

A continuación, se muestra un ejemplo de un archivo de configuración silencioso para una instalación del BaaS de la API de 10 nodos. Editar este archivo según sea necesario para tu configuración. Usa la opción -f para setup.sh para incluir este archivo.

# Specify IP address or DNS name of node.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWrod

# Only if you are installing Cassandra.
# Specify Cassandra configuration information.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# ElasticSearch IPs or DNS names, separated by spaces.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y

La siguiente tabla contiene información adicional sobre estas propiedades:

Propiedad

Nota

CASS_HOSTS

Si instalas Cassandra, especifica las IP del nodo de Cassandra (no los nombres de DNS) y incluir el modificador “:dc,ra” que especifica el centro de datos y el bastidor de la Nodo de Cassandra.

Por ejemplo, '192.168.124.201:1,1 = centro de datos 1 y zona de bastidor/disponibilidad 1, y '192.168.124.204:2,1 = centro de datos 2 y zona de bastidor/disponibilidad 1.

CASS_USERNAME
CASS_PASSWORD

Nombre de usuario y contraseña de Cassandra.

Si la autenticación de Cassandra está inhabilitada, aún debes pasar estos valores. Sin embargo, los valores se ignoran.

BAAS_CASS_LOCALDC

Los nombres de las regiones deben tener el formato dc-#, en el que # corresponde a un valor de número entero.

Por ejemplo, dc-1, dc-2, etc. Si te conectas a un clúster de Cassandra instalado Con Edge, puedes pedirle este valor al administrador del sistema de Edge. En un solo de Edge la instalación de un centro de datos, el valor predeterminado es dc-1.

Si instalaste Cassandra como parte de la instalación de las BaaS de la API, durante Cassandra agregaste el modificador “:dc,ra” a las direcciones IP de Cassandra. El primer valor "dc" es el número del centro de datos. El nombre del centro de datos es la cadena "dc-" con el número del centro de datos como sufijo.

BAAS_CASS_REPLICATION

El formato es “dataCenterName:#CassandraNodes”. Por ejemplo, para dc-1 con tres nodos Cassandra, es dc-1:3.

BAAS_USERGRID_URL

En un entorno de producción, se trata de la URL y el puerto del balanceador de cargas que se encuentra en frente de los nodos de la pila de BaaS de la API, con el siguiente formato:

http://myStackLoadBalancer:8443

En un entorno de pruebas o desarrollo, en el que solo tienes una única pila de BaaS de APIs , puede ser la URL y el número de puerto de un nodo de la pila de BaaS de la API, con el siguiente formato:

http://stackIPorDNS:8080

El número de puerto para el servidor de la pila BaaS de la API es 8080.

BAAS_PORTAL_URL

La URL y el número de puerto del balanceador de cargas, si hay uno frente al portal En el formulario

http://myPortalLoadBalancer:8443

Si no hay un balanceador de cargas, la URL y el número de puerto del nodo del portal, en la formulario:

http://portalIPorDNS:9000

De forma predeterminada, el número de puerto del portal de BaaS de la API es 9000.

BAAS_PORTAL_LISTEN_PORT

El número de puerto del servidor del portal de BaaS de la API es 9000. Si este puerto no está disponible, especificar un puerto diferente.

Si configuras BAAS_PORTAL_URL para la URL de la Nodo del portal, los números de puerto deben ser los mismos para ambas propiedades.

Opcional: instala Cassandra: Machine 8, 9 y (10)

Si bien puedes conectar las BaaS de las APIs al mismo clúster de Cassandra que usa Edge, Apigee recomienda que uses clústeres separados.

El clúster de Cassandra puede usar la autenticación o se puede inhabilitar la autenticación de Cassandra. Consulta Habilitar la autenticación de Cassandra para más.

  1. Instala la utilidad apigee-setup de Edge en el nodo a través del por Internet o por otro. Consulta Instala la utilidad de Apigee-setup de Edge para obtener más.
  2. En el símbolo del sistema, ejecuta la secuencia de comandos de configuración:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    La opción “-p c” especifica la instalación de Cassandra.
    El archivo de configuración debe ser accesible y legible por el “Apigee” usuario.

La configuración completa correctamente la configuración del almacén de datos en el nodo.

Ten en cuenta que JMX está habilitado de forma predeterminada para Cassandra. El acceso remoto JMX a Cassandra no requieren una contraseña. Puedes configurar Cassandra para que use la autenticación para JMX. Para obtener más información, consulta Cómo supervisar.

Configura un trabajo cron de Cassandra

Configura un trabajo cron que use nodetool para vaciar los bloqueos cada hora en cada nodo de Cassandra.

Si tienes varios nodos Cassandra, compensa el trabajo cron en cada servidor cinco minutos para para que no todos los nodos se vacíen al mismo tiempo.

El trabajo cron debe ejecutar el siguiente comando:

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

en la que IP_address es la dirección IP del nodo de Cassandra.

Instala ElasticSearch: Machine 1, 2 y 3

Para instalar ElasticSearch, sigue estos pasos:

  1. Instala la utilidad de Apigee-setup de Edge en el nodo a través de Internet o sin Internet procedimiento. Consulta Instala el entorno de Apigee-setup de Edge utilitario para obtener más información.
  2. En el símbolo del sistema, ejecuta la secuencia de comandos de configuración:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    La opción “-p e” especifica la instalación de ElasticSearch.
    El archivo de configuración debe ser accesible y legible por el “Apigee” usuario.
  3. (Opcional) Si instalas ElasticSearch en un nodo independiente, lo que significa que no está instalado con una pila BaaS de APIs y, luego, ajustas la opción de memoria predeterminada para aumentar la memoria asignada a ElasticSearch de 4 GB a 6 GB:
    1. Abra /opt/apigee/customer/application/elasticsearch.properties. en un editor. Si este archivo no existe, créalo.
    2. Establece el valor setenv_elasticsearch_max_mem_size propiedad en 6g (el valor predeterminado es 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Guarda el archivo.
    4. Ejecuta el siguiente comando:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch a reiniciar

La configuración completa correctamente la configuración en el nodo.

Instala la pila de BaaS de APIs: máquinas 4, 5 y 6

Para instalar la pila de BaaS de la API, sigue estos pasos:

  1. Instala la utilidad de Apigee-setup de Edge en el nodo a través de Internet o sin Internet procedimiento. Consulta Instala el entorno de Apigee-setup de Edge utilitario para obtener más información.
  2. En el símbolo del sistema, ejecuta la secuencia de comandos de configuración:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    La opción “-p b” especifica la instalación de la pila BaaS de la API.
    El archivo de configuración debe ser accesible y legible por el “Apigee” usuario.

Una vez que el instalador recupera las credenciales de administrador correctas, instala Tomcat, crea una API Espacios de claves BaaS y, luego, configura la pila de BaaS de la API en el servidor. SMTP también está configurado para permitir la IU para enviar correos electrónicos de confirmación de contraseña.

Instala el portal de BaaS de APIs: máquina 7

Para instalar el Portal de BaaS de APIs, haz lo siguiente:

  1. Instala la utilidad de Apigee-setup de Edge en el nodo a través de Internet o sin Internet procedimiento. Consulta Instala el entorno de Apigee-setup de Edge utilitario para obtener más información.
  2. En el símbolo del sistema, ejecuta la secuencia de comandos de configuración:
    > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    La opción “-p p” especifica la instalación del portal de BaaS de APIs.
    El archivo de configuración debe ser accesible y legible por el “Apigee” usuario.

El instalador inicia el servidor web Nginx y, luego, finaliza el portal de API BaaS. configuración.

Toma nota de la URL del portal de BaaS de la API. Esta es la URL que se ingresa en el navegador para acceder a la Interfaz de usuario del portal de BaaS de la API.

Configura nodos de BaaS de la API para una pila o balanceador de cargas del portal

Si incluyes un balanceador de cargas frente a los nodos de la pila o del portal, debes configurar los nodos con la URL correcta del balanceador de cargas. Por ejemplo, los nodos de pila requieren esta cuando sucede lo siguiente:

  • Incluir una URL en las respuestas de las solicitudes a la API de BaaS.
  • Agregar vínculos en las plantillas de correo electrónico cuando restablezcas una contraseña o envíes otro notificaciones.
  • Redireccionar a los usuarios a páginas específicas del Portal

Si usas un balanceador de cargas frente a los nodos de pila, configura las siguientes propiedades en /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_swagger.basepath=http://localhost:8080
usergrid-deployment_usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate
usergrid-deployment_usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate
usergrid-deployment_usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw
usergrid-deployment_usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm
usergrid-deployment_usergrid.user.activation.url=http://localhost:8080/%s/%s/users/%s/activate
usergrid-deployment_usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm
usergrid-deployment_usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw

Reemplaza http://localhost:8080 por la URL de la carga. del balanceador de cargas. Si el balanceador de cargas está configurado para usar TLS, usa el protocolo HTTPS. Solo debes deberás incluir el puerto si usas un puerto no estándar, es decir, 80 para HTTP y el puerto 443 para HTTPS.

También debe configurar la siguiente propiedad en /opt/apigee/customer/application/portal.properties si se usa un balanceador de cargas frente a los nodos de pila:

baas.portal.config.overrideUrl=http://localhost:8080

Reemplaza http://localhost:8080 por la URL de de cargas HTTP(S) para la pila.

Si usas un balanceador de cargas frente al nodo del portal, configura las siguientes propiedades en usergrid.properties:

usergrid-deployment_usergrid.view.management.organizations.organization.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.organizations.organization.confirm=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.confirm=http://localhost:9000

Reemplaza http://localhost:9000 por la URL de balanceador de cargas HTTP(S) global externo. Si el balanceador de cargas está configurado para usar TLS, usa el protocolo HTTPS. Tú solo necesitarás incluir el puerto si estás usando un puerto no estándar, es decir, el puerto 80 para HTTP y el puerto 443 para HTTPS.

Después de editar usergrid.properties y portal.properties, haz lo siguiente:

  1. Configura el nodo de pila:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configure
  2. Implementa los cambios en Tomcat:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy
  3. Reinicia la pila de BaaS:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid restart
  4. Si modificaste portal.properties, configura el nodo del portal:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal configure
  5. Implementa los cambios:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy
  6. Reinicia el portal de BaaS:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal restart

Incorporación de una organización nueva

La integración es el proceso de crear una organización y un administrador de la organización. Después del creando la organización y el administrador de la organización, puedes acceder al Portal de BaaS de APIs IU y solicitudes a la API de REST de BaaS de la API.

Cuando creas una organización, la dirección de correo electrónico del administrador de la organización hace lo siguiente:

  • Debe ser diferente de la dirección de correo electrónico del administrador del sistema.
  • Debe ser único entre todas las demás organizaciones. Es decir, no puedes crear dos organizaciones con la misma dirección de correo electrónico del administrador de la organización. Sin embargo, después de crear el puedes agregar administradores adicionales que se puedan duplicar en varios organizaciones.

Para realizar la integración, usa la secuencia de comandos de Python create_org_and_user.py. Si invocas esta secuencia de comandos sin argumentos de línea de comandos, se te solicitará información:

> python create_org_and_user.py

De manera alternativa, puedes pasar una o todas las opciones como argumento de la línea de comandos. Se te indicará cualquier información que se omita en la línea de comandos:

> python create_org_and_user.py -o '<org name>'
> python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

Para crear una organización, sigue estos pasos:

  1. Cambia el directorio a /opt/apigee/baas-usergrid/bin.
  2. Invoca la secuencia de comandos create_org_and_user.py de Python.
    Se te solicita el nombre de usuario y la contraseña del administrador del sistema BaaS para que solo un usuario administrador puede ejecutarla.
  3. Accede al portal de BaaS de la API en un navegador web con la URL que anotaste al final de la Instalación de la URL del portal de BaaS de la API Para acceder al portal, ingresa la URL del portal de BaaS de la API en el formulario:
    http://{portalExternalIP}:9000/

    Nota: La IP es la dirección IP externa o el nombre de host de la máquina del portal. Asegúrate de que de que ese puerto esté abierto.
  4. Cuando aparece la pantalla de acceso del portal, puedes hacer lo siguiente:
    • Accede con el nombre de usuario y la contraseña del administrador de la organización.
    • Accede con el nombre de usuario y la contraseña del administrador del sistema.

Accede a la API de REST de BaaS de la API

Para acceder a la API de REST de BaaS de la API, usa una URL en el formato siguiente:

https://{loadBalancerIP}:8080/{your-org}/{your-app}

En un entorno de desarrollo, puedes instalar todos los componentes de la API BaaS en un solo nodo, lo que significa que tienes una sola pila BaaS de la API. O puedes tener un entorno pequeño con una sola Nodo de pila de la API de BaaS y sin balanceador de cargas. En este tipo de entornos, puedes realizar llamadas a la API directamente al nodo de la pila de BaaS de la API:

curl -v "http://portalExternalIP:8080/status"

Si deseas obtener más información para comenzar a usar el portal de BaaS de APIs, consulta la documentación de Apigee en: http://apigee.com/docs/content/build-apps-home.