Creazione di un'organizzazione, un ambiente e un host virtuale

Edge per Private Cloud v4.18.01

Creazione di un'organizzazione, un ambiente e un host virtuale contemporaneamente

Video: guarda un breve video per una panoramica della configurazione e della configurazione di un'organizzazione Apigee.

Prima di creare un proxy API su Apigee Edge, devi creare almeno un'organizzazione e, all'interno di ciascuna, uno o più ambienti e host virtuali.

In genere, le organizzazioni e gli ambienti vengono creati insieme. Per semplificare la procedura, utilizza l'utilità apigee-provision. Richiamalo dalla riga di comando su Edge Management Server:

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

Il file di configurazione contiene:

# 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 

Il comando quindi:

  • Crea l'organizzazione
    Nota: non puoi rinominare un'organizzazione dopo averla creata.
  • Associa l'organizzazione a un pod, per impostazione predefinita la associa al pod "gateway"
  • Aggiungi l'utente specificato come amministratore dell'organizzazione. Se l'utente non esiste, puoi crearne uno.
  • Crea uno o più ambienti
  • Crea uno o più host virtuali per ogni ambiente
  • Associare l'ambiente a tutti i processori di messaggi
  • Abilita dati e analisi

Per un file di configurazione invisibile all'utente completo, vedi Eseguire l'onboarding di un'organizzazione.

Per impostazione predefinita, la lunghezza massima del nome dell'organizzazione e del nome dell'ambiente è di 20 caratteri quando si utilizza l'utilità apigee-provision. Questo limite non si applica se utilizzi direttamente l'API Edge per creare l'organizzazione o l'ambiente.

Crea un'organizzazione

Utilizza il comando create-org per creare un'organizzazione:

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

Questo script crea l'organizzazione, ma non aggiunge né configura gli ambienti e gli host virtuali necessari per gestire le chiamate API.

Il file di configurazione contiene il nome dell'organizzazione e l'indirizzo email del relativo amministratore. I caratteri che puoi utilizzare nell'attributo nome sono limitati a: a-z0-9\-$%. Non utilizzare spazi, punti o lettere maiuscole nel nome:

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

Il comando quindi:

  • Crea l'organizzazione
  • Associa l'organizzazione a un pod, per impostazione predefinita la associa al pod "gateway"
  • Aggiunge l'utente specificato come amministratore dell'organizzazione. L'utente deve già esistere. In caso contrario, lo script restituisce un errore.
<Error>
  <Code>organizations.OrganizationAlreadyExists</Code>
  <Message>Organization : test already exists</Message>
  <Contexts/>
</Error>

Crea un'organizzazione utilizzando le chiamate API

In alternativa, puoi utilizzare le seguenti chiamate API per creare un'organizzazione. La prima chiamata crea l'organizzazione:

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

La chiamata successiva associa l'organizzazione a un pod:

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"

Puoi effettuare questa chiamata più volte per associare l'organizzazione a più pod.

Nell'ultima chiamata, viene aggiunto un utente esistente come amministratore dell'organizzazione:

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

Se l'utente non esiste, puoi utilizzare la chiamata seguente per creare l'utente come descritto in Aggiunta di un utente.

Creazione di un ambiente

Utilizza il comando add-env per creare un ambiente in un'organizzazione esistente:

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

Questo file di configurazione contiene le informazioni necessarie per creare l'ambiente e l'host virtuale:

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

Il comando:

  • Crea l'ambiente
  • Crea un singolo host virtuale per l'ambiente
  • Associa l'ambiente a tutti i processori di messaggi nel pod associato all'organizzazione contenente l'ambiente.
  • Abilita l'analisi
    Nota: se abiliti l'analisi per un ambiente di un'organizzazione, devi abilitare l'analisi per tutti gli ambienti dell'organizzazione.

Crea un ambiente utilizzando le chiamate API

In alternativa, puoi utilizzare le chiamate API seguenti per creare un ambiente. La prima chiamata crea l'ambiente:

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

La chiamata successiva associa l'ambiente a un processore di messaggi. Effettua questa chiamata per ogni processore di messaggi che vuoi associare all'ambiente:

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"

Dove uuid è l'UUID del processore di messaggi. Puoi ottenere l'UUID utilizzando il comando:

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

Dove mp-ip è l'indirizzo IP del processore di messaggi.

La chiamata API successiva abilita Analytics per un determinato ambiente. Convalida l'esistenza dei server Qpid e Postgres nei POD di tutti i data center. Poi avvia l'onboarding di Analytics per l'organizzazione e l'ambiente specificati.

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

Questo file di configurazione contiene:

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"

dove sample.json contiene quanto segue:

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

La proprietà postgres-servers contiene un elenco separato da virgole degli UUID Postgres, mentre la proprietà qpid-server contiene gli UUID Qpid. Se devi ottenere questi UUID, utilizza i comandi seguenti.

Per Qpid, esegui il comando:

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

L'output di questo comando è un oggetto JSON. Per ogni server Qpid, vedrai l'output nel formato:

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

Per Postgres, esegui questo comando:

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

Per ogni server Postgres, vedrai l'output nel formato:

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

Crea un host virtuale

Puoi creare un host virtuale in un ambiente esistente in un'organizzazione. Spesso un ambiente supporta più host virtuali. Ad esempio, un host virtuale potrebbe supportare il protocollo HTTP, mentre un altro host virtuale nello stesso ambiente supporta il protocollo HTTPS criptato.

Utilizza la seguente chiamata API per creare host virtuali aggiuntivi o per creare un host virtuale per un ambiente senza host virtuale:

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

Per una descrizione completa della creazione di un host virtuale, compresa la creazione di un host virtuale sicuro che utilizza TLS/SSL su HTTPS, consulta Configurazione dell'accesso TLS a un'API per il cloud privato.