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:
- https://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
- https://www.owasp.org/index.php/Securing_tomcat
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 |
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: 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: |
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.
- 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.
- 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:
- Installieren Sie das Edge-Apigee-Setup-Dienstprogramm über das Internet oder nicht Internet auf dem Knoten Verfahren. Siehe Installieren des Edge-Apigee-Setups .
- 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. - (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>
- Öffnen Sie /opt/apigee/customer/application/elasticsearch.properties. in einem Editor. Falls diese Datei nicht vorhanden ist, erstellen Sie sie.
- Legen Sie setenv_elasticsearch_max_mem_size fest.
auf 6g (Standardeinstellung ist 4g):
setenv_elasticsearch_max_mem_size=6g - Speichern Sie die Datei.
- Führen Sie den folgenden Befehl aus:
> /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:
- Installieren Sie das Edge-Apigee-Setup-Dienstprogramm über das Internet oder nicht Internet auf dem Knoten Verfahren. Siehe Installieren des Edge-Apigee-Setups .
- Führen Sie in der Eingabeaufforderung das Setupskript aus:
> /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:
- Installieren Sie das Edge-Apigee-Setup-Dienstprogramm über das Internet oder nicht Internet auf dem Knoten Verfahren. Siehe Installieren des Edge-Apigee-Setups .
- Führen Sie in der Eingabeaufforderung das Setupskript aus:
> /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:
- Konfigurieren Sie den Stackknoten:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergridconfigure - Stellen Sie die Änderungen in Tomcat bereit:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy - BaaS-Stack neu starten:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid neustart - Wenn Sie portal.properties geändert haben, konfigurieren Sie Folgendes:
dem Portalknoten:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portalconfigure - Stellen Sie die Änderungen bereit:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy - BaaS-Portal neu starten:
> /<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:
- Ändern Sie das Verzeichnis in /opt/apigee/baas-usergrid/bin.
- 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. - 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. - 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.