Aprovisione uma organização de avaliação sem intercâmbio da VPC

Esta página aplica-se ao Apigee, mas não ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

Este documento explica como instalar e configurar uma organização de avaliação do Apigee a partir da linha de comandos sem interligação de VPCs. As organizações de avaliação expiram após 60 dias e podem ter outras limitações. Consulte também Comparar organizações de avaliação e pagas.

Limitações

A opção de instalação de peering não VPC descrita neste documento tem algumas limitações:

Para ver uma lista completa das funcionalidades e abordagens de rede suportadas e não suportadas para o peering não VPC, consulte o artigo Como escolher uma opção de rede.

Resumo dos passos

Os passos de aprovisionamento são os seguintes:

Passo 1: defina variáveis de ambiente

Configure o gcloud e defina variáveis de ambiente para utilização em passos posteriores:

  1. Certifique-se de que cumpriu os requisitos indicados em Pré-requisitos.
  2. Tem de ter a CLI gcloud instalada. Se precisar de a instalar, consulte o artigo Instale a CLI gcloud.
  3. Inicialize a CLI gcloud, conforme descrito em Inicializar a CLI gcloud ou, se a CLI já estiver inicializada, certifique-se de que o projeto do Google Cloud que criou em Pré-requisitos é o projeto predefinido para o gcloud.
  4. Defina as seguintes variáveis de ambiente:
    AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
    PROJECT_ID="YOUR_PROJECT_ID"
    RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"
    ANALYTICS_REGION="YOUR_ANALYTICS_REGION"

    Onde:

    • 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 simplesmente regenerá-lo 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.
    • RUNTIME_LOCATION é a localização física onde a instância do Apigee está localizada. Para ver uma lista de localizações de tempo de execução disponíveis, consulte Localizações do Apigee.

    • ANALYTICS_REGION é a localização física na qual os dados de estatísticas do Apigee serão armazenados. Para uma lista das regiões do Apigee API Analytics disponíveis, consulte as localizações do Apigee.

      RUNTIME_LOCATION e ANALYTICS_REGION podem ser a mesma região, mas não têm de ser. No entanto, pode haver uma vantagem em termos de desempenho se forem iguais.

  5. (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 ($).
    echo $AUTH
    echo $PROJECT_ID
    echo $RUNTIME_LOCATION
    echo $ANALYTICS_REGION
    

    As respostas aos seus comandos echo devem ter um aspeto semelhante ao seguinte:

    Authorization: Bearer ya29.a123456678940B63hPSAMPLEsampleKKYVsample0f3pWDWZDuH2-hENkNa
    TvgZ1PD977TMvv6edBQPJezdHw040880Ol_LoD5ZDkt-i-knizia_KhA9L20sSvztL81-SAMPLE42ELPMASk2_
    1CxN
    my-cloud-project
    us-west1
    us-west1
    

Passo 2: ative as APIs

  1. O Apigee requer que ative várias APIs Google Cloud. Ative-as executando o comando services enable:

    gcloud services enable apigee.googleapis.com \
      cloudkms.googleapis.com --project=$PROJECT_ID
  2. (Opcional) Para verificar o seu trabalho, use o comando services list para mostrar todas as APIs ativadas:

    gcloud services list

    A resposta mostra todos os serviços ativados, incluindo as APIs que acabou de ativar (Apigee, Cloud KMS e Compute Engine).

Passo 3: crie uma organização

Uma organização é o contentor de nível superior no Apigee. Contém todos os seus proxies de API e recursos relacionados. Para obter detalhes, consulte o artigo Compreender as organizações.

  1. Crie uma nova organização de avaliação com a API provisionOrganization:
    curl "https://apigee.googleapis.com/v1/projects/$PROJECT_ID:provisionOrganization"  \
      -H "$AUTH" \
      -X POST \
      -H "Content-Type:application/json" \
      -d '{
        "analyticsRegion":"'"$ANALYTICS_REGION"'",
        "runtimeLocation":"'"$RUNTIME_LOCATION"'",
        "disableVpcPeering":"true",
      }'

    Onde:

    • -d define o payload de dados para o pedido. Este payload tem de incluir o seguinte:
      • ANALYTICS_REGION: especifica a localização física onde os seus dados de estatísticas serão armazenados.

      • RUNTIME_LOCATION: é a localização física onde a instância do Apigee está localizada.

      • disableVpcPeering: neste fluxo de aprovisionamento, não estamos a usar a interligação de VPCs, pelo que esta flag tem de estar definida como true. Predefinição: false
  2. O Apigee inicia um LRO para criar a organização de avaliação. Esta operação demora até 40 minutos a ser concluída.

  3. 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:
    curl -H "$AUTH" "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID"

    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 for bem-sucedido, o objeto de resposta indica "state": "ACTIVE" e pode avançar para o passo seguinte.

Passo 4: configure o encaminhamento

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:

Tipo de acesso Descrição do processo de configuração e implementação
Interno com PSC

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.

Externo com PSC

Permita o acesso externo aos seus proxies de API através do Private Service Connect (PSC).

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 planeamento de trajeto é apresentada num separador nas instruções abaixo.

Encaminhamento interno (PSC)

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:

Selecione o separador abaixo para a sua escolha de configuração e siga os passos:

Ponto final do serviço

Crie um ponto final de serviço do PSC para a associação de serviço

  1. Obtenha a associação do serviço da instância do Apigee:
    curl -i -X GET -H "$AUTH" \
      "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Na saída de exemplo seguinte, o valor serviceAttachment é apresentado a negrito:

    {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "createdAt": "1645731488019",
          "lastModifiedAt": "1646504754219",
          "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
          "state": "ACTIVE",
          "runtimeVersion": "1-7-0-20220228-190814",
          "consumerAcceptList": [
            "my-project"
          ],
          "serviceAttachment": "projects/bfac74a67a320c43a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw1"
        }
      ]
    }
  2. 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.
  3. Tome nota e memorize o endereço IP do ponto final do serviço. Vai precisar do endereço IP mais tarde quando testar a configuração chamando um proxy de API. (Por exemplo: 10.138.0.2)

O aprovisionamento do Apigee está concluído. Aceda a Implemente um proxy de exemplo.

LB regional interno

Passo 8a: configure 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:

  • Defina as seguintes variáveis de ambiente no terminal de comandos:
    NEG_NAME=YOUR_NEG_NAME"
    TARGET_SERVICE=YOUR_TARGET_SERVICE"
    NETWORK_NAME=YOUR_NETWORK_NAME"
    SUBNET_NAME=YOUR_SUBNET_NAME"

    Onde:

    • NEG_NAME: um nome para o grupo de pontos finais da rede.
    • TARGET_SERVICE: o anexo de serviço ao qual quer estabelecer ligação. 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.
  • Passo 8b: crie uma sub-rede apenas de proxy

    gcloud compute networks subnets create testproxyonlysubnet \
      --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE --region=$RUNTIME_REGION --network=$NETWORK_NAME \
      --range=100.0.0.0/24 --project=$PROJECT_ID

    Passo 8c: crie um grupo de pontos finais de rede (NEG)

    1. Obtenha a associação de serviço da instância que criou anteriormente:
      curl -i -X GET -H "$AUTH" \
      "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

      Na saída de exemplo seguinte, o valor serviceAttachment é apresentado a negrito:

      {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "createdAt": "1645731488019",
          "lastModifiedAt": "1646504754219",
          "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
          "state": "ACTIVE",
          "runtimeVersion": "1-7-0-20220228-190814",
          "consumerAcceptList": [
            "my-project"
          ],
          "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
        }
      ]
      }
    2. Crie um NEG do Private Service Connect que aponte para o anexo de serviço que obteve do corpo da resposta da instância no passo anterior.

      gcloud compute network-endpoint-groups create $NEG_NAME \
      --network-endpoint-type=private-service-connect \
      --psc-target-service=$TARGET_SERVICE \
      --region=$RUNTIME_LOCATION \
      --project=$PROJECT_ID

    Passo 8d: configure o balanceador de carga interno regional

    1. Reserve um endereço IPv4 interno para o balanceador de carga.
      gcloud compute addresses create ADDRESS_NAME \
      --ip-version=IPV4 --subnet=$SUBNET_NAME \
        --region=$RUNTIME_LOCATION --project=$PROJECT_ID

      Substitua ADDRESS_NAME por um nome para o recurso de endereço IP.

      Execute este comando para ver o endereço IP reservado:

      gcloud compute addresses describe ADDRESS_NAME \
      --format="get(address)" --region=RUNTIME_LOCATION --project=$PROJECT_ID
    2. Crie um serviço de back-end para o NEG.
      gcloud compute backend-services create BACKEND_SERVICE_NAME \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=HTTPS \
      --region=$RUNTIME_REGION \
      --project=$PROJECT_ID
    3. Substitua BACKEND_SERVICE_NAME pelo nome do serviço de back-end.

    4. Adicione o NEG ao serviço de back-end.
      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
      --network-endpoint-group=NEG_NAME \
      --region=$RUNTIME_LOCATION \
      --project=$PROJECT_ID

      Substitua o seguinte:

      • BACKEND_SERVICE_NAME: o nome do serviço de back-end.
      • NEG_NAME: o nome do grupo de pontos finais da rede.
    5. 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 de utilizar certificados SSL autogeridos.

      gcloud compute ssl-certificates create CERTIFICATE \
      --certificate LB_CERT \
      --private-key LB_PRIVATE_KEY
      --region=RUNTIME_LOCATION --project=$PROJECT_ID

      Substitua o seguinte:

      • CERTIFICATE: um nome para o certificado.
      • LB_CERT: o caminho para o ficheiro de certificado no formato PEM do seu certificado autogerido.
      • LB_PRIVATE_KEY: o caminho para o ficheiro de chave privada no formato PEM do seu certificado autogerido.
    6. Crie um mapa de URLs para o balanceador de carga.

      Um mapa de URLs tem de fazer referência a um serviço de back-end predefinido. Defina o serviço de back-end que acabou de criar como predefinição.

      gcloud compute url-maps create URL_MAP_NAME \
          --default-service=DEFAULT_BACKEND_SERVICE_NAME \
          --global --project=$PROJECT_ID

      Substitua o seguinte:

      • URL_MAP_NAME: um nome para o mapa de URLs.
      • 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.
    7. Use o recurso de certificado SSL para criar um proxy HTTPS de destino.

      gcloud compute target-https-proxies create PROXY_NAME \
      --url-map=URL_MAP_NAME \
      --ssl-certificates=CERTIFICATE \
      --region=$RUNTIME_LOCATION --project=$PROJECT_ID

      Substitua o seguinte:

      • PROXY_NAME: um nome para o proxy HTTPS de destino.
      • URL_MAP_NAME: o nome do mapa de URLs.
      • CERTIFICATE: o nome do recurso do certificado.
    8. Crie a regra de encaminhamento.
      gcloud compute forwarding-rules create FWD_RULE \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --address=ADDRESS_NAME \
      --target-https-proxy=PROXY_NAME \
      --ports=443 \
      --target-https-proxy-region=$RUNTIME_REGION \
      --region=$RUNTIME_REGION
      --project=$PROJECT_ID

      Substitua o seguinte:

      • FWD_RULE: um nome para a regra de encaminhamento.
      • ADDRESS_NAME: o recurso de endereço IP que reservou para usar na regra de encaminhamento.
      • PROXY_NAME: o nome do proxy HTTPS de destino.

    O aprovisionamento do Apigee está concluído. Aceda a Implemente um proxy de exemplo.

    Encaminhamento externo (PSC)

    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.

    Passo 8b: crie um NEG e configure o balanceador de carga

    Pode criar um balanceador de carga global ou regional.

    LB externo global

    Configure um balanceador de carga HTTP(S) externo global (esquema de balanceamento de carga definido como EXTERNAL_MANAGED).

    Embora o NEG do Private Service Connect seja regional, todos os outros componentes de equilíbrio de carga nesta configuração são globais.

    1. Certifique-se de que definiu as variáveis de ambiente em Definir variáveis de ambiente.
    2. Obtenha a associação de serviço da instância que criou anteriormente:
      curl -i -X GET -H "$AUTH" \
            "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

      Na saída de exemplo seguinte, o valor serviceAttachment é apresentado a negrito:

      {
            "instances": [
              {
                "name": "us-west1",
                "location": "us-west1",
                "host": "10.82.192.2",
                "port": "443",
                "createdAt": "1645731488019",
                "lastModifiedAt": "1646504754219",
                "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
                "state": "ACTIVE",
                "peeringCidrRange": "SLASH_22",
                "runtimeVersion": "1-7-0-20220228-190814",
                "ipRange": "10.82.192.0/22,10.82.196.0/28",
                "consumerAcceptList": [
                  "875609189304"
                ],
                "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
              }
            ]
          }
    3. Crie um NEG do Private Service Connect que aponte para a associação do serviço que obteve do corpo da resposta da instância no passo anterior.

          gcloud compute network-endpoint-groups create $NEG_NAME \
            --network-endpoint-type=private-service-connect \
            --psc-target-service=$TARGET_SERVICE \
            --region=$RUNTIME_LOCATION \
            --network=NETWORK_NAME \
            --subnet=SUBNET_NAME \
            --project=$PROJECT_ID
          

      Substitua o seguinte:

      • 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 Cloud que já está associado à sua organização do Apigee ou um projeto do Cloud incluído no consumerAcceptlist quando a instância de runtime do Apigee foi criada.
    4. Reserve um endereço IPv4 externo global para o balanceador de carga.
      gcloud compute addresses create ADDRESS_NAME \
        --ip-version=IPV4 --global --project=$PROJECT_ID

      Substitua ADDRESS_NAME por um nome para o recurso de endereço IP.

      Execute este comando para ver o endereço IP reservado:

      gcloud compute addresses describe ADDRESS_NAME \
        --format="get(address)" --global --project=$PROJECT_ID
    5. Crie um serviço de back-end para o NEG.
      gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTPS \
        --global --project=$PROJECT_ID
    6. Substitua BACKEND_SERVICE_NAME pelo nome do serviço de back-end.

    7. Adicione o serviço de back-end ao NEG.
      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=$REGION \
        --global --project=$PROJECT_ID

      Substitua o seguinte:

      • BACKEND_SERVICE_NAME: o nome do serviço de back-end.
      • NEG_NAME: o nome do grupo de pontos finais da rede.
      • REGION: a região do grupo de pontos finais da rede.
    8. Crie um mapa de URLs para o balanceador de carga.

      Um mapa de URLs tem de fazer referência a um serviço de back-end predefinido. Defina o serviço de back-end que acabou de criar como predefinição.

      gcloud compute url-maps create URL_MAP_NAME \
        --default-service=DEFAULT_BACKEND_SERVICE_NAME \
        --global --project=$PROJECT_ID

      Substitua o seguinte:

      • URL_MAP_NAME: um nome para o mapa de URLs.
      • 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.
    9. Crie o proxy HTTPS de destino.

      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.

      Para criar um certificado gerido pela Google, tem de ter um domínio.

      Use este comando para criar um recurso de certificado SSL gerido pela Google:

      gcloud compute ssl-certificates create CERTIFICATE \
        --domains DOMAIN --project=$PROJECT_ID

      Substitua o seguinte:

      • CERTIFICATE: um nome para o certificado.
      • 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.

      gcloud compute ssl-certificates create CERTIFICATE \
        --certificate LB_CERT \
        --private-key LB_PRIVATE_KEY --project=$PROJECT_ID

      Substitua o seguinte:

      • CERTIFICATE: um nome para o certificado.
      • LB_CERT: o caminho para o ficheiro de certificado no formato PEM do seu certificado autogerido.
      • LB_PRIVATE_KEY: o caminho para o ficheiro de chave privada no formato PEM do seu certificado autogerido.

      Use o recurso de certificado SSL para criar um proxy HTTPS de destino.

      gcloud compute target-https-proxies create PROXY_NAME \
        --url-map=URL_MAP_NAME \
        --ssl-certificates=CERTIFICATE --project=$PROJECT_ID

      Substitua o seguinte:

      • PROXY_NAME: um nome para o proxy HTTPS de destino.
      • URL_MAP_NAME: o nome do mapa de URLs.
      • CERTIFICATE: o nome do recurso do certificado.
    10. Crie a regra de encaminhamento.
      gcloud compute forwarding-rules create FWD_RULE \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --address=ADDRESS_NAME \
        --target-https-proxy=PROXY_NAME \
        --ports=443 \
        --global --project=$PROJECT_ID

      Substitua o seguinte:

      • FWD_RULE: um nome para a regra de encaminhamento.
      • ADDRESS_NAME: o recurso de endereço IP que reservou para usar na regra de encaminhamento.
      • PROXY_NAME: o nome do proxy HTTPS de destino.

    O aprovisionamento do Apigee está concluído. Aceda a Implemente um proxy de exemplo.

    LB externo regional

    Configure um balanceador de carga HTTP(S) externo regional. Consulte também a vista geral do balanceador de carga HTTP(S) externo.

    1. Certifique-se de que definiu as variáveis em Definir variáveis de ambiente.
    2. Crie uma sub-rede só de proxy:
      gcloud compute networks subnets create SUBNET_NAME \
        --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE \
        --region=$RUNTIME_LOCATION --network=NETWORK_NAME \
        --range=100.0.0.0/24 --project=$PROJECT_ID
      • Substitua SUBNET_NAME pelo nome da sub-rede.
      • (Opcional) Substitua NETWORK_NAME Nome da rede na qual a sub-rede é criada. Se omitir este parâmetro, é usada a rede do projeto predefinida.
    3. Obtenha a associação de serviço da instância que criou anteriormente:
      curl -i -X GET -H "$AUTH" \
              "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

      Na saída de exemplo seguinte, o valor serviceAttachment é apresentado a negrito:

      {
              "instances": [
                {
                  "name": "us-west1",
                  "location": "us-west1",
                  "host": "10.82.192.2",
                  "port": "443",
                  "createdAt": "1645731488019",
                  "lastModifiedAt": "1646504754219",
                  "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
                  "state": "ACTIVE",
                  "peeringCidrRange": "SLASH_22",
                  "runtimeVersion": "1-7-0-20220228-190814",
                  "ipRange": "10.82.192.0/22,10.82.196.0/28",
                  "consumerAcceptList": [
                    "875609189304"
                  ],
                  "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
                }
              ]
            }
    4. Crie um grupo de pontos finais de rede.
      gcloud compute network-endpoint-groups create NEG_NAME \
              --network-endpoint-type=private-service-connect \
              --psc-target-service=TARGET_SERVICE \
              --region=$RUNTIME_LOCATION --project=$PROJECT_ID

      Substitua o seguinte:

      • 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
    5. Crie um serviço de back-end para o NEG.
      gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTPS \
        --region=$RUNTIME_LOCATION  \
        --project=$PROJECT_ID
    6. Substitua BACKEND_SERVICE_NAME pelo nome do serviço de back-end.

    7. Adicione o serviço de back-end ao NEG.
      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --region=$RUNTIME_LOCATION  \
        --project=$PROJECT_ID

      Substitua o seguinte:

      • BACKEND_SERVICE_NAME: o nome do serviço de back-end.
      • NEG_NAME: o nome do grupo de pontos finais da rede.
    8. Crie um mapa de URLs para o balanceador de carga.

      Um mapa de URLs tem de fazer referência a um serviço de back-end predefinido. Defina o serviço de back-end que acabou de criar como predefinição.

      gcloud compute url-maps create URL_MAP_NAME \
        --default-service=DEFAULT_BACKEND_SERVICE_NAME \
        --region=$RUNTIME_LOCATION  \
        --project=$PROJECT_ID

      Substitua o seguinte:

      • URL_MAP_NAME: um nome para o mapa de URLs.
      • 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.
    9. Crie o proxy HTTPS de destino.

      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.

      gcloud compute ssl-certificates create CERTIFICATE \
        --certificate LB_CERT \
        --private-key LB_PRIVATE_KEY --region=$RUNTIME_LOCATION \
        --project=$PROJECT_ID

      Substitua o seguinte:

      • CERTIFICATE: um nome para o certificado.
      • LB_CERT: o caminho para o ficheiro de certificado no formato PEM do seu certificado autogerido.
      • LB_PRIVATE_KEY: o caminho para o ficheiro de chave privada no formato PEM do seu certificado autogerido.
    10. Adicione o domínio ao grupo de ambientes do Apigee que foi criado para si. O nome do grupo de ambientes é eval-group:
      curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group" \
            -H "$AUTH" \
            -X PATCH \
            -H "Content-Type:application/json" \
            -d '{
              "hostnames":["'"DOMAIN"'"]
            }'
    11. Verifique o estado da operação do grupo de ambientes:
      curl -H "$AUTH" \
            "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group/attachments"
          
    12. Use o recurso de certificado SSL para criar um proxy HTTPS de destino.

      gcloud compute target-https-proxies create PROXY_NAME \
        --url-map=URL_MAP_NAME --region=$RUNTIME_LOCATION \
        --ssl-certificates=CERTIFICATE --project=$PROJECT_ID

      Substitua o seguinte:

      • PROXY_NAME: um nome para o proxy HTTPS de destino.
      • URL_MAP_NAME: o nome do mapa de URLs.
      • CERTIFICATE: o nome do recurso do certificado.
    13. Reserve um endereço externo regional para o balanceador de carga. Tenha em atenção que o nível da rede tem de estar definido como STANDARD.
      gcloud compute addresses create ADDRESS_NAME \
            --region=$RUNTIME_LOCATION --network-tier=STANDARD \
            --project=$PROJECT_ID

      Substitua ADDRESS_NAME por um nome para o recurso de endereço IP.

      Execute este comando para ver o endereço IP reservado:

      gcloud compute addresses describe ADDRESS_NAME \
            --format="get(address)" --region=$RUNTIME_LOCATION \
            --project=$PROJECT_ID
    14. Crie a regra de encaminhamento.
      gcloud compute forwarding-rules create FWD_RULE \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=STANDARD \
        --address=ADDRESS_NAME \
        --target-https-proxy=PROXY_NAME \
        --ports=443  --region=$RUNTIME_LOCATION \
        --target-https-proxy-region=$RUNTIME_LOCATION --project=$PROJECT_ID

      Substitua o seguinte:

      • FWD_RULE: um nome para a regra de encaminhamento.
      • ADDRESS_NAME: o recurso de endereço IP que reservou para usar na regra de encaminhamento.
      • PROXY_NAME: o nome do proxy HTTPS de destino.

    O aprovisionamento do Apigee está concluído. Aceda a Chame o proxy da API de exemplo.

    Passo 5: chame o proxy da API de exemplo

    Foi criado e implementado um proxy de API denominado hello-world para si durante o aprovisionamento. Neste passo, vai testar a nova organização de avaliação chamando o proxy.

    Chame o proxy de API com encaminhamento interno

    Se escolheu uma encaminhamento interno com uma opção de ponto final do serviço no passo 5, siga os passos em Chamar um proxy de API com acesso apenas interno.

    Chame o proxy de API com encaminhamento externo

    Se escolheu uma opção de encaminhamento externo no passo 5, siga os passos desta secção.

    1. Configure uma entrada DNS para o seu domínio. Seguem-se duas formas de realizar esta tarefa:
      • Na entidade de registo, crie um registo A que aponte para o seu domínio. Por exemplo, se o seu domínio for sales.example.com e o IP for 10.23.0.2, então direcione o registo para sales.example.com para o endereço 10.23.0.2.

        Execute este comando para ver o endereço IP reservado:

        gcloud compute addresses describe ADDRESS_NAME \
            --format="get(address)" --region=$RUNTIME_LOCATION \
            --project=$PROJECT_ID
      • Use o Cloud DNS da Google para mapear um URL para um endereço IP.
    2. Confirme se o proxy hello-world está implementado:
      curl -i -H "$AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/eval/apis/hello-world/revisions/1/deployments"
    3. Chame o proxy da API:

      Envie um pedido para o proxy de API a partir de qualquer máquina com ligação à rede executando o seguinte comando:

      curl -i -H "Host: DOMAIN" \
        https://DOMAIN/hello-world

      Onde DOMAIN é o domínio que colocou no certificado e adicionou ao grupo de ambientes, conforme abordado no passo 5: configure o encaminhamento. Se necessário, pode usar esta API para obter o valor DOMAIN do grupo de ambientes:

      curl -i -H "$AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups"

      Após o êxito, o proxy da API de exemplo devolve a resposta:

      Hello, Guest!

      Sugestões de resolução de problemas:

      Se receber um erro de handshake, verifique o estado do certificado SSL. Para obter informações sobre a resolução de problemas de certificados autogeridos e geridos pela Google, consulte o artigo Resolva problemas de certificados SSL.

      Certifique-se de que o seu domínio registado tem um registo A que aponta para o endereço IP do endereço IPv4 externo global criado no passo 5. Execute este comando para ver o endereço IP reservado:

      gcloud compute addresses describe ADDRESS_NAME \
                    --format="get(address)" --region=$RUNTIME_LOCATION \
                    --project=$PROJECT_ID

      Se não conseguir resolver a configuração do domínio, experimente chamar o proxy com este comando:

      curl  -H Host:DOMAIN --resolve \
        DOMAIN:443:EXTERNAL_IP_ADDRESS  \
        https://DOMAIN:443/hello-world -k

    Seguinte: para saber mais sobre a criação e a implementação de proxies de API, consulte o artigo Crie a sua primeira vista geral do proxy de API.