Como criar uma organização, um ambiente e um host virtual

Edge for Private Cloud v. 4.17.05

Criação de uma organização de código aberto e host virtual ao mesmo tempo

Antes de criar um proxy de API no Apigee Edge, é preciso criar pelo menos uma organização e, dentro de cada organização, um ou mais ambientes e hosts virtuais.

Normalmente, as organizações e os ambientes são criados juntos. Para simplificar o processo, use com o utilitário apigee-provision. Chame-o na linha de comando do Edge Management Server:

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

O arquivo de configuração contém:

# 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 

Em seguida, o comando:

  • Criar a organização
    Observação: não é possível renomear uma organização depois de criá-la.
  • Associar a organização a um pod. Por padrão, isso é associado ao "gateway" bando
  • Adicione o usuário especificado como administrador da organização. Se o usuário não existir, você poderá criar um.
  • Criar um ou mais ambientes
  • Criar um ou mais hosts virtuais para cada ambiente
  • Associar o ambiente a todos os processadores de mensagens
  • Ativar análise

Para acessar um arquivo de configuração silenciosa completo, consulte Integrar um organização.

Por padrão, o tamanho máximo dos nomes da organização e do ambiente é de 20 caracteres ao usar a opção apigee-provision utilitário. Esse limite não se aplica se você usar a API Edge diretamente para criar a organização ou de nuvem.

Criar uma organização

Use o comando create-org para criar uma organização:

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

Esse script cria a organização, mas não adiciona nem configura os ambientes e e os hosts virtuais exigidos pela organização para lidar com chamadas de API.

O arquivo de configuração contém o nome da organização e o endereço de e-mail do administrador da organização. A os caracteres que você pode usar no atributo de nome estão restritos a: a-z0-9\-$%. Não use espaços, pontos finais ou letras maiúsculas no 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

Em seguida, o comando:

  • Cria a organização
  • Associa a organização a um pod. Por padrão, ele é associado ao "gateway" bando
  • Adiciona o usuário especificado como administrador da organização. É necessário que o usuário já exista. caso contrário, o script emite um erro.
.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

Criar uma organização usando Chamadas de API

Como alternativa, você pode usar as seguintes chamadas de API para criar uma organização. A primeira chamada cria organização:

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

A próxima chamada associa a organização a um 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" 

Você pode fazer essa chamada várias vezes para associar a organização a vários que os pods implementam.

A chamada final adiciona um usuário existente como administrador da organização:

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 o usuário não existir, você pode usar a seguinte chamada para criar o usuário, conforme descrito em Adição de um usuário.

Criar um ambiente

Use o comando add-env para criar um ambiente em uma organização atual:

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

Esse arquivo de configuração contém as informações necessárias para criar o ambiente e as 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

O comando:

  • Cria o ambiente
  • Cria um host virtual único para o ambiente
  • Associa o ambiente a todos os processadores de mensagens no pod associado ao organização que contém o ambiente.
  • Ativa o Analytics
    Observação: se você ativar a análise para um ambiente de uma organização, será necessário e ativar análises para todos os ambientes da organização.

Crie um ambiente usando Chamadas de API

Como alternativa, você pode usar as seguintes chamadas de API para criar um ambiente. A primeira ligação cria o 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>"/>' 

A próxima chamada associa o ambiente a um processador de mensagens. Faça esta chamada para cada Processador de mensagens que você quer associar ao 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>"

Em que "&lt;uuid&gt;" é UUID do processador de mensagens. Você pode obter o UUID usando o comando:

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

Em que "&lt;mp-ip&gt;" é Endereço IP do processador de mensagens.

A próxima chamada de API ativa o Google Analytics para um determinado ambiente. Ele valida a existência de os servidores Qpid e Postgres nos PODs de todos os data centers. Em seguida, ela inicia a integração do Google Analytics. para a organização e o ambiente.

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

Esse arquivo de configuração contém:

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"

Em que sample.json contém o seguinte:

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

A propriedade postgres-servers contém uma lista separada por vírgulas dos UUIDs do Postgres e a propriedade qpid-server contém os UUIDs do Qpid. Se você precisar obter esses UUIDs, use os seguintes comandos.

Para Qpid, execute o comando:

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

A saída desse comando é um objeto JSON. Para cada servidor Qpid, a saída será exibida na formulário:

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

Para Postgres, execute o comando:

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

Para cada servidor Postgres, você verá a saída no formulário:

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

Criar um host virtual

É possível criar um host virtual no ambiente atual de uma organização. Muitas vezes, um oferece suporte a vários hosts virtuais. Por exemplo, um host virtual pode ser compatível com o protocolo e outro host virtual no mesmo ambiente oferece suporte ao protocolo HTTPS protocolo.

Use a seguinte chamada de API para criar hosts virtuais adicionais ou um host virtual para em um ambiente sem 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 obter uma descrição completa de como criar um host virtual, incluindo a criação de um host que usa TLS/SSL sobre HTTPS, consulte Como configurar o acesso TLS a uma API para a nuvem privada.