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

Edge para nuvem privada v4.18.01

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

Vídeo: assista a um vídeo curto com uma visão geral da configuração da organização da Apigee.

Antes de criar um proxy de API no Apigee Edge, você precisa criar pelo menos uma organização e, em cada organização, um ou mais ambientes e hosts virtuais.

Normalmente, organizações e ambientes são criados juntos. Para simplificar o processo, use o utilitário apigee-provision. Invoque-o na linha de comando do Servidor de gerenciamento de borda:

/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 

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, ele é associado ao pod "gateway"
  • Adicione o usuário especificado como o administrador da organização. Se o usuário não existir, crie um.
  • Criar um ou mais ambientes
  • Criar um ou mais hosts virtuais para cada ambiente
  • Associe o ambiente a todos os processadores de mensagens
  • Ativar análise

Para um arquivo de configuração silencioso completo, consulte Integrar uma organização.

Por padrão, o comprimento máximo do nome da organização e do nome do ambiente é de 20 caracteres ao usar o utilitário apigee-provision. Esse limite não será aplicado se você usar a API Edge diretamente para criar a organização ou o ambiente.

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 hosts virtuais exigidos pela organização para processar chamadas de API.

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

O comando:

  • Cria a organização
  • Associa a organização a um pod. Por padrão, é associado ao pod "gateway"
  • Adiciona o usuário especificado como o administrador da organização. O usuário precisa já existir. 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

Também é possível usar as seguintes chamadas de API para criar uma organização. A primeira chamada cria a 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"

É possível fazer essa chamada várias vezes para associar a organização a vários pods.

Na chamada final, um usuário é adicionado 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, use a chamada a seguir para criar o usuário, conforme descrito em "Adicionar 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

Este arquivo de configuração contém as informações necessárias para criar o ambiente e o host virtual:

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 à organização que contém o ambiente.
  • Ativação da análise
    Observação: se você ativar a análise para um ambiente em uma organização, precisará ativar a análise para todos os ambientes da organização.

Criar um ambiente usando chamadas de API

Também é possível usar as seguintes chamadas de API para criar um ambiente. A primeira chamada 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 essa 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 uuid é o UUID do processador de mensagens. Para conseguir o UUID, use o comando:

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

em que mp-ip é o endereço IP do processador de mensagens.

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

/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 Qpid. Se você precisar receber esses UUIDs, use os comandos a seguir.

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, você verá a saída no formato:

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

No Postgres, execute o comando:

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

A saída de cada servidor Postgres é exibida no formato:

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

Criar um host virtual

É possível criar um host virtual em um ambiente atual de uma organização. Geralmente, um ambiente oferece suporte a vários hosts virtuais. Por exemplo, um host virtual aceita o protocolo HTTP, enquanto outro no mesmo ambiente oferece suporte ao protocolo HTTPS criptografado.

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