API-BaaS-Installation

Edge for Private Cloud Version 4.16.09

Load-Balancer verwenden

Bei einer Produktionsinstallation von API BaaS wird ein Load-Balancer zwischen dem API-BaaS-Portalknoten verwendet und API-BaaS-Stack-Knoten. Bei der Konfiguration des Portals geben Sie die IP-Adresse oder den DNS-Namen der und nicht der Stack-Knoten.

Als Alternative zu einem Load-Balancer können Sie das Round-Robin-DNS verwenden. In diesem Szenario einen DNS-Eintrag mit mehreren A-Einträgen erstellen, die den IP-Adressen des BaaS-Stacks entsprechen. Während eines DNS gibt der DNS-Server die Werte für A-Einträge automatisch in zufälliger Reihenfolge zurück.

Verbindung mit Cassandra wird hergestellt

Bei der Installation von BaaS können Sie BaaS und Edge mit demselben Cassandra-Cluster verbinden. oder einen separaten Cassandra-Cluster für BaaS erstellen. Kleinere BaaS-Installationen, also solche mit geringeres Traffic-Volumen, teilen sich häufig einen Cassandra-Cluster mit Edge.

Für den hohen Durchsatz und die hohe Verfügbarkeit oder um Cassandra-Cluster in verschiedene Netzwerkzonen empfehlen, separate Cassandra-Cluster zu verwenden. Separate Cluster die Leistung zu maximieren, wenn Sie hohe Traffic-Lasten auf BaaS haben.

Datumssynchronisierung

Datum und Uhrzeit müssen auf allen Servern synchronisiert sein. Falls noch nicht konfiguriert, Das Dienstprogramm "ntpdate" könnte diesen Zweck erfüllen, das prüft, ob die Server synchronisiert. Sie können „yum install ntp“ verwenden, um das Dienstprogramm zu installieren.

Tomcat-Sicherheit

Das API-BaaS-Installationsprogramm installiert auch den Apache Tomcat-Server auf allen API-BaaS-Stack-Knoten. einschließlich der Tomcat-Administratorbenutzeroberfläche. Das Installationsprogramm behält die standardmäßigen Administratoranmeldedaten bei unverändert von „admin:admin“.

Bei Bedarf können Sie diese Anmeldedaten im Rahmen der Absicherung von Tomcat ändern. Weitere Informationen erhalten Sie unter:

Installation

Nachdem Sie Edge das Dienstprogramm apigee-setup auf einem Knoten installiert haben, um eine oder mehrere BaaS-Komponenten auf dem Knoten zu installieren. Das Dienstprogramm apigee-setup hat die Form:

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

Übergeben Sie eine Konfigurationsdatei an das Dienstprogramm apigee-setup, das die Informationen zur Installation. Wenn in der Konfigurationsdatei erforderliche Informationen, das Apigee-Setup werden Sie aufgefordert, sie in die Befehlszeile einzugeben.

Die einzige Anforderung besteht darin, dass die Konfigurationsdatei für den Nutzer „Apigee“ Nutzer.

Verwenden Sie beispielsweise den folgenden Befehl, um den API-BaaS-Stack zu installieren:

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

Das Apigee-Dienstprogramm setup.sh unterstützt verschiedene Optionen zum Installieren von API-BaaS-Komponenten. In der folgenden Anleitung wird die Methode eigenständige Optionen (c, e, b und p), aber Sie können je nach Knoten unterschiedliche Optionen verwenden. Konfiguration:

Option

Beschreibung

e

Nur ElasticSearch installieren.

b

Nur API BaaS Stack installieren, wodurch auch Tomcat installiert wird.

p

Nur API BaaS-Portal installieren, wodurch auch der Nginx-Router zur Verwendung als Web installiert wird Server.

c

Installieren Sie nur Cassandra.

eb

Installieren Sie ElasticSearch, API BaaS Stack und Tomcat auf dem Knoten.

ebp

ElasticSearch, API BaaS Portal, API BaaS Stack und Tomcat installieren Das Portal ist so Es werden keine zusätzlichen Ressourcen benötigt.

Asa

Installieren Sie alle API-Komponenten auf einem einzigen Knoten (Cassandra, Elasticsearch, API BaaS Stack, und API BaaS Portal). Verwenden Sie diese Option nur für Entwicklungs- und Testzwecke, nicht für für die Produktion.

Konfiguration im Hintergrund erstellen Datei

Unten sehen Sie ein Beispiel für eine Konfigurationsdatei im Hintergrund für eine API-BaaS-Installation mit 10 Knoten. Bearbeiten nach Bedarf für Ihre Konfiguration. Verwenden Sie die Option „-f“ für setup.sh, um diese Datei einzubeziehen.

# 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

Die folgende Tabelle enthält zusätzliche Informationen zu diesen Eigenschaften:

Attribut

Hinweis

CASS_HOSTS

Wenn Sie Cassandra installieren, geben Sie die IP-Adressen des Cassandra-Knotens (nicht DNS-Namen) an und den Modifikator „:dc,ra“ enthalten, der das Rechenzentrum und das Rack des Cassandra-Knoten.

Beispiel: '192.168.124.201:1,1 = Rechenzentrum 1 und Rack/Verfügbarkeitszone 1 und '192.168.124.204:2,1 = Rechenzentrum 2 und Rack-/Verfügbarkeitszone 1.

CASS_USERNAME
CASS_PASSWORD

Cassandra-Nutzername und -Passwort.

Auch wenn die Cassandra-Authentifizierung deaktiviert ist, müssen diese Werte übergeben werden. Sie können jedoch werden die Werte ignoriert.

BAAS_CASS_LOCALDC

Die Regionsnamen müssen das Format dc-# haben, wobei # einem ganzzahligen Wert entspricht.

Zum Beispiel dc-1, dc-2 usw. Wenn Sie eine Verbindung zu einem installierten Cassandra-Cluster herstellen mit Edge können Sie den Edge-Systemadministrator um diesen Wert bitten. In einem Edge-Single Rechenzentrumsinstallation verwendet, ist der Standardwert dc-1.

Wenn Sie Cassandra im Rahmen der API-BaaS-Installation installiert haben, kann dies während der Cassandra-Installation haben Sie den Cassandra-IP-Adressen den Modifikator „:dc,ra“ hinzugefügt. Der erste Wert „dc“ ist die Nummer des Rechenzentrums. Der Name des Rechenzentrums ist die Zeichenfolge „dc-“ mit der Rechenzentrumsnummer als Suffix.

BAAS_CASS_REPLICATION

Das Format ist dataCenterName:#CassandraNodes. Beispiel: Für dc-1 mit drei Cassandra-Knoten ist es dc-1:3.

BAAS_USERGRID_URL

In einer Produktionsumgebung sind dies die URL und der Port des Load-Balancers in vor den API-BaaS-Stack-Knoten in der Form:

http://myStackLoadBalancer:8443.

In einer Test- oder Entwicklungsumgebung, in der Sie nur einen API-BaaS-Stack haben -Knoten ist, kann dies die URL und die Portnummer eines API-BaaS-Stack-Knotens im folgenden Format sein:

http://stackIPorDNS:8080

Die Portnummer für den BaaS-Stack-Server des APIs ist 8080.

BAAS_PORTAL_URL

Die URL und die Portnummer des Load-Balancers, falls sich diese vor dem Portal befinden, im Format:

http://myPortalLoadBalancer:8443

Ist kein Load-Balancer vorhanden, werden die URL und die Portnummer des Portalknotens im Feld Formular:

http://portalIPorDNS:9000

Standardmäßig lautet die Portnummer für das BaaS-Portal für das API 9000.

BAAS_PORTAL_LISTEN_PORT

Die Portnummer für den BaaS-Portal-Server des APIs lautet 9000. Wenn dieser Anschluss nicht verfügbar ist, geben Sie einen anderen Port an.

Wenn Sie BAAS_PORTAL_URL auf die URL des Portalknoten müssen die Portnummern für beide Attribute identisch sein.

Optional – Cassandra installieren: Machine 8, 9 und 10

Sie können API-BaaS zwar mit demselben Cassandra-Cluster verbinden, der auch von Edge verwendet wird, empfiehlt die Verwendung separater Cluster.

Der Cassandra-Cluster kann eine Authentifizierung verwenden oder die Cassandra-Authentifizierung kann deaktiviert werden. Weitere Informationen finden Sie unter Cassandra-Authentifizierung aktivieren für mehr.

  1. Installieren Sie das Edge-Dienstprogramm apigee-setup auf dem Knoten mithilfe der Verfahren außerhalb des Internets. Siehe Installieren des Edge-Apigee-Setup-Dienstprogramms für mehr.
  2. Führen Sie in der Eingabeaufforderung das Setupskript aus:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    Die Option „-p c“ gibt an, dass Cassandra installiert werden soll.
    Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer.

Mit der Konfiguration wird die Datenspeichereinrichtung auf dem Knoten erfolgreich abgeschlossen.

Beachten Sie, dass JMX für Cassandra standardmäßig aktiviert ist. Der JMX-Remotezugriff auf Cassandra funktioniert nicht erfordern ein Passwort. Sie können Cassandra für die Verwendung der Authentifizierung für JMX konfigurieren. Weitere Informationen finden Sie unter Anleitung zum Überwachen.

Cassandra-Cronjob einrichten

Cronjob einrichten, der nodetool zum Leeren von Sperren verwendet, die jede Stunde ausgeführt werden auf jedem Cassandra-Knoten.

Wenn Sie mehrere Cassandra-Knoten haben, verschieben Sie den Cronjob auf jedem Server um fünf Minuten, damit nicht alle Knoten gleichzeitig geleert werden.

Der Cronjob muss den folgenden Befehl ausführen:

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

Dabei ist IP_address die IP-Adresse des Cassandra-Knotens.

ElasticSearch installieren: Maschine 1, 2 und 3

So installieren Sie ElasticSearch:

  1. Installieren Sie das Edge-Apigee-Setup-Dienstprogramm über das Internet oder nicht Internet auf dem Knoten Verfahren. Siehe Installieren des Edge-Apigee-Setups .
  2. Führen Sie in der Eingabeaufforderung das Setupskript aus:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    Die Option „-p e“ gibt an, dass ElasticSearch installiert werden soll.
    Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer.
  3. (Optional) Wenn Sie ElasticSearch auf einem eigenständigen Knoten installieren, also nicht installiert mit dem API-BaaS-Stack und passen Sie dann die Standardspeicheroption an, um den Speicher für ElasticSearch von 4 GB auf 6 GB: <ph type="x-smartling-placeholder">
      </ph>
    1. Öffnen Sie /opt/apigee/customer/application/elasticsearch.properties. in einem Editor. Falls diese Datei nicht vorhanden ist, erstellen Sie sie.
    2. Legen Sie setenv_elasticsearch_max_mem_size fest. auf 6g (Standardeinstellung ist 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Speichern Sie die Datei.
    4. Führen Sie den folgenden Befehl aus:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch Neustart

Mit der Konfiguration wird die Einrichtung auf dem Knoten erfolgreich abgeschlossen.

API-BaaS-Stack installieren: Maschine 4, 5 und 6

So installieren Sie den API-BaaS-Stack:

  1. Installieren Sie das Edge-Apigee-Setup-Dienstprogramm über das Internet oder nicht Internet auf dem Knoten Verfahren. Siehe Installieren des Edge-Apigee-Setups .
  2. Führen Sie in der Eingabeaufforderung das Setupskript aus:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    Die Option „-p b“ gibt an, dass der API-BaaS-Stack installiert werden soll.
    Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer.

Nachdem das Installationsprogramm die korrekten Admin-Anmeldedaten abgerufen hat, installiert es Tomcat und erstellt die API BaaS-Schlüsselbereiche und richtet den API-BaaS-Stack auf dem Server ein. SMTP ist außerdem so konfiguriert, dass um E-Mails zur Passwortbestätigung zu senden.

API BaaS-Portal installieren: Maschine 7

So installieren Sie das API BaaS-Portal:

  1. Installieren Sie das Edge-Apigee-Setup-Dienstprogramm über das Internet oder nicht Internet auf dem Knoten Verfahren. Siehe Installieren des Edge-Apigee-Setups .
  2. Führen Sie in der Eingabeaufforderung das Setupskript aus:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    Die Option „-p p“ gibt an, dass das API BaaS-Portal installiert werden soll.
    Die Konfigurationsdatei muss vom „Apigee“ zugänglich oder lesbar sein Nutzer.

Das Installationsprogramm startet den Nginx-Webserver und beendet dann das API-BaaS-Portal Konfiguration.

Notieren Sie sich die URL des API-BaaS-Portals. Dies ist die URL, die Sie in einen Browser eingeben, um auf die Benutzeroberfläche des BaaS-Portals des API

API-BaaS-Knoten für einen Stack konfigurieren oder Portal Load Balancer

Wenn Sie vor den Stack- oder Portalknoten ein Lastenausgleichsmodul einfügen, müssen Sie mit der richtigen URL des Load-Balancers. Für Stackknoten ist z. B. Folgendes erforderlich: Informationen in folgenden Fällen:

  • Einfügen einer URL in Antworten in BaaS API-Anfragen.
  • Links in E-Mail-Vorlagen hinzufügen, wenn Sie ein Passwort zurücksetzen oder andere Benachrichtigungen.
  • Weiterleitung von Nutzern zu bestimmten Portalseiten

Wenn Sie einen Load-Balancer vor den Stack-Knoten verwenden, legen Sie die folgenden Attribute in /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

Ersetzen Sie http://localhost:8080 durch die URL des Ladevorgangs. aus. Wenn der Load-Balancer für die Verwendung von TLS konfiguriert ist, verwenden Sie das HTTPS-Protokoll. Nur für Sie müssen Sie den Port angeben, wenn Sie einen nicht standardmäßigen Port verwenden, d. h. ein anderer Port. 80 für HTTP und Port 443 für HTTPS.

Außerdem müssen Sie die folgende Eigenschaft in /opt/apigee/customer/application/portal.properties festlegen, wenn verwenden Sie einen Load-Balancer vor den Stack-Knoten:

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

Ersetzen Sie http://localhost:8080 durch die URL des Load Balancer für den Stack.

Wenn Sie einen Load-Balancer vor dem Portalknoten verwenden, legen Sie die folgenden Attribute fest: in 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

Ersetzen Sie http://localhost:9000 durch die URL des Load-Balancer. Wenn der Load-Balancer für die Verwendung von TLS konfiguriert ist, verwenden Sie das HTTPS-Protokoll. Ich Sie müssen den Port nur angeben, wenn Sie einen nicht standardmäßigen Port verwenden, d. h. einen anderen Port 80 für HTTP und Port 443 für HTTPS.

Nach der Bearbeitung von usergrid.properties und portal.properties:

  1. Konfigurieren Sie den Stackknoten:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergridconfigure
  2. Stellen Sie die Änderungen in Tomcat bereit:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy
  3. BaaS-Stack neu starten:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid neustart
  4. Wenn Sie portal.properties geändert haben, konfigurieren Sie Folgendes: dem Portalknoten:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portalconfigure
  5. Stellen Sie die Änderungen bereit:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy
  6. BaaS-Portal neu starten:
    &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal neustart

Neue Organisation aufnehmen

Onboarding ist der Prozess, bei dem Sie einen Organisations- und Organisationsadministrator erstellen. Nachher Wenn Sie den Organisations- und Organisationsadministrator erstellen, können Sie sich im API BaaS-Portal anmelden. Benutzeroberfläche und stellen Anfragen an die API BaaS REST API.

Wenn Sie eine Organisation erstellen, gilt für die E-Mail-Adresse des Organisationsadministrators Folgendes:

  • Muss sich von der E-Mail-Adresse des Systemadministrators unterscheiden.
  • Darf unter allen anderen Organisationen nur einmal vorkommen. Das heißt, Sie können nicht zwei Organisationen erstellen, mit derselben E-Mail-Adresse für den Organisationsadministrator. Nach dem Erstellen des Organisation hinzufügen, können Sie weitere Administratoren hinzufügen, die über mehrere Unternehmen.

Verwenden Sie für das Onboarding das Python-Skript create_org_and_user.py. Wenn Sie dieses Skript ohne Befehlszeilenargumente aufrufen, werden Sie zur Eingabe aller Informationen:

> python create_org_and_user.py

Alternativ können Sie eine oder alle Optionen als Befehlszeilenargument übergeben. Sie werden aufgefordert, alle Informationen aus, die Sie in der Befehlszeile weglassen:

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

So erstellen Sie eine Organisation:

  1. Ändern Sie das Verzeichnis in /opt/apigee/baas-usergrid/bin.
  2. Rufen Sie das Python-Skript create_org_and_user.py auf.
    Sie werden aufgefordert, den Nutzernamen und das Passwort des BaaS-Systemadministrators einzugeben, sodass nur ein Systemadministrator kann es von einem Administrator ausgeführt werden.
  3. Melden Sie sich in einem Webbrowser im API BaaS-Portal mit der URL an, die Sie am Ende der Installation der BaaS-Portal-URL der API. Um auf das Portal zuzugreifen, geben Sie die API-BaaS-Portal-URL ein in das Formular:
    http://{portalExternalIP}:9000/

    Hinweis: Die IP ist die externe IP-Adresse bzw. der Hostname der Portalmaschine. Sicherstellen, dieser Port offen ist.
  4. Wenn der Anmeldebildschirm des Portals angezeigt wird, haben Sie folgende Möglichkeiten: <ph type="x-smartling-placeholder">
      </ph>
    • Melden Sie sich mit dem Nutzernamen und Passwort des Organisationsadministrators an.
    • Melden Sie sich mit dem Nutzernamen und Passwort des Administratoradministrators an.

Auf die BaaS REST API der API zugreifen

Für den Zugriff auf die API BaaS REST API verwenden Sie eine URL im folgenden Format:

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

In einer Entwicklungsumgebung können Sie alle API-BaaS-Komponenten auf einem einzigen Knoten installieren, Sie haben also nur einen API-BaaS-Stack. Oder Sie haben eine kleine Umgebung mit einem einzigen API-BaaS-Stack-Knoten und kein Load-Balancer. In solchen Umgebungen können Sie API-Aufrufe direkt zum BaaS-Stack-Knoten des APIs:

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

Weitere Informationen zu den ersten Schritten mit dem API BaaS-Portal finden Sie in der Apigee-Dokumentation unter: http://apigee.com/docs/content/build-apps-home.