Puedes crear una organización, un entorno y un host virtual en la línea de comandos con un solo comando o puedes crear cada uno por separado. Además, puedes usar la API de Management para realizar muchas de estas acciones.
Video: Mira un video breve para obtener una descripción general de la configuración de la organización de Apigee.
Crea una organización, un entorno y un host virtual al mismo tiempo
Antes de crear un proxy de API en Apigee Edge, debes crear al menos una organización y, dentro de 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, usa la utilidad apigee-provision
. Invócalo 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
Donde configFile es la ruta de acceso a un archivo de configuración similar al siguiente:
# 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
Cuando configuras una organización, la secuencia de comandos setup-org
hace lo siguiente:
- Crea la organización.
- Asocia la organización con el Pod “puerta de enlace”. Esta opción no se puede modificar.
- 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.
- Habilita las estadísticas.
De forma predeterminada, la longitud máxima del nombre de la organización y el nombre del entorno es de 20 caracteres cuando se usa la utilidad apigee-provision
. Este límite no se aplica si usas la
API de Edge directamente para crear la organización o el entorno. El nombre de la organización y del entorno deben estar en minúscula.
Crea una organización
Usa el comando create-org
para crear una organización, como se muestra en el siguiente ejemplo:
/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 y hosts virtuales que requiere 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 de la
organización. Los caracteres que puedes usar en el atributo name
están restringidos a a-z0-9\-$%
. No uses espacios, puntos ni letras mayúsculas en el nombre.
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
La secuencia de comandos create-org
:
- Crea la organización.
- Asocia la organización con el Pod “puerta de enlace”.
- Agrega al usuario especificado como administrador de la organización. El usuario ya debe existir; de lo contrario, la secuencia de comandos emitirá un error.
Crea una organización con llamadas a la API
Puedes usar las siguientes llamadas a la API para crear una organización. Con la primera llamada, se crea la organización:
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"/>'
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://management_server_IP:8080/v1/organizations/org_name/pods \ -d "region=default&pod=gateway"
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 Agrega un usuario.
Crear un entorno
Usa la secuencia de comandos 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 y el host virtual:
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
Con el comando add-env
, se realiza lo siguiente:
- Crea el entorno.
- Crea un único host virtual para el entorno.
- Asocia el entorno con todos los procesadores de mensajes del Pod asociado a la organización que contiene el entorno.
- Habilita las estadísticas
Crea un entorno mediante 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://management_server_IP:8080/v1/organizations/org_name/environments \ -d '<Environment name="env_name"/>'
La llamada siguiente asocia el entorno con un Message Processor. Realiza esta llamada para cada procesador de mensajes que desees asociar con el entorno:
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"
En el ejemplo anterior, uuid es el UUID de Message Processor. Puedes obtener el UUID mediante el siguiente comando:
curl http://Message_Processor_IP:8082/v1/servers/self
Donde Message_Processor_IP es la dirección IP de Message Processor.
La próxima llamada a la API habilita Analytics para un entorno determinado. Valida la existencia de servidores Qpid y Postgres en los Pods de todos los centros de datos. Luego, inicia la integración de Analytics para la organización y el entorno determinados.
Este archivo de configuración contiene lo siguiente:
ORG_NAME=orgName # lowercase only, no spaces, underscores, or periods. ENV_NAME=envName # lowercase only
En el ejemplo anterior, 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 siguiente comando:
curl -u sysAdminEmail:password http://management_server_IP/v1/servers?pod=central
El resultado de este comando es un objeto JSON. Para cada servidor Qpid, verás el resultado en la siguiente forma:
"type" : [ "qpid-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
En Postgres, ejecuta el siguiente comando:
curl -u sysAdminEmail:admin_password http://management_server_IP/v1/servers?pod=analytics
Para cada servidor de Postgres, verás el resultado con la siguiente forma:
"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, un entorno admite varios hosts virtuales. Por ejemplo, un host virtual puede admitir el protocolo HTTP, mientras que otro host virtual en el mismo entorno admite el protocolo HTTPS encriptado.
Usa la siguiente llamada a la API con el fin de crear hosts virtuales adicionales o un host virtual para un entorno sin host virtual:
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>'
Para obtener una descripción completa de la creación de un host virtual, incluida la creación de un host virtual seguro que use TLS/SSL mediante HTTPS, consulta Configura el acceso de TLS a una API para la nube privada.