Cómo crear una organización, un entorno y un host virtual

Edge for Private Cloud v. 4.17.09

Crear una organización. de entorno y host virtual al mismo tiempo

Antes de crear un proxy de API en Apigee Edge, debes crear al menos una organización. en cada organización, uno o más entornos y hosts virtuales.

Por lo general, las organizaciones y los entornos se crean juntos. Para simplificar el proceso, utiliza la utilidad apigee-provision. Invólalo desde la línea de comandos en el servidor de administración perimetral:

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

El archivo de configuración contiene lo siguiente:

# 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 

A continuación, el comando realiza lo siguiente:

  • Crea la organización
    Nota: No puedes cambiar el nombre de una organización después de crearla.
  • Asocia la organización a un Pod. De forma predeterminada, se asocia a la “puerta de enlace”. grupo
  • Agrega al usuario especificado como administrador de la organización. Si el usuario no existe, puedes crear uno.
  • Crea uno o más entornos
  • Crea uno o más hosts virtuales para cada entorno.
  • Asocia el entorno con todos los procesadores de mensajes
  • Habilitar estadísticas

Para obtener un archivo de configuración silencioso completo, consulta Integra un de Google Cloud.

De forma predeterminada, la longitud máxima del nombre de la organización y el nombre del entorno es de 20 caracteres. cuando uses apigee-provision o de terceros. Este límite no se aplica si usas la API de Edge directamente para crear la organización o en un entorno de nube.

Crear una organización

Usa el comando create-org para crear una organización:

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

Esta secuencia de comandos crea la organización, pero no agrega ni configura los entornos ni los hosts virtuales requeridos por la organización para manejar las llamadas a la API.

El archivo de configuración contiene el nombre de la organización y la dirección de correo electrónico del administrador. El Los caracteres que puedes usar en el atributo de nombre están restringidos a: a-z0-9\-$%. No uses espacios, puntos o letras mayúsculas en el nombre:

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

A continuación, el comando realiza lo siguiente:

  • Crea la organización
  • Asocia la organización con un Pod; de forma predeterminada, se asocia con la “puerta de enlace”. grupo
  • Agrega al usuario especificado como administrador de la organización. El usuario ya debe existir. De lo contrario, el script si emite un error.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

Crea una organización con Llamadas a la API

Como alternativa, puedes usar las siguientes llamadas a la API para crear una organización. La primera llamada crea la organización:

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 siguiente llamada asocia la organización con 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" 

Puedes realizar esta llamada varias veces para asociar la organización con varios Pods.

En la llamada final, se agrega un usuario existente como administrador de la organización:

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

Si el usuario no existe, puedes usar la siguiente llamada para crearlo como se describe en Se está agregando un usuario.

Crear un entorno

Usa el comando add-env para crear un entorno en una organización existente:

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

Este archivo de configuración contiene la información necesaria para crear el entorno 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

El comando anterior realiza lo siguiente:

  • Crea el entorno
  • Crea un host virtual único para el entorno.
  • Asocia el entorno con todos los Message Processors del Pod asociados con el organización que contiene el entorno.
  • Habilita las estadísticas
    Nota: Si habilitas Analytics para un entorno en una organización, debes que habilita las estadísticas para todos los entornos de la organización.

Crear un entorno con Llamadas a la API

Como alternativa, puedes usar las siguientes llamadas a la API para crear un entorno. La primera llamada crea el entorno:

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 siguiente llamada asocia el entorno con un Message Processor. Realizar esta llamada para cada Message Processor que quieres asociar con el entorno:

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

Donde "&lt;uuid&gt;" es el UUID del procesador de mensajes. Para obtener el UUID, puedes usar el siguiente comando:

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

Donde "&lt;mp-ip&gt;" es el Dirección IP del procesador de mensajes.

La siguiente llamada a la API habilitará Analytics para un entorno determinado. Valida la existencia de Servidores Qpid y Postgres en los POD de todos los centros de datos Luego, comienza la integración de Analytics para la organización y el entorno determinados.

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

Este archivo de configuración contiene lo siguiente:

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"

Donde sample.json contiene lo siguiente:

{
  "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 propiedad postgres-servers contiene una lista separada por comas de los UUID de Postgres y la propiedad qpid-server contiene los UUID de Qpid. Si necesitas obtener estos UUID, usa los siguientes comandos.

Para Qpid, ejecuta el comando:

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

El resultado de este comando es un objeto JSON. Para cada servidor Qpid, verás un resultado en la formulario:

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

Para Postgres, ejecuta el comando:

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

Para cada servidor de Postgres, verás un resultado en el formato siguiente:

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

Crea un host virtual

Puedes crear un host virtual en un entorno existente en una organización. A menudo, es admite varios hosts virtuales. Por ejemplo, un host virtual podría admitir la HTTP protocolo, mientras que otro host virtual en el mismo entorno admite el protocolo HTTPS encriptado protocolo.

Usa la siguiente llamada a la API para crear hosts virtuales adicionales, o bien para crear un host virtual para en un entorno sin host virtual:

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

Para obtener una descripción completa de cómo crear un host virtual, incluida la creación de un entorno que usa TLS/SSL sobre HTTPS, consulta Configura el acceso TLS a una API para la nube privada.