Installation BaaS de l'API

Edge pour Private Cloud version 4.16.09

Utiliser un équilibreur de charge

Une installation de production d'API BaaS utilise un équilibreur de charge entre le nœud du portail d'API BaaS et de la pile d'API BaaS. Lors de la configuration du portail, vous spécifiez l'adresse IP ou le nom DNS de l'équilibreur de charge, et non des nœuds de pile.

Au lieu d'un équilibreur de charge, vous pouvez utiliser un DNS à répétition alternée. Dans ce scénario, vous créer une entrée DNS avec plusieurs enregistrements A correspondant aux adresses IP de la pile BaaS. Pendant un DNS recherche, le serveur DNS renvoie automatiquement les valeurs d’enregistrement A à tour de rôle.

Connexion à Cassandra

Lors de l’installation de BaaS, vous pouvez choisir de connecter BaaS et Edge au même cluster Cassandra, ou créer un cluster Cassandra distinct pour BaaS. Les installations BaaS plus petites, c'est-à-dire celles avec les volumes de trafic plus faibles, partagent souvent un cluster Cassandra avec Edge.

Pour le débit et la disponibilité élevés, ou pour séparer les clusters Cassandra en différents zones réseau, Apigee vous recommande d'utiliser des clusters Cassandra distincts. Séparer les clusters maximisent les performances si vous rencontrez des charges de trafic élevées sur BaaS.

Synchronisation des dates

La date et l'heure doivent être synchronisées sur tous les serveurs. Si ce n'est pas déjà configuré, L'utilitaire "ntpdate" permet de vérifier si les serveurs sont synchronisé. Vous pouvez utiliser "yum install ntp" pour installer l'utilitaire.

Sécurité Tomcat

Le programme d’installation BaaS de l’API installe également le serveur Apache Tomcat sur tous les nœuds de la pile API BaaS, y compris l'UI d'administrateur Tomcat. Le programme d'installation conserve les identifiants d'administrateur par défaut. est inchangée par rapport à admin:admin.

Si nécessaire, vous pouvez modifier ces identifiants pour sécuriser Tomcat. Pour plus consultez les articles suivants:

Présentation de l'installation

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

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

Transmettez un fichier de configuration à l'utilitaire apigee-setup qui contient le des informations sur l'installation. Si le fichier de configuration ne contient pas les informations, la configuration apigee-setup vous invite à le saisir dans la ligne de commande.

La seule condition requise est que le fichier de configuration doit être accessible ou lisible par "apigee" utilisateur.

Par exemple, utilisez la commande suivante pour installer la pile d'API BaaS:

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

L'utilitaire setup.sh Apigee accepte plusieurs options d'installation des composants API BaaS. Les instructions ci-dessous utilisent le des options autonomes (c, e, b et p), mais vous pouvez en utiliser différentes selon votre nœud. configuration:

Option

Description

e

Installez ElasticSearch uniquement.

b

Installer uniquement la pile API BaaS, qui installe également Tomcat

p

Installer uniquement le portail BaaS de l'API, qui installe également le routeur Nginx pour l'utiliser comme Google Cloud.

c

Installez Cassandra uniquement.

eb

Installez ElasticSearch, API BaaS Stack et Tomcat sur le nœud.

ebp

Installer ElasticSearch, API BaaS Portal, API BaaS Stack et Tomcat Le portail est si sans ressources supplémentaires.

Asa

Installez tous les composants de l'API sur un seul nœud (Cassandra, Elasticsearch, API BaaS Stack, et API BaaS Portal). N'utilisez cette option que pour le développement et les tests, et non pour en production.

Créer une configuration silencieuse fichier

Vous trouverez ci-dessous un exemple de fichier de configuration silencieuse pour une installation d'API BaaS à 10 nœuds. Modifier ce fichier si nécessaire pour votre configuration. Utilisez l'option -f pour setup.sh afin d'inclure ce fichier.

# 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

Le tableau suivant contient des informations supplémentaires sur ces propriétés:

Propriété

Remarque

CASS_HOSTS

Si vous installez Cassandra, indiquez les adresses IP des nœuds Cassandra (et non les noms DNS). utilisez le modificateur ":dc,ra" pour spécifier le centre de données et le rack Nœud Cassandra.

Par exemple, "192.168.124.201:1,1" = centre de données 1 et rack/zone de disponibilité 1, et '192.168.124.204:2,1 = centre de données 2 et rack/zone de disponibilité 1.

CASS_USERNAME
CASS_PASSWORD

Nom d'utilisateur et mot de passe Cassandra.

Même si l'authentification Cassandra est désactivée, vous devez quand même transmettre ces valeurs. Toutefois, les valeurs sont ignorées.

BAAS_CASS_LOCALDC

Les noms des régions doivent être au format dc-#, où # correspond à une valeur entière.

(par exemple, dc-1, dc-2, etc.). Si vous vous connectez à un cluster Cassandra installé avec Edge, vous pouvez demander cette valeur à l'administrateur système Edge. Dans un single Edge installation du centre de données, la valeur par défaut est dc-1.

Si vous avez installé Cassandra dans le cadre de l'installation de l'API BaaS, pendant Cassandra, vous avez ajouté le modificateur ":dc,ra" aux adresses IP de Cassandra. La première valeur "dc" est le numéro du centre de données. Le nom du centre de données correspond à la chaîne "dc-". en ajoutant le numéro du centre de données en suffixe.

BAAS_CASS_REPLICATION

Le format est "dataCenterName:#CassandraNodes". Par exemple, pour un débit dc-1 avec trois nœuds Cassandra, il s'agit de dc-1:3.

BAAS_USERGRID_URL

Dans un environnement de production, il s'agit de l'URL et du port de l'équilibreur de charge situé dans devant les nœuds de la pile BaaS d'API, sous la forme:

http://myStackLoadBalancer:8443

Dans un environnement de test ou de développement où vous ne disposez que d'une seule pile d'API BaaS il peut s'agir de l'URL et du numéro de port d'un nœud de pile BaaS d'API, au format suivant:

http://stackIPorDNS:8080

Le numéro de port du serveur de pile BaaS de l'API est 8080.

BAAS_PORTAL_URL

URL et numéro de port de l'équilibreur de charge (s'il y en a un devant le portail) sous la forme:

http://myPortalLoadBalancer:8443

En l'absence d'équilibreur de charge, l'URL et le numéro de port du nœud Portal, dans le formulaire:

http://portalIPorDNS:9000

Par défaut, le numéro de port du portail API BaaS est 9000.

BAAS_PORTAL_LISTEN_PORT

Le numéro de port du serveur de portail API BaaS est 9000. Si ce port n'est pas disponible, spécifiez un autre port.

Si vous définissez BAAS_PORTAL_URL sur l'URL du Nœud de portail, les numéros de port doivent être identiques pour les deux propriétés.

(Facultatif) Installer Cassandra: Machine 8, 9 et 10.

Bien que vous puissiez connecter l'API BaaS au même cluster Cassandra que celui utilisé par Edge, Apigee recommande d'utiliser des clusters distincts.

Le cluster Cassandra peut utiliser l'authentification, ou l'authentification Cassandra peut être désactivée. Voir Activer l'authentification Cassandra pour plus encore.

  1. Installez l'utilitaire Edge apigee-setup sur le nœud à l'aide du sur Internet ou hors Internet. Consultez la section Installer l'utilitaire de configuration Edge apigee pour plus encore.
  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 d'installer Cassandra.
    Le fichier de configuration doit être accessible ou lisible par "apigee" utilisateur.

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

Notez que JMX est activé par défaut pour Cassandra. L'accès à distance JMX à Cassandra ne fonctionne pas Exiger un mot de passe. Vous pouvez configurer Cassandra pour utiliser l'authentification pour JMX. Pour en savoir plus, consultez Surveiller

Configurer une tâche Cron Cassandra

Configurez une tâche Cron qui utilise nodetool pour vider les données en vue de l'exécution des verrous toutes les heures. sur chaque nœud Cassandra.

Si vous disposez de plusieurs nœuds Cassandra, décalez la tâche Cron sur chaque serveur de cinq minutes pour qu'elle que tous les nœuds ne sont pas vidés 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, procédez comme suit:

  1. Installer l'utilitaire Edge de configuration Apigee sur le nœud via Internet ou non procédure. Voir Installer Edge apigee-setup utilitaire.
  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 d'installer ElasticSearch.
    Le fichier de configuration doit être accessible ou lisible par "apigee" utilisateur.
  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, puis ajustez l'option de mémoire par défaut pour augmenter la mémoire allouée ElasticSearch de 4 Go à 6 Go: <ph type="x-smartling-placeholder">
      </ph>
    1. Ouvrez /opt/apigee/customer/application/elasticsearch.properties. dans un éditeur. Si ce fichier n'existe pas, créez-le.
    2. Définissez la valeur 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:
      &gt; /opt/apigee/apigee-service/bin/apigee-service redémarrer apigee-elasticsearch

La configuration aboutit sur le nœud.

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

Pour installer la pile d'API BaaS:

  1. Installer l'utilitaire Edge de configuration Apigee sur le nœud via Internet ou non procédure. Voir Installer Edge apigee-setup utilitaire.
  2. Dans l'invite de commande, exécutez le script de configuration:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

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

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

Installer le portail API BaaS: machine 7

Pour installer le portail API BaaS:

  1. Installer l'utilitaire Edge de configuration Apigee sur le nœud via Internet ou non procédure. Voir Installer Edge apigee-setup utilitaire.
  2. Dans l'invite de commande, exécutez le script de configuration:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

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

Le programme d'installation démarre le serveur Web Nginx, puis termine le portail BaaS de l'API. configuration.

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

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

Si vous incluez un équilibreur de charge devant les nœuds de la pile ou du portail, vous devez configurer les nœuds avec l'URL correcte de l'équilibreur de charge. Par exemple, les nœuds Stack exigent informations lorsque:

  • Inclure une URL dans les réponses aux 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 les notifications.
  • Rediriger les utilisateurs vers des pages spécifiques du portail.

Si vous utilisez un équilibreur de charge devant les nœuds de la pile, définissez les propriétés suivantes dans /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

Remplacez http://localhost:8080 par l'URL du chargement de votre équilibreur de charge. Si l'équilibreur de charge est configuré pour utiliser TLS, utilisez le protocole HTTPS. Vous uniquement Nécessité d'inclure le port 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 utilisez un équilibreur de charge devant les nœuds de la pile:

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

Remplacez http://localhost:8080 par l'URL du 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_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

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

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

  1. Configurez le nœud de pile:
    &gt; /<racine_inst_root>/apigee/apigee-service/bin/apigee-service configurer baas-usergrid
  2. Déployez les modifications dans Tomcat:
    &gt; /<racine_inst_root>/apigee/apigee-service/bin/apigee-service déploiement baas-usergrid
  3. Redémarrez la pile BaaS:
    &gt; /<racine_inst_root>/apigee/apigee-service/bin/apigee-service redémarrage baas-usergrid
  4. Si vous avez modifié portal.properties, configurez le nœud du portail:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service configurer le portail baas-portal
  5. Déployez les modifications:
    &gt; /<racine_inst>/apigee/apigee-service/bin/apigee-service déploiement baas-portal
  6. Redémarrez le portail BaaS:
    &gt; /<racine_inst_root>/apigee/apigee-service/bin/apigee-service redémarrage du portail baas-portal

Intégration d'une nouvelle organisation

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

Lorsque vous créez une entreprise, 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.
  • 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. Cependant, après avoir créé vous pouvez ajouter des administrateurs supplémentaires qui seront dupliqués dans plusieurs pour les entreprises.

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, il vous demandera 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 toute information 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 système administrateur peut 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 la Installation de l'URL du portail d'API BaaS Pour accéder au portail, saisissez l'URL du portail BaaS de l'API dans 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 ce port est ouvert.
  4. Lorsque l'écran de connexion au portail s'affiche, vous pouvez: <ph type="x-smartling-placeholder">
      </ph>
    • 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 BaaS REST

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 API BaaS sur un seul nœud, ce qui signifie que vous disposez d'une seule pile d'API BaaS. Ou bien, vous pourriez avoir 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 au nœud de la pile BaaS de l'API:

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

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