Voraussetzungen für die Installation

Edge for Private Cloud v. 4.17.01

Hardware Requirements

Sie müssen die folgenden Mindestanforderungen an die Hardware für eine hochverfügbare Infrastruktur in einer produktionsreifen Umgebung erfüllen. Für alle unter Installationstopologien beschriebenen Installationsszenarien sind in den folgenden Tabellen die Mindesthardwareanforderungen für die Installationskomponenten aufgeführt.

In diesen Tabellen sind die Festplattenanforderungen zusätzlich zu dem vom Betriebssystem benötigten Speicherplatz aufgeführt. Je nach Anwendungen und Netzwerkverkehr sind für Ihre Installation möglicherweise mehr oder weniger Ressourcen als unten aufgeführt erforderlich.

Installationskomponente

RAM

CPU

Mindestfestplattenspeicher

Cassandra

16 GB

8-Core

250 GB lokaler Speicher mit SSD oder schneller HDD, die 2.000 IOPS unterstützt

Message Processor/Router auf demselben Computer

8/16 GB

4‑Core†

100 GB

Analytics – Postgres/Qpid auf demselben Server (nicht für die Produktion empfohlen)

16 GB*

8-Core*

500 GB bis 1 TB** Netzwerkspeicher***, vorzugsweise mit SSD-Backend, der 1.000 IOPS oder mehr unterstützt*.

Analytics – Postgres eigenständig

16 GB*

8-Core*

500 GB bis 1 TB** Netzwerkspeicher***, vorzugsweise mit SSD-Backend, der 1.000 IOPS oder mehr unterstützt*.

Analytics – Qpid eigenständig

8 GB

4-Core

30–50 GB lokaler Speicher mit SSD oder schneller HDD

Für Installationen mit mehr als 250 TPS wird eine HDD mit lokalem Speicher empfohlen, der 1.000 IOPS unterstützt.

Die Standardgröße der Qpid-Warteschlange beträgt 20 GB. Wenn Sie mehr Kapazität benötigen, fügen Sie zusätzliche Qpid-Knoten hinzu.

Sonstiges (OpenLDAP, UI, Management Server)

4 GB

2-Core

60 GB

† Passen Sie die Systemanforderungen für den Message Processor basierend auf dem Durchsatz an:

Die Mindestempfehlung ist 4 Kerne und 8 Kerne für ein System mit hohem Durchsatz. Sie können Leistungstests durchführen, um die optimale Größe für Ihre APIs zu ermitteln.

*Passen Sie die Postgres-Systemanforderungen basierend auf dem Durchsatz an:

  • Weniger als 250 TPS: 8 GB, 4 Kerne können mit verwaltetem Netzwerkspeicher*** in Betracht gezogen werden, der 1.000 IOPS oder mehr unterstützt
  • Mehr als 250 TPS: 16 GB, 8 Kerne, verwalteter Netzwerkspeicher*** mit mindestens 1.000 IOPS
  • Mehr als 1.000 TPS: 16 GB, 8 Kerne, verwalteter Netzwerkspeicher*** mit mindestens 2.000 IOPS
  • Mehr als 2.000 TPS: 32 GB, 16 Kerne, verwalteter Netzwerkspeicher***, der 2.000 IOPS oder mehr unterstützt
  • Mehr als 4.000 TPS: 64 GB, 32 Kerne, verwalteter Netzwerkspeicher***, der 4.000 IOPS oder mehr unterstützt

**Der Postgres-Festplattenwert basiert auf den von Edge erfassten Standardanalysen. Wenn Sie den Analysedaten benutzerdefinierte Werte hinzufügen, sollten diese Werte entsprechend erhöht werden. Verwenden Sie die folgende Formel, um den erforderlichen Speicherplatz zu schätzen:

(Anzahl Byte/Anfrage) * (Anfragen pro Sekunde) * (Sekunden pro Stunde) * (Stunden mit Spitzennutzung pro Tag) * (Tage pro Monat) * (Monate der Datenaufbewahrung) = erforderliche Byte an Speicherplatz

Beispiel:

(2 KB Analysedaten pro Anfrage) * 100 Anfragen/Sek. * 3.600 Sek./Std. * 18 Stunden Spitzennutzung pro Tag * 30 Tage/Monat * 3 Monate Aufbewahrung = 1.194.393.600.000 Byte oder 1.194,4 GB.

*** Netzwerkspeicher wird für PostgreSQL-Datenbanken aus folgenden Gründen empfohlen:

  • Sie bietet die Möglichkeit, die Speichergröße bei Bedarf dynamisch zu erhöhen.
  • Netzwerk-IOPS können in den meisten heutigen Umgebungs-/Speicher-/Netzwerksubsystemen im laufenden Betrieb angepasst werden.
  • Snapshots auf Speicherebene können im Rahmen von Sicherungs- und Wiederherstellungslösungen aktiviert werden.

Darüber hinaus sind im Folgenden die Hardwareanforderungen aufgeführt, wenn Sie die Monetarisierungsdienste installieren möchten:

Komponente mit Monetarisierung

RAM

CPU

Festplatte

Verwaltungsserver (mit Monetarisierungsdiensten)

8 GB

4-Core

60 GB

Analytics – Postgres/Qpid auf demselben Server

16 GB

8-Core

500 GB bis 1 TB Netzwerkspeicher, vorzugsweise mit SSD-Backend, das 1.000 IOPS oder mehr unterstützt, oder verwenden Sie die Regel aus der Tabelle oben.

Analytics – Postgres eigenständig

16 GB

8-Core

500 GB bis 1 TB Netzwerkspeicher, vorzugsweise mit SSD-Backend, das 1.000 IOPS oder mehr unterstützt, oder verwenden Sie die Regel aus der Tabelle oben.

Analytics – Qpid eigenständig

8 GB

4-Core

40 GB bis 500 GB lokaler Speicher mit SSD oder schneller HDD
Für Installationen mit mehr als 250 TPS wird eine HDD mit lokalem Speicher empfohlen, der 1.000 IOPS unterstützt.

Im Folgenden sind die Hardwareanforderungen für die Installation von API BaaS aufgeführt:

API BaaS-Komponente

RAM

CPU

Festplatte

ElasticSearch*

8 GB

4-Core

60–80 GB

API BaaS Stack *

8 GB

4-Core

60–80 GB

API BaaS-Portal

1 GB

2-Core

20 GB

Cassandra (optional – normalerweise verwenden Sie denselben Cassandra-Cluster für Edge- und API BaaS-Dienste)

16 GB

8-Core

250 GB lokaler Speicher mit SSD oder schneller HDD, die 2.000 IOPS unterstützt

* Sie können ElasticSearch und API BaaS Stack auf demselben Knoten installieren. Wenn ja, konfigurieren Sie ElasticSearch so, dass 4 GB Arbeitsspeicher (Standard) verwendet werden. Wenn ElasticSearch auf einem eigenen Knoten installiert ist, konfigurieren Sie es so, dass 6 GB Arbeitsspeicher verwendet werden.

Hinweis:

  • Wenn das Root-Dateisystem nicht groß genug für die Installation ist, wird empfohlen, die Daten auf ein größeres Laufwerk zu verschieben.
  • Wenn auf dem Computer eine ältere Version von Apigee Edge for Private Cloud installiert war, müssen Sie den Ordner /tmp/java vor einer Neuinstallation löschen.
  • Der systemweite temporäre Ordner /tmp benötigt Ausführungsberechtigungen, um Cassandra zu starten.
  • Wenn der Nutzer „apigee“ vor der Installation erstellt wurde, muss „/home/apigee“ als Basisverzeichnis vorhanden sein und „apigee:apigee“ gehören.

Anforderungen an das Betriebssystem und Drittanbietersoftware

Diese Installationsanleitung und die mitgelieferten Installationsdateien wurden auf den hier aufgeführten Betriebssystemen und Drittanbieter-Software getestet: https://apigee.com/docs/api-services/reference/supported-software.

Apigee-Nutzer erstellen

Bei der Installation wird ein Unix-Systemnutzer namens „apigee“ erstellt. Edge-Verzeichnisse und -Dateien gehören „apigee“, ebenso wie Edge-Prozesse. Das bedeutet, dass Edge-Komponenten als „apigee“-Nutzer ausgeführt werden. Bei Bedarf können Sie Komponenten als anderer Nutzer ausführen. Ein Beispiel finden Sie unter „Router an einen geschützten Port binden“ im Abschnitt Edge-Komponenten auf einem Knoten installieren.

Installationsverzeichnis

Standardmäßig schreibt das Installationsprogramm alle Dateien in das Verzeichnis /opt/apigee. Sie können diesen Verzeichnispfad nicht ändern. Sie können dieses Verzeichnis zwar nicht ändern, aber einen symbolischen Link erstellen, um /opt/apigee einem anderen Speicherort zuzuordnen, wie unten beschrieben.

In der Anleitung in diesem Leitfaden wird das Installationsverzeichnis als /<inst_root>/apigee angegeben, wobei /<inst_root> standardmäßig /opt ist.

Symlink von /opt/apigee erstellen

Bevor Sie den symbolischen Link erstellen, müssen Sie zuerst einen Nutzer und eine Gruppe mit dem Namen „apigee“ erstellen. Dies ist dieselbe Gruppe und derselbe Nutzer, die vom Edge-Installationsprogramm erstellt wurden.

Führen Sie die folgenden Schritte aus, um den symbolischen Link zu erstellen, bevor Sie die Datei bootstrap_4.17.01.sh herunterladen. Sie müssen alle diese Schritte als Root ausführen:

  1. Erstellen Sie den Nutzer und die Gruppe „apigee“:
    > groupadd -r apigee
    > useradd -r -g apigee -d /opt/apigee -s /sbin/nologin -c "Apigee platform user" apigee
  2. Erstellen Sie einen Symlink von /opt/apigee zum gewünschten Installationsstammverzeichnis:
    > ln -Ts /srv/myInstallDir /opt/apigee
    wobei /srv/myInstallDir der gewünschte Speicherort der Edge-Dateien ist.
  3. Ändern Sie die Eigentümerschaft des Installationsstammverzeichnisses und des Symlinks in den Nutzer „apigee“:
    > chown -h apigee:apigee /srv/myInstallDir /opt/apigee

Java

Vor der Installation muss auf jedem Computer eine unterstützte Version von Java 1.8 installiert sein. Unterstützte JDKs sind hier aufgeführt:

https://apigee.com/docs/api-services/reference/supported-software

Achten Sie darauf, dass JAVA_HOME auf das Stammverzeichnis des JDK für den Nutzer verweist, der die Installation ausführt.

SELinux

Je nach Ihren Einstellungen für SELinux können bei der Installation und beim Starten von Edge-Komponenten Probleme auftreten. Bei Bedarf können Sie SELinux während der Installation deaktivieren oder in den Modus „Permissive“ versetzen und nach der Installation wieder aktivieren. Weitere Informationen finden Sie unter Edge-Dienstprogramm „apigee-setup“ installieren.

Einstellung für Werbenetzwerke

Es wird empfohlen, die Netzwerkeinstellung vor der Installation zu prüfen. Das Installationsprogramm erwartet, dass alle Maschinen feste IP-Adressen haben. Verwenden Sie die folgenden Befehle, um die Einstellung zu prüfen:

  • hostname gibt den Namen des Computers zurück.
  • hostname -i gibt die IP-Adresse für den Hostnamen zurück, der von anderen Maschinen aus adressiert werden kann.

Je nach Typ und Version Ihres Betriebssystems müssen Sie möglicherweise /etc/hosts und /etc/sysconfig/network bearbeiten, wenn der Hostname nicht richtig festgelegt ist. Weitere Informationen finden Sie in der Dokumentation zu Ihrem Betriebssystem.

TCP-Wrapper

TCP-Wrapper können die Kommunikation einiger Ports blockieren und sich auf die Installation von OpenLDAP, Postgres und Cassandra auswirken. Prüfen Sie auf diesen Knoten /etc/hosts.allow und /etc/hosts.deny, um sicherzustellen, dass keine Portbeschränkungen für die erforderlichen OpenLDAP-, Postgres- und Cassandra-Ports gelten.

iptables

Prüfen Sie, ob iptables-Richtlinien die Verbindung zwischen Knoten an den erforderlichen Edge-Ports verhindern. Bei Bedarf können Sie iptables während der Installation mit dem folgenden Befehl beenden:

> sudo /etc/init.d/iptables stop

Unter CentOS 7.x:

> systemctl stop firewalld

Sicherstellen, dass der Edge-Router auf /etc/rc.d/init.d/functions zugreifen kann

Die Edge-Router- und BaaS-Portal-Knoten verwenden den Nginx-Router und benötigen Lesezugriff auf /etc/rc.d/init.d/functions.

Wenn Ihr Sicherheitsprozess erfordert, dass Sie Berechtigungen für /etc/rc.d/init.d/functions festlegen, legen Sie diese nicht auf 700 fest, da der Router sonst nicht gestartet werden kann. Die Berechtigungen können auf 744 festgelegt werden, um Lesezugriff auf /etc/rc.d/init.d/functions zu gewähren.

Cassandra

Alle Cassandra-Knoten müssen mit einem Ring verbunden sein. Cassandra speichert Datenreplikate auf mehreren Knoten, um Zuverlässigkeit und Fehlertoleranz zu gewährleisten. Die Replikationsstrategie für jeden Edge-Keyspace bestimmt die Cassandra-Knoten, auf denen Replikate platziert werden. Weitere Informationen finden Sie unter Cassandra-Replikationsfaktor und -Konsistenzstufe.

Cassandra passt die Java-Heap-Größe automatisch an den verfügbaren Arbeitsspeicher an. Weitere Informationen finden Sie unter Java-Ressourcen optimieren. Bei Leistungseinbußen oder hohem Arbeitsspeicherverbrauch.

Nach der Installation von Edge for Private Cloud können Sie prüfen, ob Cassandra richtig konfiguriert ist. Sehen Sie sich dazu die Datei /<inst_root>/apigee/apigee-cassandra/conf/cassandra.yaml an. Prüfen Sie beispielsweise, ob das Installationsskript für Edge for Private Cloud die folgenden Attribute festgelegt hat:

  • cluster_name
  • initial_token
  • partitioner
  • seeds
  • listen_address
  • rpc_address
  • snitch

Warnung: Bearbeiten Sie diese Datei nicht.

PostgreSQL-Datenbank

Nach der Installation von Edge können Sie die folgenden PostgreSQL-Datenbankeinstellungen basierend auf der Menge des auf Ihrem System verfügbaren RAM anpassen:

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

So legen Sie diese Werte fest:

  1. Bearbeiten Sie postgresql.properties:
    > vi /<inst_root>/apigee/customer/application/postgresql.properties

    Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
  2. Legen Sie die oben aufgeführten Attribute fest.
  3. Speichern Sie die Änderungen.
  4. Starten Sie die PostgreSQL-Datenbank neu:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql restart

Systemlimits

Achten Sie darauf, dass Sie die folgenden Systemlimits für Cassandra- und Message Processor-Knoten festgelegt haben:

  • Legen Sie auf Cassandra-Knoten die weichen und harten Limits für „memlock“, „nofile“ und „address space“ (as) für den Installationsnutzer (Standard ist „apigee“) in /etc/security/limits.d/90-apigee-edge-limits.conf fest, wie unten gezeigt:
    apigee soft memlock unlimited
    apigee hard memlock unlimited
    apigee soft nofile 32768
    apigee hard nofile 65536
    apigee soft as unlimited
    apigee hard as unlimited

  • Legen Sie auf Message Processor-Knoten die maximale Anzahl geöffneter Dateideskriptoren in /etc/security/limits.d/90-apigee-edge-limits.conf auf 64.000 fest, wie unten gezeigt:
    apigee soft nofile 32768
    apigee hard nofile 65536


    Bei Bedarf können Sie dieses Limit erhöhen. Beispiel: Wenn Sie eine große Anzahl temporärer Dateien gleichzeitig geöffnet haben.

jsvc

„jsvc“ ist eine Voraussetzung für die Verwendung von API BaaS. Die Version 1.0.15-dev wird installiert, wenn Sie die API BaaS installieren.

Network Security Services (NSS)

Network Security Services (NSS) ist eine Reihe von Bibliotheken, die die Entwicklung von sicherheitsaktivierten Client- und Serveranwendungen unterstützen. Sie sollten sicherstellen, dass Sie NSS v3.19 oder höher installiert haben.

So prüfen Sie die aktuelle Version:

> yum info nss

So aktualisieren Sie NSS:

> yum update nss

Weitere Informationen finden Sie in diesem Artikel von RedHat.

DNS-Lookup für IPv6 bei Verwendung von NSCD (Name Service Cache Daemon) deaktivieren

Wenn Sie NSCD (Name Service Cache Daemon) installiert und aktiviert haben, führen die Message Processors zwei DNS-Suchen durch: eine für IPv4 und eine für IPv6. Wenn Sie NSCD verwenden, sollten Sie die DNS-Suche für IPv6 deaktivieren.

So deaktivieren Sie die DNS-Suche für IPv6:

  1. Bearbeiten Sie auf jedem Message Processor-Knoten /etc/nscd.conf.
  2. Legen Sie das folgende Attribut fest:
    enable-cache hosts no

IPv6 auf der Google Cloud Platform für RedHat/CentOS 7 deaktivieren

Wenn Sie Edge unter RedHat 7 oder CentOS 7 auf der Google Cloud Platform installieren, müssen Sie IPv6 auf allen Qpid-Knoten deaktivieren.

Eine Anleitung zum Deaktivieren von IPv6 finden Sie in der RedHat- oder CentOS-Dokumentation für Ihre spezifische Betriebssystemversion.

AWS AMI

Wenn Sie Edge auf einem AWS Amazon Machine Image (AMI) für Red Hat Enterprise Linux 7.x installieren, müssen Sie zuerst den folgenden Befehl ausführen:

> yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

Tools

Das Installationsprogramm verwendet die folgenden UNIX-Tools in der Standardversion, die von EL5 oder EL6 bereitgestellt wird.

awk

expr

lua-socket

Atemzüge/Min.

unzip

basename

grep

ls

rpm2cpio

useradd

bash

Hostname

net-tools

sed

wc

bc

id

perl (aus procps)

sudo

wget

curl

libaio

pgrep (von procps)

tar

xerces-c

cyrus-sasl
libdb-cxx
ps tr yum

Datum

libibverbs

pwd

uuid

chkconfig

Verz.-name
librdmacm
Python uname
Echo
libxslt

Hinweis:

  • Die ausführbare Datei für das Tool „useradd“ befindet sich in /usr/sbin und für chkconfig in /sbin.
  • Mit sudo-Zugriff können Sie auf die Umgebung des aufrufenden Nutzers zugreifen. Normalerweise rufen Sie dazu „sudo <command>“ oder „sudo PATH=$PATH:/usr/sbin:/sbin <command>“ auf.
  • Achten Sie darauf, dass das „Patch“-Tool installiert ist, bevor Sie ein Service Pack (Patch) installieren.

ntpdate: Es wird empfohlen, die Serverzeit zu synchronisieren. Falls noch nicht konfiguriert, kann das Dienstprogramm „ntpdate“ verwendet werden, um zu prüfen, ob die Server zeitsynchronisiert sind. Sie können das Dienstprogramm mit yum install ntp installieren. Dies ist besonders nützlich, um OpenLDAP-Einrichtungen zu replizieren. Beachten Sie, dass Sie die Serverzeitzone in UTC einrichten.

openldap 2.4: Für die lokale Installation ist OpenLDAP 2.4 erforderlich. Wenn Ihr Server eine Internetverbindung hat, lädt das Edge-Installationsskript OpenLDAP herunter und installiert es. Wenn Ihr Server keine Internetverbindung hat, müssen Sie dafür sorgen, dass OpenLDAP bereits installiert ist, bevor Sie das Edge-Installationsskript ausführen. Unter RHEL/CentOS können Sie yum install openldap-clients openldap-servers ausführen, um OpenLDAP zu installieren.

Für Installationen mit 13 Hosts und Installationen mit 12 Hosts mit zwei Rechenzentren ist eine OpenLDAP-Replikation erforderlich, da mehrere Knoten OpenLDAP hosten.

Firewalls und virtuelle Hosts

Der Begriff „virtuell“ wird in der IT-Branche häufig überlastet, so auch bei einer Apigee Edge for Private Cloud-Bereitstellung und virtuellen Hosts. Zur Klarstellung: Der Begriff „virtuell“ wird in zwei Hauptbedeutungen verwendet:

  • Virtuelle Maschinen (VMs): Nicht erforderlich, aber bei einigen Bereitstellungen wird VM-Technologie verwendet, um isolierte Server für die Apigee-Komponenten zu erstellen. VM-Hosts können wie physische Hosts Netzwerkschnittstellen und Firewalls haben.
  • Virtuelle Hosts: Webendpunkte, analog zu einem virtuellen Apache-Host.

Ein Router in einer VM kann mehrere virtuelle Hosts verfügbar machen, sofern sie sich im Host-Alias oder im Schnittstellenport voneinander unterscheiden.

Beispiel: Auf einem einzelnen physischen Server „A“ werden zwei VMs mit den Namen „VM1“ und „VM2“ ausgeführt. Nehmen wir an, VM1 stellt eine virtuelle Ethernet-Schnittstelle bereit, die innerhalb der VM den Namen eth0 erhält und der von der Virtualisierungsmaschine oder einem Netzwerk-DHCP-Server die IP-Adresse 111.111.111.111 zugewiesen wird. Nehmen wir außerdem an, dass VM2 eine virtuelle Ethernet-Schnittstelle bereitstellt, die ebenfalls den Namen „eth0“ hat und der die IP-Adresse 111.111.111.222 zugewiesen wird.

In jeder der beiden VMs wird möglicherweise ein Apigee-Router ausgeführt. Die Router stellen virtuelle Hostendpunkte bereit, wie in diesem hypothetischen Beispiel:

Der Apigee-Router in VM1 stellt drei virtuelle Hosts auf seiner eth0-Schnittstelle (die eine bestimmte IP-Adresse hat) bereit: api.mycompany.com:80, api.mycompany.com:443 und test.mycompany.com:80.

Der Router in VM2 stellt api.mycompany.com:80 bereit (selber Name und Port wie von VM1 bereitgestellt).

Das Betriebssystem des physischen Hosts verfügt möglicherweise über eine Netzwerk-Firewall. Wenn dies der Fall ist, muss diese Firewall so konfiguriert sein, dass TCP-Traffic an die Ports weitergeleitet wird, die auf den virtualisierten Schnittstellen (111.111.111.111:{80, 443} und 111.111.111.222:80) verfügbar gemacht werden. Darüber hinaus kann das Betriebssystem jeder VM eine eigene Firewall auf der eth0-Schnittstelle bereitstellen. Auch diese muss Traffic über die Ports 80 und 443 zulassen.

Der Basispfad ist die dritte Komponente, die am Routing von API-Aufrufen an verschiedene API-Proxys beteiligt ist, die Sie möglicherweise bereitgestellt haben. API-Proxy-Bundles können einen Endpunkt gemeinsam nutzen, wenn sie unterschiedliche Basispfade haben. Beispielsweise kann ein Basispfad als http://api.mycompany.com:80/ und ein anderer als http://api.mycompany.com:80/salesdemo definiert werden.

In diesem Fall benötigen Sie einen Load Balancer oder Traffic Director, der den Traffic von http://api.mycompany.com:80/ zwischen den beiden IP-Adressen (111.111.111.111 auf VM1 und 111.111.111.222 auf VM2) aufteilt. Diese Funktion ist spezifisch für Ihre jeweilige Installation und wird von Ihrer lokalen Netzwerkgruppe konfiguriert.

Der Basispfad wird festgelegt, wenn Sie eine API bereitstellen. Im obigen Beispiel können Sie zwei APIs, mycompany und testmycompany, für die Organisation mycompany-org mit dem virtuellen Host bereitstellen, der den Host-Alias api.mycompany.com und den Port 80 hat. Wenn Sie in der Bereitstellung keinen Basispfad deklarieren, weiß der Router nicht, an welche API eingehende Anfragen gesendet werden sollen.

Wenn Sie jedoch die API testmycompany mit der Basis-URL /salesdemo bereitstellen, greifen Nutzer über http://api.mycompany.com:80/salesdemo auf diese API zu. Wenn Sie die API „mycompany“ mit der Basis-URL „/“ bereitstellen, greifen Ihre Nutzer über die URL http://api.mycompany.com:80/ auf die API zu.

Edge-Port-Anforderungen

Die Verwaltung der Firewall geht über die virtuellen Hosts hinaus. Sowohl VM- als auch physische Host-Firewalls müssen Traffic für die Ports zulassen, die die Komponenten für die Kommunikation untereinander benötigen.

In der folgenden Abbildung sind die Portanforderungen für die einzelnen Edge-Komponenten dargestellt:

Hinweise zu diesem Diagramm:

  • *Port 8082 auf dem Message Processor muss nur für den Zugriff durch den Router geöffnet sein, wenn Sie TLS/SSL zwischen dem Router und dem Message Processor konfigurieren. Wenn Sie TLS/SSL nicht zwischen dem Router und dem Message Processor konfigurieren, muss die Standardkonfiguration, Port 8082, weiterhin auf dem Message Processor geöffnet sein, um die Komponente zu verwalten. Der Router benötigt jedoch keinen Zugriff darauf.
  • Die Ports mit dem Präfix „M“ werden zum Verwalten der Komponente verwendet und müssen auf der Komponente für den Zugriff durch den Management Server geöffnet sein.
  • Die folgenden Komponenten benötigen Zugriff auf Port 8080 auf dem Management Server: Router, Message Processor, UI, Postgres und Qpid.
  • Ein Message Processor muss Port 4528 als Verwaltungsport öffnen. Wenn Sie mehrere Message Processors haben, müssen diese alle über Port 4528 aufeinander zugreifen können (gekennzeichnet durch den Schleifenpfeil im Diagramm oben für Port 4528 auf dem Message Processor). Wenn Sie mehrere Rechenzentren haben, muss der Port von allen Message Processors in allen Rechenzentren aus zugänglich sein.
  • Es ist zwar nicht erforderlich, aber Sie können Port 4527 auf dem Router für den Zugriff durch einen beliebigen Message Processor öffnen. Andernfalls werden möglicherweise Fehlermeldungen in den Logdateien des Message Processors angezeigt.
  • Ein Router muss Port 4527 als Verwaltungsport öffnen. Wenn Sie mehrere Router haben, müssen diese alle über Port 4527 aufeinander zugreifen können (gekennzeichnet durch den Schleifenpfeil im obigen Diagramm für Port 4527 auf dem Router).
  • Die Edge-Benutzeroberfläche benötigt Zugriff auf den Router über die von API-Proxys bereitgestellten Ports, um die Schaltfläche Senden im Trace-Tool zu unterstützen.
  • Der Management Server benötigt Zugriff auf den JMX-Port auf den Cassandra-Knoten.
  • Der Zugriff auf JMX-Ports kann so konfiguriert werden, dass ein Nutzername und ein Passwort erforderlich sind. Weitere Informationen finden Sie unter Monitoring.
  • Sie können optional den TLS/SSL-Zugriff für bestimmte Verbindungen konfigurieren, die unterschiedliche Ports verwenden können. Weitere Informationen finden Sie unter TLS/SSL.
  • Wenn Sie zwei Postgres-Knoten für die Master-Standby-Replikation konfigurieren, müssen Sie Port 22 auf jedem Knoten für den SSH-Zugriff öffnen. Sie können optional Ports auf einzelnen Knoten öffnen, um SSH-Zugriff zu ermöglichen.
  • Sie können den Management Server und die Edge-Benutzeroberfläche so konfigurieren, dass E-Mails über einen externen SMTP-Server gesendet werden. In diesem Fall müssen Sie dafür sorgen, dass der Management Server und die Benutzeroberfläche auf den erforderlichen Port auf dem SMTP-Server zugreifen können. Bei SMTP ohne TLS ist die Portnummer in der Regel 25. Bei TLS-fähigem SMTP ist es oft 465. Erkundigen Sie sich aber bei Ihrem SMTP-Anbieter.

In der folgenden Tabelle sind die Ports aufgeführt, die in Firewalls nach Edge-Komponente geöffnet werden müssen:

Komponente

Port

Beschreibung

Standard-HTTP-Ports

80, 443

HTTP und alle anderen Ports, die Sie für virtuelle Hosts verwenden

Verwaltungsserver

8080

Port für Edge Management API-Aufrufe. Diese Komponenten benötigen Zugriff auf Port 8080 auf dem Management Server: Router, Message Processor, UI, Postgres und Qpid.

1099

JMX-Port

4526

Für verteilte Cache- und Verwaltungsaufrufe

Verwaltungs-UI

9000

Port für Browserzugriff auf die Verwaltungs-UI

Message Processor

8998

Message Processor-Port für die Kommunikation vom Router

8082

Standardmäßiger Verwaltungsport für den Message Processor. Er muss auf der Komponente für den Zugriff durch den Management Server geöffnet sein.

Wenn Sie TLS/SSL zwischen dem Router und dem Message Processor konfigurieren, wird es vom Router für Systemdiagnosen des Message Processors verwendet.

1101

JMX-Port

4528

Für verteilte Cache- und Verwaltungsaufrufe zwischen Message Processors und für die Kommunikation vom Router

Router

8081

Standardmäßiger Verwaltungsport für den Router, der auf der Komponente für den Zugriff durch den Management Server geöffnet sein muss.

4527

Für verteilte Cache- und Verwaltungsaufrufe

15999

Systemdiagnose-Port. Ein Load Balancer verwendet diesen Port, um festzustellen, ob der Router verfügbar ist.

Um den Status eines Routers abzurufen, sendet der Load Balancer eine Anfrage an Port 15999 auf dem Router:

> curl -v http://<routerIP>:15999/v1/servers/self/reachable

Wenn der Router erreichbar ist, gibt die Anfrage HTTP 200 zurück.

59001

Port, der vom Dienstprogramm apigee-validate zum Testen der Edge-Installation verwendet wird. Dieses Dienstprogramm benötigt Zugriff auf Port 59001 auf dem Router. Weitere Informationen zu Port 59001 finden Sie unter Installation testen.

ZooKeeper

2181

Wird von anderen Komponenten wie Management Server, Router, Message Processor usw. verwendet.

2888, 3888

Wird intern von ZooKeeper für die Kommunikation im ZooKeeper-Cluster (auch als ZooKeeper-Ensemble bezeichnet) verwendet

Cassandra

7000, 9042, 9160

Apache Cassandra-Ports für die Kommunikation zwischen Cassandra-Knoten und für den Zugriff durch andere Edge-Komponenten.

7199

JMX-Port. Muss für den Zugriff durch den Verwaltungsserver geöffnet sein.

Qpid

5672

Wird für die Kommunikation vom Router und Message Processor zum Qpid-Server verwendet

8083

Standardmäßiger Verwaltungsport auf dem Qpid-Server, der auf der Komponente für den Zugriff durch den Management Server geöffnet sein muss.

1102

JMX-Port

4529

Für verteilte Cache- und Verwaltungsaufrufe

Postgres

5432

Wird für die Kommunikation von Qpid/Management Server zu Postgres verwendet

8084

Standardverwaltungsport auf dem Postgres-Server, der auf der Komponente für den Zugriff durch den Management Server geöffnet sein muss.

1103

JMX-Port

4530

Für verteilte Cache- und Verwaltungsaufrufe

22

Wenn Sie zwei Postgres-Knoten für die Master-Standby-Replikation konfigurieren, müssen Sie Port 22 auf jedem Knoten für den SSH-Zugriff öffnen.

LDAP

10389

OpenLDAP

SmartDocs

59002

Der Port auf dem Edge-Router, an den SmartDocs-Seitenanfragen gesendet werden.

In der folgenden Tabelle sind dieselben Ports numerisch aufgeführt, zusammen mit den Quell- und Zielkomponenten:

Portnummer

Zweck

Quellkomponente

Zielkomponente

<virtual host port#>

HTTP und alle anderen Ports, die Sie für den API-Aufruftraffic des virtuellen Hosts verwenden. Die Ports 80 und 443 werden am häufigsten verwendet. Der Message Router kann TLS/SSL-Verbindungen beenden.

Externer Client (oder Load Balancer)

Listener auf Nachrichtenrouter

1099 bis 1103

JMX-Verwaltung

JMX-Client

Verwaltungsserver (1099)

Message Processor (1101)

Qpid-Server (1102)

Postgres-Server (1103)

2181

Zookeeper-Client-Kommunikation

Verwaltungsserver

Router

Message Processor

Qpid-Server

Postgres-Server

Zookeeper

2888 und 3888

Zookeeper-Internode-Verwaltung

Zookeeper

Zookeeper

4526

RPC-Verwaltungsport

Verwaltungsserver

Verwaltungsserver

4527 RPC-Verwaltungsport für verteilte Cache- und Verwaltungsaufrufe sowie für die Kommunikation zwischen Routern

Verwaltungsserver

Router

Router

4528

Für verteilte Cache-Aufrufe zwischen Message Processors und für die Kommunikation vom Router

Verwaltungsserver

Router

Message Processor

Message Processor

4529 RPC-Verwaltungsport für verteilten Cache und Verwaltungsaufrufe Verwaltungsserver Qpid-Server
4530 RPC-Verwaltungsport für verteilten Cache und Verwaltungsaufrufe Verwaltungsserver Postgres-Server

5432

Postgres-Client

Qpid-Server

Postgres

5672

Wird zum Senden von Analysen vom Router und Message Processor an Qpid verwendet

Router

Message Processor

Qpid-Server

7000

Cassandra-Kommunikation zwischen Knoten

Cassandra

Anderer Cassandra-Knoten

7199

JMX-Verwaltung. Muss für den Zugriff auf den Cassandra-Knoten durch den Management Server geöffnet sein.

JMX-Client

Cassandra

8080

Management API-Port

Management API-Clients

Verwaltungsserver

8081 bis 8084

Komponenten-API-Ports, die zum Senden von API-Anfragen direkt an einzelne Komponenten verwendet werden. Jede Komponente öffnet einen anderen Port. Der genaue Port hängt von der Konfiguration ab, muss aber auf der Komponente für den Zugriff durch den Management Server geöffnet sein.

Management API-Clients

Router (8081)

Message Processor (8082)

Qpid-Server (8083)

Postgres-Server (8084)

8998

Kommunikation zwischen Router und Message Processor

Router

Message Processor

9000

Standardport der Edge-Verwaltungs-UI

Browser

Management UI Server

9042

Nativer CQL-Transport

Router

Message Processor

Verwaltungsserver

Cassandra

9160

Cassandra-Thrift-Client

Router

Message Processor

Verwaltungsserver

Cassandra

10389

LDAP-Port

Verwaltungsserver

OpenLDAP

15999

Systemdiagnose-Port. Ein Load Balancer verwendet diesen Port, um festzustellen, ob der Router verfügbar ist.

Load-Balancer Router
59001 Port, der vom Dienstprogramm apigee-validate zum Testen der Edge-Installation verwendet wird apigee-validate Router

59002

Der Router-Port, an den SmartDocs-Seitenanfragen gesendet werden

SmartDocs

Router

Ein Message Processor hält einen dedizierten Verbindungspool zu Cassandra offen, der so konfiguriert ist, dass es nie zu einer Zeitüberschreitung kommt. Wenn sich eine Firewall zwischen einem Message Processor und einem Cassandra-Server befindet, kann es zu einer Zeitüberschreitung der Verbindung kommen. Der Message Processor ist jedoch nicht dafür ausgelegt, Verbindungen zu Cassandra wiederherzustellen.

Um diese Situation zu vermeiden, empfiehlt Apigee, dass sich der Cassandra-Server, der Message Processor und die Router im selben Subnetz befinden, damit bei der Bereitstellung dieser Komponenten keine Firewall beteiligt ist.

Wenn sich zwischen dem Router und den Message Processors eine Firewall befindet und ein TCP-Zeitlimit für Inaktivität festgelegt ist, empfehlen wir Folgendes:

  1. Legen Sie in den sysctl-Einstellungen unter Linux net.ipv4.tcp_keepalive_time = 1800 fest, wobei 1800 kleiner als das TCP-Zeitlimit für inaktive Firewalls sein sollte. Mit dieser Einstellung sollte die Verbindung in einem hergestellten Zustand bleiben, damit die Firewall die Verbindung nicht trennt.
  2. Bearbeiten Sie auf allen Message Processors /<inst_root>/apigee/customer/application/message-processor.properties, um das folgende Attribut hinzuzufügen. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. Starten Sie den Message Processor neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. Bearbeiten Sie auf allen Routern /<inst_root>/apigee/customer/application/router.properties, um das folgende Attribut hinzuzufügen. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. Starten Sie den Router neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Wenn Sie die Clusterkonfiguration mit 12 Hosts und zwei Rechenzentren installieren, müssen die Knoten in den beiden Rechenzentren über die unten aufgeführten Ports kommunizieren können:

API BaaS-Portanforderungen

Wenn Sie API BaaS installieren möchten, fügen Sie die Komponenten „API BaaS Stack“ und „API BaaS Portal“ hinzu. Diese Komponenten verwenden die in der folgenden Abbildung gezeigten Ports:

Hinweise zu diesem Diagramm:

  • Das API BaaS-Portal sendet nie Anfragen direkt an einen BaaS Stack-Knoten. Wenn sich ein Entwickler im Portal anmeldet, wird die Portal-App in den Browser heruntergeladen. Die im Browser ausgeführte Portal-App sendet dann Anfragen an die BaaS-Stack-Knoten.
  • Bei einer Produktionsinstallation von API BaaS wird ein Load Balancer zwischen dem API BaaS-Portalknoten und den API BaaS-Stackknoten verwendet. Wenn Sie das Portal konfigurieren und BaaS-API-Aufrufe ausführen, geben Sie die IP-Adresse oder den DNS-Namen des Load Balancers an, nicht die der Stack-Knoten.
  • Alle Stack-Knoten müssen Port 2551 für den Zugriff von allen anderen Stack-Knoten öffnen (gekennzeichnet durch den Schleifenpfeil im Diagramm oben für Port 2551 auf den Stack-Knoten). Wenn Sie mehrere Rechenzentren haben, muss der Port von allen Stack-Knoten in allen Rechenzentren aus zugänglich sein.
  • Sie müssen alle Baas Stack-Knoten so konfigurieren, dass E-Mails über einen externen SMTP-Server gesendet werden. Bei Nicht-TLS-SMTP ist die Portnummer in der Regel 25. Bei TLS-fähigem SMTP ist es oft 465. Erkundigen Sie sich aber bei Ihrem SMTP-Anbieter.
  • Die Cassandra-Knoten können für API BaaS dediziert oder mit Edge geteilt werden.

In der folgenden Tabelle sind die Standardports aufgeführt, die in Firewalls geöffnet werden müssen, nach Komponente:

Komponente

Port

Beschreibung

API BaaS-Portal

9000

Port für die API BaaS-Benutzeroberfläche

API BaaS Stack

8080

Port, an dem API-Anfragen empfangen werden

2551

Port für die Kommunikation zwischen allen Stack-Knoten. Muss für alle anderen Stack-Knoten im Rechenzentrum zugänglich sein.

Wenn Sie mehrere Rechenzentren haben, muss der Port von allen Stack-Knoten in allen Rechenzentren aus zugänglich sein.

ElasticSearch

9.200 bis 9.400

Für die Kommunikation mit dem API BaaS-Stack und für die Kommunikation zwischen ElasticSearch-Knoten

Lizenzierung

Für jede Installation von Edge ist eine eindeutige Lizenzdatei erforderlich, die Sie von Apigee erhalten. Sie müssen den Pfad zur Lizenzdatei angeben, wenn Sie den Management Server installieren, z. B. /tmp/license.txt.

Das Installationsprogramm kopiert die Lizenzdatei nach /<inst_root>/apigee/customer/conf/license.txt.

Wenn die Lizenzdatei gültig ist, validiert der Verwaltungsserver das Ablaufdatum und die zulässige Anzahl von Message Processors (MP). Wenn eine der Lizenzeinstellungen abgelaufen ist, finden Sie die Logs unter /<inst_root>/apigee/var/log/edge-management-server/logs. In diesem Fall können Sie sich an den Apigee-Support wenden, um Migrationsdetails zu erhalten.

Wenn Sie noch keine Lizenz haben, wenden Sie sich an den Vertrieb.