Organisation, Umgebung und virtuellen Host erstellen

Sie können eine Organisation, eine Umgebung und einen virtuellen Host in der Befehlszeile mit einem einzigen Befehl oder einzeln erstellen. Darüber hinaus können Sie für viele dieser Aktionen die Edge API verwenden.

Video: Sehen Sie sich ein kurzes Video an, um einen Überblick über die Einrichtung und Konfiguration von Apigee-Organisationen zu erhalten.

Organisation, Umgebung und virtuellen Host gleichzeitig erstellen

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

In der Regel werden Organisationen und Umgebungen gemeinsam erstellt. Verwenden Sie das Dienstprogramm apigee-provision, um den Vorgang zu vereinfachen. Rufen Sie es über die Befehlszeile auf dem Edge Management Server auf:

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

Dabei ist configFile der Pfad zu einer Konfigurationsdatei, die in etwa so aussieht:

# Set Edge sys admin credentials.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=admin_password  # If omitted, you are prompted for it.
NEW_USER="y"
USER_NAME=orgAdmin@myCo.com
FIRST_NAME=foo
LAST_NAME=bar
USER_PWD="userPword"
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
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

Beim Einrichten einer Organisation führt das Skript setup-org folgende Schritte aus:

  • Die Organisation wird erstellt.
  • Ordnet die Organisation dem Pod "gateway" zu. Diese Einstellung kann nicht geändert werden.
  • Fügt den angegebenen Nutzer als Organisationsadministrator hinzu. Wenn der Nutzer nicht vorhanden ist, können Sie einen erstellen.
  • Erstellt eine oder mehrere Umgebungen.
  • Erstellt einen oder mehrere virtuelle Hosts für jede Umgebung.
  • Ordnet die Umgebung allen Message Processor(en) zu.
  • Aktiviert Analytics.

Wenn das Dienstprogramm apigee-provision verwendet wird, beträgt die maximale Länge des Organisations- und Umgebungsnamens standardmäßig 20 Zeichen. Dieses Limit gilt nicht, wenn Sie die Edge API direkt verwenden, um die Organisation oder Umgebung zu erstellen. Sowohl der Organisationsname als auch der Umgebungsname müssen kleingeschrieben werden.

Organisation erstellen

Verwenden Sie den Befehl create-org, um eine Organisation zu erstellen, wie im folgenden Beispiel gezeigt:

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

Mit diesem Skript wird die Organisation erstellt, aber die Umgebungen und virtuellen Hosts, die von der Organisation zur Verarbeitung von API-Aufrufen benötigt werden, werden nicht hinzugefügt oder konfiguriert.

Die Konfigurationsdatei enthält den Namen der Organisation und die E-Mail-Adresse des Organisationsadministrators. Die Zeichen im name-Attribut sind auf a-z0-9\-$% beschränkt. Verwenden Sie keine Leerzeichen, Punkte oder Großbuchstaben im Namen:

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

Das Skript create-org:

  • Die Organisation wird erstellt.
  • Ordnet die Organisation dem Pod "gateway" zu.
  • Fügt den angegebenen Nutzer als Organisationsadministrator hinzu. Der Nutzer muss bereits vorhanden sein. Andernfalls gibt das Skript einen Fehler aus.

Organisation mithilfe von API-Aufrufen erstellen

Mit den folgenden API-Aufrufen können Sie eine Organisation erstellen. Mit dem ersten Aufruf wird die Organisation erstellt:

curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
  -X POST http://management_server_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://management_server_IP:8080/v1/organizations/org_name/pods \
  -d "region=default&pod=gateway"

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

Wenn der Nutzer nicht vorhanden ist, können Sie den folgenden Aufruf verwenden, um ihn zu erstellen, wie unter Nutzer hinzufügen beschrieben.

Umgebung erstellen

Verwenden Sie das Skript 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=admin_password  # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
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

Führen Sie den Befehl add-env aus:

  • Erstellt die Umgebung.
  • Erstellt einen einzelnen virtuellen Host für die Umgebung.
  • Ordnet die Umgebung allen Message Processor(en) im Pod zu, die der Organisation zugeordnet sind, die die Umgebung enthält.
  • Aktiviert Analysen

Umgebung mithilfe von 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://management_server_IP:8080/v1/organizations/org_name/environments \
  -d '<Environment name="env_name"/>'

Beim nächsten Aufruf wird die Umgebung einem Message Processor zugeordnet. 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://management_server_IP:8080/v1/organizations/org_name/environments/env_name/servers \
  -d "action=add&uuid=uuid"

Dabei ist uuid die UUID des Message Processor. Sie können die UUID mit dem folgenden Befehl abrufen:

curl http://Message_Processor_IP:8082/v1/servers/self

Dabei ist Message_Processor_IP die IP-Adresse des Message Processor.

Durch den nächsten API-Aufruf wird Analytics für eine bestimmte Umgebung aktiviert. Damit wird die Existenz der Qpid- und Postgres-Server in den PODs aller Rechenzentren validiert. Anschließend wird das Analytics-Onboarding für die angegebene Organisation und Umgebung gestartet.

Diese Konfigurationsdatei enthält Folgendes:

ORG_NAME=orgName  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=envName  # lowercase only

Wobei „sample.json“ Folgendes enthält:

{
  "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"] 
  }
}

Das Attribut postgres-servers enthält eine durch Kommas getrennte Liste der Postgres-UUIDs und das Attribut qpid-server enthält die Qpid-UUIDs. Wenn Sie diese UUIDs abrufen müssen, verwenden Sie die folgenden Befehle.

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

curl -u sysAdminEmail:password http://management_server_IP/v1/servers?pod=central

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

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

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

curl -u sysAdminEmail:admin_password http://management_server_IP/v1/servers?pod=analytics

Für jeden Postgres-Server wird die Ausgabe im folgenden Format 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. Beispielsweise kann ein virtueller Host 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://management_server_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 eines sicheren virtuellen Hosts, der TLS/SSL über HTTPS verwendet, finden Sie unter TLS-Zugriff auf eine API für die Private Cloud konfigurieren.