Installation BaaS de l'API

Edge for Private Cloud v4.18.01

Présentation de l'installation

Après avoir installé Edge l'utilitaire apigee-setup sur un nœud, utilisez-le pour installer un ou plusieurs composants BaaS sur le nœud.

L'utilitaire apigee-setup se présente sous la forme suivante:

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

Transmettez à l'utilitaire apigee-setup un fichier de configuration contenant les informations sur l'installation. S'il manque les informations requises dans le fichier de configuration, l'utilitaire apigee-setup vous invite à les saisir sur la ligne de commande.

La seule condition requise est que le fichier de configuration soit accessible ou lisible par l'utilisateur "apigee".

Par exemple, exécutez la commande suivante pour installer la pile BaaS de l'API:

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

Spécifier les composants à installer

L'utilitaire Apigee setup.sh prend en charge plusieurs options pour installer les composants d'API BaaS. Les instructions ci-dessous utilisent les options autonomes (c, e, b et p), mais vous pouvez utiliser différentes options en fonction de la configuration de votre nœud:

Option

Description

e

Installez uniquement ElasticSearch.

b

Installer uniquement la pile BaaS de l'API, qui installe également Tomcat.

p

N'installez que le portail BaaS de l'API, ce qui installe également le routeur Nginx en tant que serveur Web.

c

Installez Cassandra uniquement.

eb

Installez ElasticSearch, la pile BaaS de l'API et Tomcat sur le nœud.

ebp

Installez ElasticSearch, le portail BaaS de l'API, la pile d'API BaaS et Tomcat, mais pas Cassandra. Le portail est tellement léger qu'aucune ressource supplémentaire n'est nécessaire pour cela.

ASA

Installer tous les composants d'API BaaS sur un seul nœud (Cassandra, Elasticsearch, API BaaS Stack, portail BaaS de l'API, Tomcat) Utilisez cette option pour le développement et les tests uniquement, et non pour la production.

Créer un fichier de configuration

Le fichier de configuration contient toutes les informations nécessaires pour installer l'API BaaS. Vous pouvez souvent utiliser le même fichier de configuration pour installer tous les composants d'une installation BaaS.

Chaque topologie d'installation décrite ci-dessous montre un exemple de fichier de configuration pour cette topologie. Pour en savoir plus sur le fichier de configuration, consultez la documentation de référence sur le fichier de configuration BaaS.

Installer l'API BaaS sur un seul nœud

Vous trouverez ci-dessous le fichier de configuration permettant d'installer l'API BaaS sur un nœud unique. Modifiez ce fichier si nécessaire pour votre configuration. Pour en savoir plus sur le fichier de configuration, consultez la documentation de référence sur le fichier de configuration BaaS.

IP1=192.168.56.101   # IP address of single node

# 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=stackAdminPWord

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# 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 Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster. 
# For a single node install, specify the IP address of the node. 
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

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

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.  
BAAS_PORTAL_URL="http://$IP1: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
SMTPMAILFROM="My Company <myco@company.com>"

Pour installer l'API BaaS sur son propre nœud:

  1. Installez l'utilitaire Edge apigee-setup sur le nœud à l'aide de la procédure Internet ou autre. Pour plus d'informations, reportez-vous à la section Installer l'utilitaire de configuration d'Edge apigee-setup.
  2. Dans l'invite de commande, exécutez le script de configuration:
    > /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile

    L'option "-p asa" permet d'installer tous les composants API BaaS sur un seul nœud (Cassandra, Elasticsearch, API BaaS Stack, API BaaS, portail Tomcat).
    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".
  3. Comme vous avez installé ElasticSearch sur un nœud autonome, ajustez l'option de mémoire par défaut pour augmenter la mémoire allouée à ElasticSearch de 4 Go à 6 Go :
    1. Ouvrez /opt/apigee/customer/application/elasticsearch.properties dans un éditeur. Si ce fichier n'existe pas, créez-le.
    2. Définissez la propriété setenv_elasticsearch_max_mem_size sur 6g (la valeur par défaut est 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Enregistrez le fichier.
    4. Exécutez la commande suivante:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
  4. Intégrez une organisation comme décrit ci-dessous dans la section Intégrer une nouvelle organisation.

La configuration aboutit sur le nœud.

Installer l'API BaaS sur 7 ou 10 nœuds

La procédure d'installation d'une version à 7 ou 10 nœuds de l'API BaaS est très similaire. La seule différence est que pour:

  • Une installation à 10 nœuds : les trois composants ElasticSearch et les trois composants de la pile BaaS d'API sur des nœuds distincts, pour un total de six nœuds Il s'agit de la configuration recommandée pour obtenir des performances optimales, car ElasticSearch nécessite une grande quantité d'E/S et de mémoire disque.
  • Une installation à sept nœuds : les trois composants ElasticSearch et les trois composants de pile BaaS d'API sur les mêmes nœuds, pour un total de trois nœuds.

Pour les versions à 7 et 10 nœuds de l'API BaaS, vous devez vous connecter à un cluster Cassandra. Si vous avez déjà installé Edge, vous pouvez vous connecter à son cluster Cassandra. Vous n'avez donc pas besoin d'installer Cassandra dans le cadre de l'installation de l'API BaaS.

Vous trouverez ci-dessous un exemple de fichier de configuration silencieuse pour une installation d'API BaaS à 10 nœuds. Si vous installez les composants ElasticSearch et de la pile BaaS de l'API sur les trois mêmes nœuds, modifiez le fichier de la manière suivante:

  • Les adresses IP1 et IP4 sont définies sur la même adresse IP.
  • Les adresses IP2 et IP5 sont définies sur la même adresse IP.
  • Les adresses IP3 et IP6 sont définies sur la même adresse IP.

Modifiez ce fichier selon les besoins de votre configuration. Pour en savoir plus sur le fichier de configuration, consultez la documentation de référence sur le fichier de configuration BaaS.

# 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=stackAdminPWord

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# 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"

# Specify the Cassandra region.
REGION=dc-1

# 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.

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=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

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# 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
SMTPMAILFROM="My Company <myco@company.com>"

Facultatif - Installer Cassandra: machines 8, 9 et 10

Vous pouvez connecter l'API BaaS au même cluster Cassandra que celui utilisé par Edge. Si vous n'avez pas installé Edge, vous pouvez éventuellement installer Cassandra pour une utilisation par l'API BaaS.

Le cluster Cassandra peut utiliser l'authentification, ou celle-ci peut être désactivée. Pour en savoir plus, consultez la section Activer l'authentification Cassandra.

  1. Installez l'utilitaire Edge apigee-setup sur le nœud à l'aide de la procédure Internet ou non Internet. Pour plus d'informations, reportez-vous à la section Installer l'utilitaire de configuration d'Edge apigee-setup.
  2. Dans l'invite de commande, exécutez le script de configuration:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    L'option "-p c" indique comment installer Cassandra.
    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".

La configuration aboutit à celle du datastore sur le nœud.

Notez que JMX est activé par défaut pour Cassandra. L'accès à distance JMX à Cassandra ne nécessite aucun mot de passe. Vous pouvez configurer Cassandra de sorte qu'il utilise l'authentification pour JMX. Pour en savoir plus, consultez la section Comment surveiller.

Configurer une tâche Cron Cassandra

Si vous devez installer Cassandra, configurez une tâche Cron qui utilise nodetool pour vider les verrous de chaque heure sur chaque nœud Cassandra.

Si vous avez plusieurs nœuds Cassandra, décalez la tâche Cron sur chaque serveur de cinq minutes afin que tous les nœuds ne se vident pas en même temps.

La tâche Cron doit exécuter la commande suivante:

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

IP_address est l'adresse IP du nœud Cassandra.

Installer ElasticSearch : machines 1, 2 et 3

Pour installer ElasticSearch sur son propre nœud:

  1. Installez l'utilitaire de configuration Edge Apigee sur le nœud à l'aide de la procédure Internet ou non Internet. Reportez-vous à Installer l'utilitaire de configuration d'Edge apigee-setup pour en savoir plus.
  2. Dans l'invite de commande, exécutez le script de configuration:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    L'option "-p e" indique l'installation d'ElasticSearch.
    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".
  3. (Facultatif) Si vous installez ElasticSearch sur un nœud autonome (ce qui signifie qu'il n'est pas installé avec la pile d'API BaaS), ajustez l'option de mémoire par défaut pour augmenter la mémoire allouée à ElasticSearch de 4 Go à 6 Go :
    1. Ouvrez /opt/apigee/customer/application/elasticsearch.properties dans un éditeur. Si ce fichier n'existe pas, créez-le.
    2. Définissez la propriété setenv_elasticsearch_max_mem_size sur 6g (la valeur par défaut est 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Enregistrez le fichier.
    4. Exécutez la commande suivante:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart

La configuration aboutit sur le nœud.

Installer la pile BaaS de l'API : machines 4, 5 et 6

Pour installer la pile BaaS de l'API sur son propre nœud:

  1. Installez l'utilitaire de configuration Edge Apigee sur le nœud à l'aide de la procédure Internet ou non Internet. Reportez-vous à Installer l'utilitaire de configuration d'Edge apigee-setup pour en savoir plus.
  2. Dans l'invite de commande, exécutez le script de configuration:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    L'option "-p b" indique l'installation de la pile BaaS de l'API.
    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".

Une fois que le programme d'installation a récupéré les bons identifiants d'administrateur, il installe Tomcat, crée des espaces de clés BaaS de l'API et configure la pile d'API BaaS sur le serveur. SMTP est également configuré pour autoriser l'UI à envoyer des e-mails de confirmation de mot de passe.

Installer le portail BaaS de l'API: machine 7

Pour installer le portail BaaS de l'API:

  1. Installez l'utilitaire de configuration Edge Apigee sur le nœud à l'aide de la procédure Internet ou non Internet. Reportez-vous à Installer l'utilitaire de configuration d'Edge apigee-setup pour en savoir plus.
  2. Dans l'invite de commande, exécutez le script de configuration:
    > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    L'option "-p p" indique l'installation du portail BaaS de l'API.
    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".

    Le programme d'installation démarre le serveur Web Nginx, puis termine la configuration du portail BaaS de l'API.
  3. L'étape suivante dépend de votre installation.
    1. Si vous disposez d'un équilibreur de charge devant les nœuds de la pile ou du portail, la section suivante explique comment configurer les API BaaS pour les équilibreurs de charge.
    2. Si vous ne disposez pas d'un équilibreur de charge devant les nœuds Portal ou de la pile, intégrez une organisation comme décrit ci-dessous dans la section Intégrer une nouvelle organisation.

Notez l'URL du portail BaaS de l'API. Il s'agit de l'URL que vous saisissez dans un navigateur pour accéder à l'interface utilisateur du portail BaaS de l'API.

Configurer des nœuds BaaS d'API pour un équilibreur de charge de pile ou de portail

Si vous incluez un équilibreur de charge devant les nœuds de pile ou de portail, vous devez configurer les nœuds avec l'URL correcte de l'équilibreur de charge. Par exemple, les nœuds de pile ont besoin de cette information dans les cas suivants:

  • Inclure une URL dans les réponses des requêtes API BaaS
  • Ajouter des liens dans les modèles d'e-mail lors de la réinitialisation d'un mot de passe ou de l'envoi d'autres notifications
  • Redirection des utilisateurs vers des pages de portail spécifiques

Si vous utilisez un équilibreur de charge devant les nœuds de pile, définissez la propriété suivante dans /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

Remplacez http://localhost:8080 par l'URL de l'équilibreur de charge. Si l'équilibreur de charge est configuré pour utiliser TLS, utilisez le protocole HTTPS. Vous ne devez inclure le port que si vous utilisez un port non standard, c'est-à-dire autre que le port 80 pour HTTP et le port 443 pour HTTPS.

Vous devez également définir la propriété suivante dans /opt/apigee/customer/application/portal.properties si vous utilisez un équilibreur de charge devant les nœuds de pile:

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

Remplacez http://localhost:8080 par l'URL de l'équilibreur de charge pour la pile.

Si vous utilisez un équilibreur de charge devant le nœud de portail, définissez les propriétés suivantes dans usergrid.properties:

usergrid-deployment_portal.url=http://localhost:9000

Remplacez http://localhost:9000 par l'URL de l'équilibreur de charge. Si l'équilibreur de charge est configuré pour utiliser TLS, utilisez le protocole HTTPS. Vous ne devez inclure le port que si vous utilisez un port non standard, c'est-à-dire un port autre que le port 80 pour HTTP et le port 443 pour HTTPS.

Après avoir modifié usergrid.properties et portal.properties:

  1. Configurez le nœud de pile:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
  2. Redémarrez la pile BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart

    Remarque:Lorsque vous redémarrez des nœuds de pile BaaS, redémarrez-les dans l'ordre dans lequel ils sont répertoriés dans BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS répertorie au maximum deux des nœuds de pile. Après avoir redémarré ces deux nœuds dans l'ordre, vous pouvez redémarrer les nœuds restants dans n'importe quel ordre.

  3. Si vous avez modifié portal.properties, configurez le nœud de portail :
    > /opt/apigee/apigee-service/bin/apigee-service configurer le portail baas-portal
  4. Redémarrez le portail BaaS:
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal restart

Intégrer une nouvelle organisation

L'intégration est le processus de création d'une organisation et d'un administrateur de l'organisation. Après avoir créé l'organisation et l'administrateur de l'organisation, vous pouvez vous connecter à l'interface utilisateur du portail BaaS de l'API et envoyer des requêtes à l'API REST BaaS.

Lorsque vous créez une organisation, l'adresse e-mail de l'administrateur de l'organisation:

  • Elle doit être différente de l'adresse e-mail de l'administrateur système.
  • Il doit être unique parmi toutes les autres organisations. Autrement dit, vous ne pouvez pas créer deux organisations avec la même adresse e-mail pour l'administrateur de l'organisation. Toutefois, après avoir créé l'organisation, vous pouvez ajouter des administrateurs supplémentaires qui peuvent être dupliqués sur plusieurs organisations.

Pour effectuer l'intégration, utilisez le script Python create_org_and_user.py. Si vous appelez ce script sans argument de ligne de commande, vous êtes invité à saisir toutes les informations:

> python create_org_and_user.py

Vous pouvez également transmettre tout ou partie des options en tant qu'argument de ligne de commande. Vous êtes invité à saisir toutes les informations que vous omettez dans la ligne de commande:

> 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>'

Pour créer une organisation:

  1. Remplacez le répertoire par /opt/apigee/baas-usergrid/bin.
  2. Appelez le script Python create_org_and_user.py.
    Vous êtes invité à saisir le nom d'utilisateur et le mot de passe de l'administrateur système BaaS afin que seul un administrateur système puisse l'exécuter.
  3. Connectez-vous au portail BaaS de l'API dans un navigateur Web à l'aide de l'URL que vous avez notée à la fin de l'installation de l'URL du portail BaaS de l'API. Pour accéder au portail, saisissez l'URL du portail BaaS de l'API au format suivant:
    http://{portalExternalIP}:9000/

    Remarque: L'adresse IP correspond à l'adresse IP externe ou au nom d'hôte de la machine du portail. Assurez-vous que le port est ouvert.
  4. Lorsque l'écran de connexion au portail s'affiche, vous pouvez :
    • Connectez-vous à l'aide du nom d'utilisateur et du mot de passe de l'administrateur de l'organisation.
    • Connectez-vous à l'aide du nom d'utilisateur et du mot de passe de l'administrateur système.

Accéder à l'API REST BaaS

Pour accéder à l'API REST BaaS, utilisez une URL au format suivant:

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

Dans un environnement de développement, vous pouvez installer tous les composants BaaS d'API sur un seul nœud, ce qui signifie que vous disposez d'une seule pile d'API BaaS. Vous pouvez également disposer d'un petit environnement avec un seul nœud de pile BaaS d'API et aucun équilibreur de charge. Dans ces types d'environnements, vous pouvez effectuer des appels d'API directement vers le nœud de pile BaaS de l'API:

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

Pour plus d'informations sur la prise en main du portail BaaS d'API, consultez la documentation Apigee à l'adresse suivante : http://apigee.com/docs/content/build-apps-home.