Organisation, Umgebung und virtuellen Host erstellen

Edge for Private Cloud Version 4.17.09

Organisation erstellen, Umgebung und virtueller Host gleichzeitig

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

In der Regel werden Organisationen und Umgebungen gemeinsam erstellt. Verwenden Sie zur Vereinfachung dieses Vorgangs das Dienstprogramm apigee-provision. 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. 
# Optionally set the base URL displayed by the Edge UI for an
# API proxy deployed to the virtual host.
# VHOST_BASEURL="http://myCo.com"
# AXGROUP=axgroup-001 # Default value is axgroup-001 

Der Befehl führt dann folgende Schritte aus:

  • Organisation erstellen
    Hinweis: Sie können eine Organisation nach dem Erstellen nicht mehr umbenennen.
  • Die Organisation mit einem Pod verknüpfen, standardmäßig mit dem „Gateway“ Pod
  • Fügen Sie den angegebenen Nutzer als Organisationsadministrator hinzu. Wenn der Nutzer nicht vorhanden ist, können Sie eins.
  • Eine oder mehrere Umgebungen erstellen
  • Einen oder mehrere virtuelle Hosts für jede Umgebung erstellen
  • Umgebung mit allen Message Processor(s) verknüpfen
  • Analytics aktivieren

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

Die maximale Länge von Organisations- und Umgebungsnamen beträgt standardmäßig 20 Zeichen. bei Verwendung der apigee-provision Dienstprogramm. Diese Beschränkung gilt nicht, wenn Sie die Edge API direkt zum Erstellen der Organisation oder zu verbessern.

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 virtuelle Hosts, die das Unternehmen zur Verarbeitung von API-Aufrufen benötigt.

Die Konfigurationsdatei enthält den Namen der Organisation und die E-Mail-Adresse des Administrators der Organisation. Die im Attribut name dürfen nur folgende Zeichen verwendet werden: 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 folgende Schritte aus:

  • Organisation erstellen
  • Ordnet die Organisation einem Pod zu, standardmäßig das Gateway Pod
  • Fügt den angegebenen Nutzer als Organisationsadministrator hinzu. Der Nutzer muss bereits vorhanden sein. Andernfalls wird das Skript gibt einen Fehler aus.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

Organisation mithilfe von API-Aufrufe

Alternativ können Sie die folgenden API-Aufrufe verwenden, um eine Organisation zu erstellen. Der erste Aufruf erstellt der Organisation:

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

Beim 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.

Im 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>'
<ph type="x-smartling-placeholder">

Wenn der Nutzer nicht vorhanden ist, können Sie den folgenden Aufruf verwenden, um den Nutzer wie in Nutzer hinzufügen

Umgebung erstellen

Verwenden Sie den Befehl add-env, um eine Umgebung in einer vorhandenen Organisation 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 Host:

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. 
# Optionally set the base URL displayed by the Edge UI for an
# API proxy deployed to the virtual host.
# VHOST_BASEURL="http://myCo.com"
# AXGROUP=axgroup-001 # Default value is axgroup-001

Der Befehl bewirkt Folgendes:

  • Schafft die Umgebung
  • Erstellt einen einzelnen virtuellen Host für die Umgebung
  • Ordnet die Umgebung allen Message Processor(s) in dem Pod zu, der mit dem Organisation, die die Umwelt enthält.
  • Aktiviert Analytics
    Hinweis: Wenn Sie Analysen für eine Umgebung in einer Organisation aktivieren, müssen Sie Analysen für alle Umgebungen im Unternehmen ermöglichen.

Erstellen Sie eine Umgebung mithilfe von API-Aufrufe

Alternativ können Sie die folgenden API-Aufrufe verwenden, um eine Umgebung zu erstellen. Der erste Anruf schafft die Umgebung:

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 einem Message Processor zugeordnet. Tätigen Sie diesen Aufruf für jede Message Processor, 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>"

Wobei "&lt;uuid&gt;" ist der UUID des Message Processor. Sie können die UUID mit dem folgenden Befehl abrufen:

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

Dabei gilt: "&lt;mp-ip&gt;" ist der IP-Adresse des Message Processor.

Mit dem nächsten API-Aufruf wird Analytics für die jeweilige Umgebung aktiviert. Sie bestätigt die Existenz Qpid- und Postgres-Server in den PODs aller Rechenzentren. Dann beginnt das Analytics-Onboarding für das jeweilige Unternehmen und die jeweilige Umgebung.

> /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"

Dabei enthält die Datei sample.json 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"] 
  }
}

postgres-servers-Attribut enthält eine durch Kommas getrennte Liste der Postgres-UUIDs und die Eigenschaft qpid-server enthält 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 sehen Sie die Ausgabe in der Formular:

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

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

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

Für jeden Postgres-Server wird die Ausgabe in folgendem Format angezeigt:

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

Virtuellen Host erstellen

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

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

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>443</Port> \
  </VirtualHost>' 

Eine vollständige Beschreibung der Erstellung eines virtuellen Hosts, einschließlich der Erstellung eines sicheren virtuellen Hosts Host, der TLS/SSL über HTTPS verwendet, siehe TLS-Zugriff auf eine API konfigurieren für die Private Cloud.