Organisation, Umgebung und virtuellen Host erstellen

Edge for Private Cloud Version 4.17.01

Organisation, Umgebung und virtuellen Host gleichzeitig erstellen

Bevor Sie einen API-Proxy auf Apigee Edge erstellen, müssen Sie mindestens eine Organisation und innerhalb jeder Organisation eine oder mehrere Umgebungen und virtuelle Hosts erstellen.

Normalerweise werden Organisationen und Umgebungen gemeinsam erstellt. Verwenden Sie das Dienstprogramm apigee-provision, um den Vorgang zu vereinfachen. Rufen Sie ihn über die Befehlszeile auf dem Edge-Verwaltungsserver auf:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

Die Konfigurationsdatei enthält Folgendes:

# Set Edge sys admin credentials.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=adminPword     # If omitted, you are prompted for it.
NEW_USER="y"
USER_NAME=orgAdmin@myCo.com
FIRST_NAME=foo
LAST_NAME=bar
USER_PWD="userPwrod"
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod
VHOST_PORT=9001
VHOST_NAME=default
VHOST_ALIAS="$IP1:9001"
# Optionally configure TLS/SSL for virtual host.
# VHOST_SSL=y     # Set to "y" to enable TLS/SSL on the virtual host.
# KEYSTORE_JAR=   # JAR file containing the cert and private key.
# KEYSTORE_NAME=  # Name of the keystore. 
# KEYSTORE_ALIAS= # The key alias.
# KEY_PASSWORD=   # The key password, if it has one. 
# AXGROUP=axgroup-001 # Default value is axgroup-001 

Der Befehl führt dann Folgendes aus:

  • Organisation erstellen
    Hinweis: Sie können eine Organisation nach dem Erstellen nicht mehr umbenennen.
  • Verknüpfen Sie die Organisation mit einem Pod. Standardmäßig wird sie mit dem „gateway“-Pod verknüpft.
  • Fügen Sie den angegebenen Nutzer als Administrator der Organisation hinzu. Wenn der Nutzer nicht vorhanden ist, können Sie ihn erstellen.
  • Eine oder mehrere Umgebungen erstellen
  • Einen oder mehrere virtuelle Hosts für jede Umgebung erstellen
  • Umgebung mit allen Nachrichtenprozessoren verknüpfen
  • Analytics aktivieren

Eine vollständige Konfigurationsdatei im Hintergrund finden Sie unter Organisation einrichten.

Wenn Sie das Dienstprogramm apigee-provision verwenden, beträgt die maximale Länge des Namens der Organisation und der Umgebung standardmäßig 20 Zeichen. Diese Einschränkung gilt nicht, wenn Sie die Edge API direkt zum Erstellen der Organisation oder Umgebung verwenden.

Organisation erstellen

Verwenden Sie den Befehl „create-org“, um eine Organisation zu erstellen:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile

Mit diesem Script wird die Organisation erstellt, aber die Umgebungen und virtuellen Hosts, die die Organisation zum Verarbeiten von API-Aufrufen benötigt, werden nicht hinzugefügt oder konfiguriert.

Die Konfigurationsdatei enthält den Namen der Organisation und die E-Mail-Adresse des Administrators. Folgende Zeichen sind im Attribut „Name“ zulässig: a–z0–9\-$%. Verwenden Sie keine Leerzeichen, Punkte oder Großbuchstaben im Namen:

APIGEE_ADMINPW=adminPword    # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ORG_ADMIN=orgAdmin@myCo.com

Der Befehl führt dann Folgendes aus:

  • Organisation erstellen
  • Ordnet die Organisation einem Pod zu, was standardmäßig dem Pod „Gateway“ zugeordnet ist
  • Der angegebene Nutzer wird als Nutzer mit der Rolle „Organization Administrator“ hinzugefügt. Der Nutzer muss bereits vorhanden sein, andernfalls gibt das Script einen Fehler aus.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

Organisation mithilfe von API-Aufrufen erstellen

Alternativ können Sie die folgenden API-Aufrufe verwenden, um eine Organisation zu erstellen. Mit dem ersten Aufruf wird die Organisation erstellt:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST http://<ms-ip>:8080/v1/organizations \
-d '<Organization name="<org-name>" type="paid"/>'

Im nächsten Aufruf wird die Organisation mit einem Pod verknüpft:

curl -H "Content-Type:application/x-www-form-urlencoded" \
-u <sysAdminEmail>:<adminPasswd> -X POST \
http://<ms-ip>:8080/v1/organizations/<org-name>/pods \
-d "region=default&pod=gateway" 

Sie können diesen Aufruf mehrmals ausführen, um die Organisation mit mehreren Pods zu verknüpfen.

Mit dem letzten Aufruf wird ein vorhandener Nutzer als Organisationsadministrator für die Organisation hinzugefügt:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST \
http://<ms-ip>:8080/v1/organizations/<org-name>/users/<user-email>/userroles/ \
-d '<Roles><Role name="orgadmin"/></Roles>'

Wenn der Nutzer nicht vorhanden ist, kannst du ihn mit dem folgenden Aufruf erstellen, wie unter „Nutzer hinzufügen“ beschrieben.

Umgebung erstellen

Verwenden Sie den Befehl add-env, um eine Umgebung in einer vorhandenen Organisation zu erstellen:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile

Diese Konfigurationsdatei enthält die Informationen, die zum Erstellen der Umgebung und des virtuellen Hosts erforderlich sind:

APIGEE_ADMINPW=adminPword    # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod
VHOST_PORT=9001
VHOST_NAME=default
VHOST_ALIAS="$IP1:9001"
# Optionally configure TLS/SSL for virtual host.
# VHOST_SSL=y     # Set to "y" to enable TLS/SSL on the virtual host.
# KEYSTORE_JAR=   # JAR file containing the cert and private key.
# KEYSTORE_NAME=  # Name of the keystore. 
# KEYSTORE_ALIAS= # The key alias.
# KEY_PASSWORD=   # The key password, if it has one. 
# AXGROUP=axgroup-001 # Default value is axgroup-001

Der Befehl bewirkt Folgendes:

  • Schafft die Umgebung
  • Erstellt einen einzelnen virtuellen Host für die Umgebung
  • Verknüpft die Umgebung mit allen Nachrichtenprozessoren im Pod, der mit der Organisation verknüpft ist, in der sich die Umgebung befindet.
  • Analysen aktivieren
    Hinweis: Wenn Sie Analysen für eine Umgebung in einer Organisation aktivieren, müssen Sie Analysen für alle Umgebungen in der Organisation aktivieren.

Umgebung mit API-Aufrufen erstellen

Alternativ können Sie die folgenden API-Aufrufe verwenden, um eine Umgebung zu erstellen. Mit dem ersten Aufruf wird die Umgebung erstellt:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments \
-d  '<Environment name="<env-name>"/>' 

Beim nächsten Aufruf wird die Umgebung mit einem Nachrichtenprozessor verknüpft. Führen Sie diesen Aufruf für jeden Message Processor aus, den Sie mit der Umgebung verknüpfen möchten:

curl -H "Content-Type:application/x-www-form-urlencoded" \
-u <sysAdminEmail>:<adminPasswd> -X POST \
http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/servers \
-d "action=add&uuid=<uuid>"

Dabei ist <uuid> die UUID des Nachrichtenverarbeiters. Sie können die UUID mit dem Befehl abrufen:

> curl http://<mp-ip>:8082/v1/servers/self

Dabei ist <mp-ip> die IP-Adresse des Message Processor.

Mit dem nächsten API-Aufruf wird Analytics für eine bestimmte Umgebung aktiviert. Es wird geprüft, ob Qpid- und Postgres-Server in den Pods aller Rechenzentren vorhanden sind. Anschließend wird das Analytics-Onboarding für die angegebene Organisation und Umgebung gestartet.

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile

Diese Konfigurationsdatei enthält Folgendes:

ORG_NAME=orgName  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=envName
curl -H "Content-Type:application/json" -u <sysAdminEmail>:<adminPasswd> 
-X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/analytics/admin -d "@sample.json"

Die Datei „sample.json“ enthält Folgendes:

{
  "properties" : {
    "samplingAlgo" : "reservoir_sampler",
    "samplingTables" : "10=ten;1=one;",
    "aggregationinterval" : "300000",
    "samplingInterval" : "300000",
    "useSampling" : "100",
    "samplingThreshold" : "100000"
  },
  "servers" : {
    "postgres-server" : [ "1acff3a5-8a6a-4097-8d26-d0886853239c", "f93367f7-edc8-4d55-92c1-2fba61ccc4ab" ],  
    "qpid-server" : [ "d3c5acf0-f88a-478e-948d-6f3094f12e3b", "74f67bf2-86b2-44b7-a3d9-41ff117475dd"] 
  }
}

Die Eigenschaft postgres-servers enthält eine durch Kommas getrennte Liste der Postgres-UUIDs und die Eigenschaft qpid-server die Qpid-UUIDs. Wenn Sie diese UUIDs benötigen, verwenden Sie die folgenden Befehle.

Führen Sie für Qpid folgenden Befehl aus:

curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=central

Die Ausgabe dieses Befehls ist ein JSON-Objekt. Für jeden Qpid-Server wird die folgende Ausgabe angezeigt:

"type" : [ "qpid-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

Führen Sie für Postgres den Befehl aus:

curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=analytics

Für jeden Postgres-Server wird die folgende Ausgabe angezeigt:

"type" : [ "postgres-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

Virtuellen Host erstellen

Sie können einen virtuellen Host in einer vorhandenen Umgebung in einer Organisation erstellen. Häufig unterstützt eine Umgebung mehrere virtuelle Hosts. So kann ein virtueller Host beispielsweise das HTTP-Protokoll unterstützen, während ein anderer virtueller Host in derselben Umgebung das verschlüsselte HTTPS-Protokoll unterstützt.

Verwenden Sie den folgenden API-Aufruf, um zusätzliche virtuelle Hosts oder einen virtuellen Host für eine Umgebung ohne virtuellen Host zu erstellen:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST \
http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/virtualhosts \
-d '<VirtualHost name="default"> \
    <HostAliases> \
      <HostAlias>myorg-test.apigee.net</HostAlias> \ 
    </HostAliases> \
    <Interfaces/> \
    <Port>9002</Port> \
  </VirtualHost>' 

Eine vollständige Beschreibung der Erstellung eines virtuellen Hosts, einschließlich der Erstellung eines sicheren virtuellen Hosts, der TLS/SSL über HTTPS verwendet, finden Sie unter http://apigee.com/docs/api-services/content/creating-virtual-host.