Como configurar o Edge

Edge para nuvem privada v4.18.01

Para configurar o Edge após a instalação, use uma combinação de arquivos .properties e utilitários do Edge. Por exemplo, para configurar TLS/SSL na IU do Edge, edite os arquivos .properties para definir as propriedades necessárias. As alterações nos arquivos .properties exigem que você reinicie o componente do Edge afetado.

A Apigee se refere à técnica de edição de arquivos .properties como código com configuração. Basicamente, o código com config é uma ferramenta de pesquisa de chave-valor baseada nas configurações dos arquivos .properties. No código com a configuração, as chaves são chamadas de tokens. Portanto, para configurar o Edge, defina tokens em arquivos .properties.

O código com "config" permite que os componentes do Edge definam valores padrão que são fornecidos com o produto, que a equipe de instalação substitua essas configurações com base na topologia de instalação e permite que os clientes modifiquem as propriedades que escolherem.

Se você pensar nisso como uma hierarquia, as configurações são organizadas da seguinte maneira, com as configurações do cliente com maior prioridade para substituir qualquer configuração da equipe do instalador ou da Apigee:

  1. Cliente
  2. Instalador
  3. Apigee

Como usar arquivos .properties

Como cliente, só é possível modificar os arquivos .properties no diretório /opt/apigee/customer/application. Cada componente tem o próprio arquivo .properties nesse diretório. Por exemplo, router.properties e management-server.properties.

Por exemplo, para criar um arquivo .properties:

  1. Crie o arquivo em um editor como qualquer usuário.
  2. Chame o proprietário do arquivo para apigee:apigee ou, se você tiver alterado o usuário que está executando o serviço Edge do usuário apigee, use o comando "chown" no arquivo para o usuário que está executando o serviço do Edge.

Para definir uma propriedade de um componente, edite o arquivo .properties correspondente para definir um token e, em seguida, reinicie o componente:

> /opt/apigee/apigee-service/bin/apigee-service component restart

Por exemplo, depois de editar router.properties, reinicie o roteador:

> /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Quando você faz upgrade do Edge, os arquivos .properties no diretório /opt/apigee/customer/application são lidos. Isso significa que o upgrade vai reter as propriedades definidas no componente.

Local dos arquivos .properties

Há três diretórios de nível superior para arquivos .properties para componentes do Edge: proprietário da instalação e clientes. Os locais padrão são mostrados na tabela a seguir:

Aviso: os clientes do Edge só podem modificar os arquivos .properties em /opt/apigee/customer. Embora você possa visualizar os arquivos nos diretórios de componentes e de instalação, não modifique nenhum arquivo.

Proprietário

Diretório raiz de tokens padrão

Componente

/opt/apigee/<prefix>-<component>/conf

em que /<prefix>-<component> identifica o componente, como roteador de borda ou apigee-cassandra.

Instalação

/opt/apigee/token

Cliente

/opt/apigee/customer

Como determinar o valor atual de um token

Antes de configurar um token no arquivo .properties do componente, é possível determinar o valor atual dele usando o seguinte comando:

> /opt/apigee/apigee-service/bin/apigee-service comp configure -search token

em que comp é o nome do componente e token é o token a ser inspecionado.

Esse comando pesquisa a hierarquia dos arquivos .properties para determinar o valor atual do token.

Por exemplo, para verificar o valor atual do token conf_http_HTTPRequest.line.limit para o roteador:

> /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

Você verá a saída no formulário:

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

Como configurar tokens em arquivos .properties

Para substituir o valor de um token:

  1. Edite o arquivo .properties do componente para definir o valor do token. Se o arquivo não existir, crie-o.
  2. Reinicie o componente.
  3. Verifique o valor do token.

Por exemplo, para definir o limite da linha de solicitação do roteador de borda:

  1. Edite o arquivo /opt/apigee/customer/application/router.properties para definir o token conf_http_HTTPRequest.line.limit:

    conf_http_HTTPRequest.line.limit=8k
  2. Reinicie o roteador de borda:

    > /opt/apigee/apigee-service/bin/apigee-service change-router restart
  3. Verifique o valor do token:

    > /opt/apigee/apigee-service/bin/apigee-service gateway-router configure -search conf_http_HTTPRequest.line.limit

Como configurar um token que aceita vários valores

Alguns tokens têm uma lista de valores separados por vírgulas. Por exemplo, o token conf_security_rbac.restricted.resources recebe uma lista de URIs restritos para que apenas o sysadmin possa chamá-los. Para ver o valor de conf_security_rbac.restricted.resources:

> cd /opt/apigee/edge-management-server
> grep -ri "conf_security_rbac.restricted.resources" *

A saída contém o seguinte:

token/default.properties:conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status

Para definir um token que use uma lista de valores, anexe os novos valores ao valor atual do token no arquivo .properties. Portanto, para adicionar o URI /myuri/* a conf_security_rbac.restricted.resources, edite o arquivo /opt/apigee/customer/application/management-server.properties como mostrado abaixo:

conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

Como localizar um token

Na maioria dos casos, os tokens que você precisa definir estão identificados neste guia. No entanto, se for necessário determinar o token usado para substituir uma propriedade, execute um grep na pasta source do componente.

Por exemplo, se você sabe que em uma versão anterior do Edge definiu a propriedade session.maxAge e quer saber o valor do token usado para configurá-la, use grep para a propriedade no diretório /opt/apigee/edge-ui/source:

> grep -ri "session.maxAge" /opt/apigee/edge-ui/source

Você verá um resultado no formulário:

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

A string entre as tags {T}{/T} é o token que você definiu no arquivo .properties.

Como configurar um token que está comentado no momento

Alguns tokens são comentados nos arquivos de configuração do Edge. Se você tentar definir um token com comentários, a configuração será ignorada.

Para definir um token que é comentado, use uma sintaxe especial, no formato:

conf/file.extension+propertyName=propertyValue

Por exemplo, você quer definir a propriedade chamada HTTPClient.proxy.host no processador de mensagens. Depois, use o comando grep na propriedade para determinar o token:

> cd /opt/apigee/edge-message-processor
> grep -ri "HTTPClient.proxy.host" *

O comando grep retorna resultados no formulário que incluem o valor do token. Observe como o nome da propriedade é comentado, conforme indicado pelo prefixo # no nome da propriedade:

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

Para definir a propriedade, edite /opt/apigee/customer/application/message-processor.properties para defini-la como:

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

O nome da propriedade é prefixado por conf/http.properties+, pelo local e nome do arquivo de configuração que contém a propriedade, seguido por "+".

Depois de reiniciar o processador de mensagens, examine o arquivo /opt/apigee/edge-message-processor/conf/http.properties:

> cat /opt/apigee/edge-message-processor/conf/http.properties

No final do arquivo, você verá o conjunto de propriedades na forma:

conf/http.properties:HTTPClient.proxy.host=myhost.name.com