Este documento descreve como instalar e configurar o Apigee a partir da linha de comandos
com a interligação de VPCs. Estes passos aplicam-se aos modelos de preços de subscrição e de pagamento conforme o uso
para organizações pagas com ou sem a
residência de dados ativada.
Resumo dos passos
Os passos de aprovisionamento são os seguintes:
Passo 1: defina as variáveis de ambiente:
Configure gcloud e defina as variáveis de ambiente.
A CLI Google Cloud gere a autenticação, a configuração local,
o fluxo de trabalho do programador e as interações com as APIs Google Cloud.
Passo 4: configure a rede de serviços: a rede de serviços
automatiza a configuração da conetividade privada (através do peering de redes VPC) entre a sua rede
e o Apigee.
Passo 5: crie uma organização: uma organização do Apigee
(por vezes, denominada org) é o contentor de nível superior no Apigee. Inclui todos os seus ambientes e grupos de ambientes, utilizadores, proxies de API e recursos relacionados.
Passo 6: crie uma instância de tempo de execução: uma instância, ou tempo de execução, é onde o seu projeto e os serviços relacionados são armazenados. Fornece o ponto final virado para o utilizador dos seus serviços.
Passo 7: crie um ambiente: um proxy de API tem de ser
implementado num ambiente e adicionado a um grupo de ambientes antes de as APIs que expõe
serem acessíveis através da rede.
Inicialize o SDK do Google Cloud, conforme descrito em Inicializar a CLI gcloud, ou certifique-se de que o projeto do Google Cloud que criou em Pré-requisitos é o projeto predefinido para gcloud.
Defina as seguintes variáveis de ambiente no terminal de comandos.
Selecione o separador que corresponde ao tipo de organização de que precisa:
Sem residência de dados ou com
Residência de dados:
AUTH define o cabeçalho Authentication com um token de portador.
Vai usar este cabeçalho quando chamar as APIs Apigee. Tenha em atenção que o token expira após um período e, quando isso acontece, pode regenerá-lo facilmente através do mesmo comando. Para mais informações, consulte a página de referência do
comando print-access-token.
PROJECT_ID é o ID do projeto do Google Cloud que criou como parte dos
Pré-requisitos.
PROJECT_NUMBER é o número do projeto do Google Cloud que criou como parte
dos Pré-requisitos.
RUNTIME_LOCATION é a localização física onde a instância do Apigee que
vai criar mais tarde está localizada. Para ver uma lista das localizações de tempo de execução disponíveis, consulte o artigo
Localizações do Apigee.
ANALYTICS_REGION é a localização física na qual os dados de estatísticas do Apigee serão armazenados. Para ver uma lista das regiões da API Apigee Analytics disponíveis, consulte o artigo Localizações da Apigee.
RUNTIME_LOCATION e ANALYTICS_REGION
podem ser a mesma região, mas não têm de ser.
BILLING_TYPE é o tipo de faturação da organização que cria. Os valores válidos são:
AUTH define o cabeçalho Authentication com um token de portador.
Vai usar este cabeçalho quando chamar as APIs Apigee. Tenha em atenção que o token expira após um período e, quando isso acontece, pode regenerá-lo facilmente através do mesmo comando. Para mais informações, consulte a página de referência do
comando print-access-token.
PROJECT_ID é o ID do projeto do Google Cloud que criou como parte dos
Pré-requisitos.
PROJECT_NUMBER é o número do projeto do Google Cloud que criou como parte
dos Pré-requisitos.
RUNTIME_LOCATION é a localização física onde a instância do Apigee que
vai criar mais tarde está localizada. Para ver uma lista das localizações de tempo de execução disponíveis, consulte o artigo
Localizações do Apigee.
A localização do tempo de execução tem de estar dentro
da localização do plano de controlo.
CONTROL_PLANE_LOCATION é a localização física na qual os dados do plano de controlo do Apigee são armazenados.
Para ver uma lista de localizações do plano de controlo disponíveis, consulte o artigo Localizações do Apigee.
CONSUMER_DATA_REGION é uma sub-região da região do plano de controlo. Tem de especificar a CONTROL_PLANE_LOCATION e a CONSUMER_DATA_REGION.
Para ver uma lista das regiões de dados de consumidores disponíveis, consulte as
localizações do Apigee.
BILLING_TYPE é o tipo de faturação da organização que cria. Os valores válidos são:
(Opcional) Verifique o seu trabalho repetindo os valores que acabou de definir. Tenha em atenção que, quando quiser usar uma variável nos seus comandos, preceda o nome da variável com um cifrão ($).
As respostas aos seus comandos echo devem ter um aspeto semelhante ao seguinte:
YOUR_TOKEN
my-cloud-project
1234567890
us-west1
us
us-west1
SUBSCRIPTION
Passo 2: ative as APIs
Autorizações necessárias para esta tarefa
Pode atribuir ao aprovisionador do Apigee uma função predefinida que inclua as autorizações necessárias para concluir esta tarefa ou atribuir autorizações mais detalhadas para fornecer o mínimo de privilégios necessário. Consulte as
Funções predefinidas e as
Autorizações de ativação de APIs.
O Apigee requer que ative várias APIs Google Cloud. Ative-as executando o seguinte comando services enable:
Verifique se o agente foi criado com êxito. A resposta deve apresentar o nome do
agente no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com.
por exemplo:
Service identity created: service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
Passo 4: configure a rede de serviços
Neste passo, atribui um par de intervalos de endereços IP (um intervalo CIDR /22 e /28) ao Apigee e
faz o peering de VPC entre a sua rede e a rede do Apigee. Cada instância do Apigee requer um intervalo CIDR não sobreposto de /22 e /28. Ao plano de tempo de execução do Apigee
são atribuídos endereços IP dentro deste intervalo CIDR. Como resultado, é importante que o intervalo esteja reservado para o Apigee e não seja usado por outras aplicações na sua rede VPC. Para mais informações e considerações importantes,
consulte o artigo Compreender os intervalos de peering.
Tenha em atenção que está a criar um intervalo de IPs de rede suficiente para uma instância do Apigee. Se planear criar instâncias adicionais do Apigee, tem de repetir este passo para cada uma delas. Não é possível partilhar os intervalos entre instâncias. Consulte também o artigo Expansão do Apigee para várias regiões.
Autorizações necessárias para
esta tarefa
Pode atribuir ao aprovisionador do Apigee uma função predefinida que inclua as autorizações necessárias para concluir esta tarefa ou atribuir autorizações mais detalhadas para fornecer o mínimo de privilégios necessário. Consulte os
Funções predefinidas e as
Autorizações de rede de serviços.
RANGE_NAME é o nome do intervalo de endereços IP que está a criar.
Pode atribuir o nome que quiser ao intervalo. Por exemplo: google-svcs
NETWORK_NAME é o nome do recurso de rede no qual os endereços devem ser reservados.
A Google cria uma rede predefinida
(denominada default) para cada novo projeto, para que a possa usar. No entanto,
a Google não recomenda a utilização da rede predefinida para fins que não sejam testes.
Crie um intervalo de IP de rede com um comprimento CIDR de /22:
Onde --addresses lhe permite especificar opcionalmente um intervalo de moradas. Por exemplo, para atribuir o bloco CIDR
192.168.0.0/22, especifique 192.168.0.0 para
o endereço e 22 para o comprimento do prefixo. Consulte também
Criar uma atribuição de IP.
Se não fornecer o parâmetro --addresses, o gcloud seleciona um intervalo de endereços disponível para si.
Em caso de êxito, o gcloud responde com o seguinte:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/addresses/google-svcs].
Depois de criar um intervalo de endereços IP, os endereços são associados ao projeto até os libertar.
Verifique se o intervalo de IPs da rede foi criado com um comprimento CIDR de /22:
Crie um intervalo de IP de rede com um comprimento CIDR de /28. Este intervalo é obrigatório e é usado pelo Apigee para fins de resolução de problemas, e não pode ser personalizado nem alterado.
Onde --addresses lhe permite especificar opcionalmente um intervalo de moradas. Por exemplo, para atribuir o bloco CIDR
192.168.0.0/28, especifique 192.168.0.0 para
o endereço e 28 para o comprimento do prefixo. Consulte também
Criar uma atribuição de IP.
Se não fornecer o parâmetro --addresses, o gcloud seleciona um intervalo de endereços disponível para si.
Verifique se o intervalo de IPs da rede foi criado com um comprimento CIDR de /28:
O Apigee cria uma ligação entre a sua rede e os serviços da Google; especificamente,
o Apigee liga o seu projeto à API Service Networking através do intercâmbio de VPC. O Apigee
também associa endereços IP ao seu projeto.
Após alguns minutos, verifique se o peering de VPC foi bem-sucedido:
gcloud services vpc-peerings list \
--network=$NETWORK_NAME \
--service=servicenetworking.googleapis.com \
--project=$PROJECT_ID
Passo 5: crie uma organização
Autorizações necessárias para esta tarefa
Pode atribuir ao aprovisionador do Apigee uma função predefinida que inclua
as autorizações necessárias para concluir esta tarefa ou atribuir autorizações
mais detalhadas para conceder o mínimo de privilégios necessário. Consulte:
Crie um conjunto de chaves e uma chave de encriptação de base de dados de tempo de execução.
Defina uma variável de ambiente para a localização do anel de encriptação e da chave da base de dados de tempo de execução. Isto ajuda a garantir a consistência quando os cria e
facilita o acompanhamento na documentação.
O valor é a localização física onde o conjunto de chaves de encriptação da base de dados de tempo de execução
e a chave são armazenados.
Região única
Configurações de região única (nas quais tem apenas uma instância
numa região): escolha entre as localizações regionais
do KMS suportadas.
Por exemplo:
RUNTIMEDBKEY_LOCATION="us-west1"
O valor pode ser o mesmo que o seu $RUNTIME_LOCATION (também uma região), mas não tem de o ser. No entanto, pode haver uma vantagem em termos de desempenho se forem iguais.
Recomendamos que, se tiver uma configuração multirregional nos EUA, use
us para a sua localização, se possível. Caso contrário, use nam4.
Defina variáveis de ambiente para os conjuntos de chaves e os nomes das chaves da base de dados.
O nome do conjunto de chaves tem de ser exclusivo da sua organização. Se criar uma segunda ou uma região subsequente, o nome não pode ser igual ao de outros nomes de conjuntos de chaves.
(Opcional) Verifique o seu trabalho repetindo os valores que acabou de definir. Lembre-se de que, quando quiser
usar uma variável nos seus comandos, deve preceder o nome da variável com um cifrão
($).
A localização da chave de encriptação da base de dados de tempo de execução do Apigee é compatível com todas as localizações do Cloud KMS que suportam o Cloud HSM e o Cloud EKM.
Este comando associa a chave ao agente de serviço do Apigee.
Após a conclusão bem-sucedida deste pedido, o gcloud responde com algo semelhante ao seguinte:
Updated IAM policy for key [runtime].
bindings:
- members:
- serviceAccount:service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
role: roles/cloudkms.cryptoKeyEncrypterDecrypter
etag: BwWqgEuCuwk=
version: 1
Se receber um erro como o seguinte:
INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.
Certifique-se de que usou o número do projeto e não o nome do projeto no endereço de email da conta de serviço.
Se estiver a usar a
residência de dados, crie um conjunto de chaves de encriptação do plano de controlo e uma
chave. Se não estiver a usar a residência de dados, avance para o passo 3.
Execute os passos seguintes para criar um conjunto de chaves e uma chave de encriptação do plano de controlo.
Defina uma variável de ambiente para a localização do anel e da chave de encriptação da base de dados do plano de controlo:
CONTROL_PLANE_LOCATION é a localização física na qual os dados do plano de controlo do Apigee são armazenados.
Para ver uma lista de localizações do plano de controlo disponíveis, consulte o artigo Localizações do Apigee.
CONSUMER_DATA_REGION é uma sub-região da região do plano de controlo. Tem de especificar a CONTROL_PLANE_LOCATION e a CONSUMER_DATA_REGION.
Para ver uma lista das regiões de dados de consumidores disponíveis, consulte as
localizações do Apigee.
Defina variáveis de ambiente para os conjuntos de chaves e os nomes das chaves da base de dados do plano de controlo.
O nome do conjunto de chaves tem de ser exclusivo da sua organização.
CONTROL_PLANE_KEY_RING_NAME é o nome do conjunto de chaves que vai usar para identificar o seu conjunto de chaves de encriptação do plano de controlo.
CONTROL_PLANE_KEY_NAME é o nome da chave que vai usar para identificar a sua chave de encriptação do plano de controlo.
CONSUMER_DATA_KEY_RING_NAME é o nome do conjunto de chaves que vai usar para identificar o seu conjunto de chaves de encriptação da região de dados do consumidor.
CONSUMER_DATA_KEY_NAME é o nome da chave que vai usar para identificar a chave de encriptação da sua região de dados do consumidor.
Este comando associa a chave ao agente de serviço do Apigee. Após a conclusão bem-sucedida
deste pedido, o gcloud responde com algo semelhante ao seguinte:
runtimeDatabaseEncryptionKeyName: O ID da chave de encriptação da aplicação que criou no passo anterior. Lembre-se de que o ID está estruturado
como um caminho de ficheiro. Por exemplo: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
-d define o payload de dados para o pedido. Este payload tem de incluir o seguinte:
name: identifica a sua nova organização. Tem de ser o mesmo nome que o ID do projeto.
runtimeType: defina este valor como CLOUD.
billingType: especifica o tipo de faturação da organização criada.
controlPlaneEncryptionKeyName: é o ID da chave do plano de controlo.
apiConsumerDataLocation: também tem de especificar uma sub-região para utilização por recursos internos. Consulte as
Regiões de residência dos dados para ver os valores suportados.
apiConsumerDataEncryptionKeyName: é o ID da chave da região de dados do consumidor.
runtimeDatabaseEncryptionKeyName: O ID da chave de encriptação da aplicação que criou no passo anterior. Lembre-se de que o ID tem a estrutura de um caminho de ficheiro. Por exemplo: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
Depois de executar este comando, o Apigee inicia uma operação de longa duração,
que pode demorar alguns minutos a ser concluída.
Se receber um erro, verifique a utilização de aspas em torno dos valores das variáveis no payload de dados. Certifique-se de que tem aspas duplas-simples-duplas
à volta da variável $PROJECT_ID, como mostra o exemplo seguinte:
"'"$PROJECT_ID"'"
Se usar strings simples (não variáveis de ambiente) para valores de pedidos, pode
envolvê-las em aspas duplas na
string de payload entre aspas simples, como mostra o exemplo seguinte:
'{ "name":"my-gcp-project", ... }'
Aguarde alguns minutos.
Para verificar o estado do seu pedido de criação, pode enviar um pedido GET para a
API List organizations do Apigee, conforme mostra o exemplo seguinte:
Se vir esta resposta, significa que a criação da organização ainda não foi concluída:
{
"error": {
"code": 403,
"message": "Permission denied on resource \"organizations/apigee-docs-m\" (or it may not exist)",
"status": "PERMISSION_DENIED"
}
}
Se o Apigee tiver criado com êxito uma nova organização, recebe uma resposta
semelhante à seguinte:
Pode atribuir ao aprovisionador do Apigee uma função predefinida que inclua as autorizações necessárias para concluir esta tarefa ou atribuir autorizações mais detalhadas para fornecer o mínimo de privilégios necessário. Consulte as
Funções predefinidas e as
Autorizações de instâncias de tempo de execução.
Uma instância de tempo de execução é onde o seu projeto do Apigee e os serviços relacionados são armazenados. Esta
fornece o ponto final virado para o utilizador dos seus serviços. Para criar uma nova instância de tempo de execução:
Verifique se o Apigee concluiu a criação da sua organização. Enviou um pedido para
criar uma nova organização em Criar uma organização do Apigee, mas
tem de se certificar de que o processo está concluído antes de continuar.
Se a organização existir (e tiver as autorizações adequadas para a ver), o Apigee
responde com detalhes sobre a mesma. Se o Apigee responder com um erro, aguarde alguns minutos e envie o pedido novamente.
Semelhante à tarefa anterior, em que criou uma chave de encriptação para a base de dados,
agora tem de criar uma chave do
Cloud KMS usada para encriptar dados no lado do servidor.
Para começar, defina as seguintes variáveis de ambiente:
INSTANCE_NAME: o nome da nova instância. Por exemplo,
my-runtime-instance. O nome tem de começar por uma letra minúscula, pode ter até 32 carateres e só pode incluir letras minúsculas, números e hífenes. Não pode começar nem terminar com um hífen e tem de ter, pelo menos, dois carateres.
RUNTIME_LOCATION é o local físico onde o cluster está alojado.
Os valores válidos são qualquer localização permitida pelo Compute Engine. (Consulte as
regiões e zonas disponíveis.) Este exemplo usa
us-west1.
DISK_KEY_RING_NAME é o nome do conjunto de chaves de encriptação de disco.
DISK_KEY_NAME é o nome da chave de encriptação de disco.
O anel de chaves do disco tem de estar definido para a mesma localização que a instância. Cada instância
e anel de chaves deve ter a sua própria localização.
Tenha em atenção que também pode definir e alterar a lista de projetos aceites na IU da instância. Para obter detalhes, consulte o artigo
Gerir instâncias.
Embora o intervalo de IP /22 seja usado para executar cargas de trabalho principais do Apigee,
o intervalo /28 é usado pelo Apigee para aceder à instância para fins de resolução de problemas.
Consulte também
Criar instâncias.
Este pedido pode demorar até 20 minutos a ser concluído porque o Apigee tem de criar e
iniciar um novo cluster do Kubernetes, instalar os recursos do Apigee nesse cluster e configurar
o equilíbrio de carga.
Para verificar o estado do seu pedido de criação de instância de tempo de execução, execute o seguinte comando. Quando o estado for ATIVO, pode avançar para o passo seguinte.
Sem residência de dados
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"
Residência dos dados
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"
Passo 7: crie um ambiente
Autorizações necessárias para esta tarefa
Pode atribuir ao aprovisionador do Apigee uma função predefinida que inclua
as autorizações necessárias para concluir esta tarefa ou atribuir autorizações
mais detalhadas para conceder o mínimo de privilégios necessário. Consulte:
Para criar um ambiente e anexá-lo ao tempo de execução na linha de comandos:
Defina as variáveis de ambiente a usar nesta secção. As variáveis de ambiente específicas que criar
dependem de estar a criar um ambiente para uma organização de subscrição ou de pagamento conforme o uso.
Subscrição
Para um ambiente de subscrição, crie estas variáveis:
ENVIRONMENT_NAME é um nome de string. Por exemplo: test
ENVIRONMENT_TYPE é o
tipo de ambiente
para este ambiente e só é aplicável a utilizadores de Pay-as-you-go, que têm de
especificar um destes valores: BASE, INTERMEDIATE ou
COMPREHENSIVE. Os outros utilizadores devem omitir o tipo de ambiente.
ENV_GROUP_NAME é um nome de string. Por exemplo: test-group
ENV_GROUP_HOSTNAME é um nome de anfitrião de domínio válido. Por exemplo: foo.example.com
Crie um novo ambiente com a API Environments. Os comandos específicos que usa
dependem do facto de estar a criar um ambiente para uma subscrição ou uma organização de pagamento conforme o uso.
Subscrição
Para um novo ambiente de subscrição, use o seguinte comando:
Neste passo, configura a forma como as aplicações cliente comunicam com o Apigee. O tráfego do cliente para o Apigee
também é denominado tráfego "northbound". As opções de configuração de saída incluem o seguinte.
Aceda à opção de configuração que quer usar e siga os passos dessa opção:
Tipo de acesso
Descrição do processo de configuração e implementação
Use um grupo de instâncias geridas (GIG) para enviar tráfego de API do serviço de back-end de um balanceador de carga global para o Apigee. Com esta configuração, o Apigee só consegue
ligar-se à VPC com peering. Esta configuração permite-lhe enviar pedidos de proxy de API do Apigee a partir de qualquer máquina com ligação à rede.
Permita apenas o acesso interno aos seus proxies de API a partir de qualquer um dos seus projetos do Google Cloud através do
Private Service Connect (PSC).
O PSC permite uma ligação privada entre um produtor de serviços (Apigee) e um consumidor de serviços (o projeto de VPC com intercâmbio e/ou um ou mais outros projetos do Google Cloud que controla). Com este método, os pedidos
passam por um ponto final de serviço ou um balanceador de carga interno regional para um único ponto de ligação, denominado
anexo de serviço.
Esta configuração permite que os seus clientes internos enviem pedidos de proxy de API do Apigee a partir de qualquer máquina com ligação à rede.
Use o Private Service Connect (PSC) para ativar a ligação privada entre
um produtor de serviços (Apigee) e um consumidor de serviços (o projeto de VPC com peering e/ou
um ou mais projetos do Google Cloud que controla). Com este método, os pedidos passam por um balanceador de carga externo global ou um balanceador de carga externo regional para um único ponto de ligação, denominado ligação de serviço.
Esta configuração permite-lhe enviar pedidos de proxy de API do Apigee a partir de qualquer máquina com ligação à rede.
Cada uma destas abordagens de encaminhamento é apresentada nas instruções abaixo.
Encaminhamento interno (VPC)
Para o encaminhamento de tráfego de clientes internos para o Apigee, pode optar por usar a terminação TLS ou não:
Opções de TLS: tem duas opções se quiser fazer chamadas de proxy de API
a partir de clientes internos com o TLS ativado:
(Opção 1) Configure um balanceador de carga interno (ILB):
Crie um grupo de instâncias geridas (MIG) no seu projeto. Para criar o MIG, siga os passos 8a, 8b e 8c no separador Encaminhamento externo (MIG).
(Opção 2) Use o nome de domínio totalmente qualificado interno predefinido e o IP do balanceador de carga interno da instância do Apigee. Esta situação é recomendada apenas para fins de teste e não
para um ambiente de produção. Neste caso, são usados certificados autoassinados criados pelo Apigee,
com o equilibrador de carga interno do Apigee, e não os pode alterar. Consulte o artigo
Chamar um proxy de API com acesso apenas interno.
Opção sem TLS: se não precisar de terminação TLS, a invocação do proxy de API pode ser realizada ignorando a validação do certificado TLS. Por exemplo, a opção -k
da ferramenta de linha de comandos curl desativa a validação de certificados. No entanto, o protocolo TLS permanece ativo durante a ligação. Tenha em atenção que o acesso à entrada do Apigee através de HTTP simples na porta 80 não é suportado, de forma semelhante ao Apigee Hybrid. Consulte o artigo
Chamar um proxy de API com acesso apenas interno.
Encaminhamento externo (MIG)
Esta secção descreve como configurar o encaminhamento para permitir o acesso externo aos proxies de API através de um grupo de instâncias gerido (MIG) para enviar tráfego de API do serviço de back-end de um equilibrador de carga global para o Apigee. Tem de o fazer antes de poder enviar um pedido de um cliente externo para a sua instância do runtime do Apigee.
Autorizações necessárias para esta tarefa
Pode atribuir ao aprovisionador do Apigee uma função predefinida que inclua as autorizações necessárias para concluir esta tarefa,
ou atribuir autorizações mais detalhadas para fornecer o mínimo de privilégios necessário.
Consulte as funções predefinidas
e as autorizações de encaminhamento de acesso.
As instruções nesta secção usam variáveis de ambiente para fazer referência a strings usadas repetidamente. Recomendamos que defina estas opções antes de continuar:
MIG_NAME=apigee-mig-MIG_NAME # You can choose a different name if you like
VPC_NAME=default # If you are using a shared VPC, use the shared VPC nameVPC_SUBNET=default # Private Google Access must be enabled for this subnetREGION=RUNTIME_REGION # The same region as your Apigee runtime instanceAPIGEE_ENDPOINT=APIGEE_INSTANCE_IP # See the tip below for details on getting this IP address value
Vai usar estas variáveis várias vezes durante os processos restantes. Se quiser configurar várias regiões, crie variáveis com valores específicos para cada região.
Passo 8c: crie um grupo de instâncias gerido
Neste passo, cria e configura um grupo de instâncias geridas (MIG). Num passo posterior,
adiciona o MIG a um serviço de back-end associado a um balanceador de carga global. Um MIG é necessário para enviar tráfego da API do serviço de back-end do balanceador de carga global para o Apigee.
Como pode ver neste comando, as máquinas são do tipo e2-medium. Executam o
Debian 12 e têm 20 GB de disco. O script startup-script.sh configura o MIG para encaminhar o tráfego de entrada do balanceador de carga para a instância do Apigee.
Passo 8d: crie um certificado SSL e uma chave para o equilibrador de carga
Só tem de criar as credenciais uma vez, quer esteja a fazer a instalação em regiões únicas ou múltiplas. Num passo posterior, vai associar estas credenciais
ao proxy HTTPS de destino do balanceador de carga.
Pode criar as credenciais com:
O seu próprio certificado de uma autoridade de certificação
Defina DOMAIN_HOSTNAME para um nome de anfitrião de domínio válido que tenha registado. Num passo posterior, vai obter o endereço IP do balanceador de carga e atualizar o registo A do domínio para apontar para esse endereço. Por exemplo, o nome do anfitrião de um domínio
pode ter o seguinte aspeto: foo.example.com.
Vai usar esta verificação do estado para garantir que o serviço de back-end está em execução. Para
configurar verificações de funcionamento mais avançadas num proxy específico, consulte
Realizar verificações de funcionamento.
Passo 8f: obtenha um endereço IP reservado e crie regras de firewall
Tem de atribuir um endereço IP ao balanceador de carga e, em seguida, criar regras que permitam
ao balanceador de carga aceder ao MIG. Só tem de fazer este passo uma vez, quer esteja a fazer a instalação numa única região ou em várias regiões.
Passo importante: aceda ao site, ao anfitrião de DNS ou ao ISP onde os seus registos de DNS são geridos e certifique-se de que
o registo de DNS do seu domínio é resolvido para o endereço IP do balanceador
de carga do Google Cloud. Este endereço é o valor de IP devolvido no último passo. Para mais detalhes, consulte o artigo
Atualize os registos A e AAAA do DNS para apontarem para o endereço IP do balanceador de carga.
Crie uma regra de firewall que permita ao balanceador de carga aceder ao MIG através do seguinte comando:
gcloud compute firewall-rules create FIREWALL_RULE_NAME \
--description "Allow incoming from GLB on TCP port 443 to Apigee Proxy" \
--project $PROJECT_ID --network $VPC_NAME --allow=tcp:443 \
--source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=gke-apigee-proxy
Tenha em atenção que os intervalos de endereços IP 130.211.0.0/22 e 35.191.0.0/16 são os intervalos de endereços IP de origem
para o Google Load Balancing. Esta regra de firewall permite que o Google Cloud Load Balancing faça pedidos de verificação de funcionamento ao MIG.
Esta secção explica como permitir apenas o acesso interno aos seus proxies de API a partir de qualquer um dos seus projetos do Google Cloud através do Private Service Connect (PSC).
Tem duas opções para configurar o acesso interno com o PSC:
Ponto final do serviço: os pedidos passam por um ponto final do serviço para um único ponto de
anexação, denominado
anexação do serviço.
Selecione o separador abaixo para a sua escolha de configuração e siga os passos:
Ponto final do serviço
Autorizações necessárias para esta tarefa
Pode atribuir ao aprovisionador do Apigee uma função predefinida que inclua as autorizações necessárias para concluir esta tarefa,
ou atribuir autorizações mais detalhadas para fornecer o mínimo de privilégios necessário.
Consulte as funções predefinidas
e as autorizações de encaminhamento de acesso.
Crie um ponto final de serviço do PSC para a associação de serviço
Obtenha a associação de serviço da instância que criou anteriormente:
Sem residência de dados
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Residência dos dados
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Na saída de exemplo seguinte, o valor serviceAttachment
é apresentado a negrito:
Crie um ponto final de serviço do PSC que aponte para a associação do serviço que obteve
do corpo da resposta da instância no passo anterior, conforme explicado em
Crie um ponto final do Private Service Connect.
Pode atribuir ao aprovisionador do Apigee uma função predefinida que inclua as autorizações necessárias para concluir esta tarefa,
ou atribuir autorizações mais detalhadas para fornecer o mínimo de privilégios necessário.
Consulte as funções predefinidas
e as autorizações de encaminhamento de acesso.
Passo 7a: configure as variáveis de ambiente
As instruções nesta secção usam variáveis de ambiente para fazer referência a strings usadas repetidamente. Certifique-se de que definiu as variáveis em
Definir variáveis de ambiente.
Além disso, defina as seguintes variáveis de ambiente:
NEG_NAME: um nome para o grupo de pontos finais da rede.
NETWORK_NAME: (Opcional) Nome da rede na qual o NEG é criado. Se omitir este parâmetro, é usada a rede do projeto default.
SUBNET_NAME: nome da sub-rede usada para a conetividade privada ao produtor.
O tamanho da sub-rede pode ser pequeno: o NEG do PSC só precisa de um IP da sub-rede.
Para o Apigee, só é necessário um NEG do PSC por região. A sub-rede pode ser partilhada e usada por VMs ou outras entidades.
Se não for especificada uma sub-rede, os pontos finais de rede podem pertencer a qualquer sub-rede na região onde o grupo de pontos finais de rede é criado.
TARGET_SERVICE: a associação de serviço à qual quer estabelecer ligação. Por exemplo: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
$PROJECT_ID pode ser o projeto do Google Cloud que já está associado à sua organização do Apigee ou um projeto do Google Cloud incluído no consumerAcceptlist quando a instância de runtime do Apigee foi criada.
Passo 7d: configure o balanceador de carga interno regional
Reserve um endereço IPv4 interno para o balanceador de carga.
NEG_NAME: o nome do grupo de pontos finais da rede.
BACKEND_SERVICE_NAME com o nome do serviço de back-end.
Para criar um balanceador de carga HTTPS, tem de ter um recurso de certificado SSL para usar no
proxy de destino HTTPS.
Use este comando para criar um recurso de certificado SSL autogerido. Para criar um certificado SSL autogerido, precisa de um ficheiro de chave privada local e um ficheiro de certificado local. Se precisar de criar estes ficheiros, consulte o passo 1 da utilização de certificados SSL autogeridos.
DEFAULT_BACKEND_SERVICE_NAME: o nome do serviço de back-end predefinido do balanceador de carga.
A predefinição é usada quando nenhuma regra de anfitrião corresponde ao nome do anfitrião pedido.
Use o recurso de certificado SSL para criar um proxy HTTPS de destino.
Esta secção descreve como configurar o encaminhamento externo através do
Private Service Connect (PSC) para
permitir a comunicação entre o Apigee e as VPCs que controla. Tem de o fazer antes de poder enviar um pedido de um cliente externo para a sua instância do tempo de execução do Apigee.
Autorizações necessárias para esta tarefa
Pode atribuir ao aprovisionador do Apigee uma função predefinida que inclua as autorizações necessárias para concluir esta tarefa,
ou atribuir autorizações mais detalhadas para fornecer o mínimo de privilégios necessário.
Consulte as funções predefinidas
e as autorizações de encaminhamento de acesso.
Passo 7b: crie um NEG e configure o balanceador de carga
Pode criar um balanceador de carga global ou regional.
NEG_NAME: um nome para o grupo de pontos finais da rede.
TARGET_SERVICE: a associação de serviço à qual quer estabelecer ligação. Use o valor da associação de serviço devolvido pelo comando anterior. Por exemplo:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
NETWORK_NAME: (Opcional) Nome da rede na qual o NEG é criado. Se omitir este parâmetro, é usada a rede do projeto default.
SUBNET_NAME: nome da sub-rede usada para a conetividade privada ao produtor.
O tamanho da sub-rede pode ser pequeno: o NEG do PSC só precisa de um IP da sub-rede.
Para o Apigee, só é necessário um NEG do PSC por região. A sub-rede pode ser partilhada e usada por VMs ou outras entidades.
Se não for especificada uma sub-rede, os pontos finais de rede podem pertencer a qualquer sub-rede na região onde o grupo de pontos finais de rede é criado.
$PROJECT_ID O projeto do Google Cloud que já está associado
à sua organização do Apigee ou um projeto do Google Cloud incluído
no consumerAcceptlist quando a
instância de runtime do Apigee foi criada.
Se ainda não o fez,
crie uma variável de ambiente para guardar o ID do projeto, uma vez que é
usado na maioria dos comandos seguintes.
Reserve um endereço IPv4 externo global para o balanceador de carga.
DEFAULT_BACKEND_SERVICE_NAME: o nome do serviço de back-end predefinido do balanceador de carga.
A predefinição é usada quando nenhuma regra de anfitrião corresponde ao nome do anfitrião pedido.
Crie o proxy HTTPS de destino.
Para criar um balanceador de carga HTTPS, tem de ter um recurso de certificado SSL para usar no
proxy de destino HTTPS. Pode criar um recurso de certificado SSL através de um certificado SSL gerido pela Google ou de um certificado SSL autogerido. A utilização de certificados geridos pela Google é
recomendada porque o Google Cloud obtém, gere e renova estes certificados automaticamente.
DOMAIN: o nome do domínio do seu balanceador de carga.
Use este comando para criar um recurso de certificado SSL autogerido. Para criar um certificado SSL autogerido, precisa de um ficheiro de chave privada local e um ficheiro de certificado local. Se precisar de criar estes ficheiros, consulte o passo 1 da utilização de certificados SSL autogeridos.
NEG_NAME: o nome do grupo de pontos finais da rede.
TARGET_SERVICE: o nome da associação de serviço à qual quer estabelecer ligação.
Por exemplo: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
DEFAULT_BACKEND_SERVICE_NAME: o nome do serviço de back-end predefinido do balanceador de carga.
A predefinição é usada quando nenhuma regra de anfitrião corresponde ao nome do anfitrião pedido.
Crie o proxy HTTPS de destino.
Para criar um balanceador de carga HTTPS, tem de ter um recurso de certificado SSL para usar no
proxy de destino HTTPS.
Use este comando para criar um recurso de certificado SSL autogerido. Para criar um certificado SSL autogerido, precisa de um ficheiro de chave privada local e um ficheiro de certificado local. Se precisar de criar estes ficheiros, consulte o passo 1 da utilização de certificados SSL autogeridos.
A criação e a implementação de proxies requerem um conjunto mínimo de autorizações. Se tiver a função de administrador organizacional do Apigee, pode concluir esta tarefa. Para saber mais sobre outras funções que pode usar, consulte as
funções do Apigee.
Transfira o
proxy de exemplo do GitHub. O destino do proxy é o serviço httpbin.org, que é um serviço público de pedidos e respostas usado com frequência.
Carregue o pacote do proxy de API para o tempo de execução através da API
apis do Apigee:
Se receber um erro como este:
CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure, verifique se o certificado SSL que criou anteriormente foi aprovisionado.
Use este comando para verificar o
estado do aprovisionamento. Quando o certificado é aprovisionado, o respetivo estado é
ACTIVE.
Para mais informações sobre a implementação de proxies, incluindo informações adicionais de resolução de problemas, consulte o artigo
Implementar um proxy de API.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-21 UTC."],[[["This document details the command-line installation and configuration process for Apigee (excluding Apigee hybrid) on Google Cloud, covering both Subscription and Pay-as-you-go pricing models."],["The guide covers setting up necessary environment variables, enabling required APIs, creating the Apigee service identity, configuring service networking, creating an Apigee organization, and establishing a runtime instance and environment."],["It includes instructions for both no data residency and data residency configurations, incorporating the use of Customer-Managed Encryption Keys (CMEK) for enhanced security and organization policies."],["The configuration instructions include routing setup for client applications to connect to Apigee, covering internal (VPC peering or Private Service Connect) and external (Managed Instance Group or Private Service Connect) access options, including the use of load balancers."],["The document provides the steps to deploy a sample proxy, including downloading the proxy, uploading, deploying, confirming the deployment, calling the API, checking certificate provisioning, and updating the DNS A and AAAA records."]]],[]]