Está a ver a documentação do Apigee e do Apigee Hybrid.
        Não existe um equivalente
        
        na documentação do Apigee Edge para este tópico.
  
Sintoma
Problemas de conetividade de rede entre o Apigee e um serviço de destino a sul ligado pelo Private Service Connect (PSC).
Mensagem de erro
  Um problema de ligação de rede ou um limite de tempo excedido de TCP entre o Apigee e o serviço de destino
  seria apresentado como uma resposta de erro 503 e mostraria um
  erro semelhante ao abaixo se criar uma sessão de depuração.
{"fault":{"faultstring":"The Service is temporarily unavailable","detail":{"errorcode":"messaging.adaptors.http.flow.ServiceUnavailable","reason":"TARGET_CONNECT_TIMEOUT"}}}Causas possíveis
| Causa | Descrição | 
| Regiões diferentes entre a associação de serviços e a instância do Apigee | A região da instância do Apigee e a região do anexo de serviço são diferentes. | 
| Regra de firewall de entrada em falta para a sub-rede do PSC no projeto de destino | No projeto de destino, certifique-se de que existe uma regra de firewall de entrada para permitir o endereço IP e a porta do intervalo de sub-redes do PSC. | 
| Configuração incorreta da associação do serviço no projeto de destino | Valide a associação de serviço no projeto de destino. | 
| Estado incorreto da associação do ponto final no Apigee | Valide o anexo do ponto final no Apigee. | 
| Incompatibilidade na porta configurada em TargetEndpoint e no ILB | Certifique-se de que o TargetEndpoint no proxy de API está a usar a mesma porta exposta pelo equilibrador de carga interno (ILB) no projeto de destino. | 
Causa: regiões diferentes entre a associação de serviço e a instância do Apigee
Diagnóstico
- 
      
Verifique a região da instância do Apigee através de um dos seguintes métodos:

- Usando a IU do Apigee clássico:
          
- Inicie sessão na IU do Apigee.
 - Clique em Admin > Instâncias.
 - Clique numa instância.
 - Verifique a Localização de alojamento de tempo de execução no painel Detalhes da instância.
 
 - Usando a IU do Apigee na Google Cloud consola:
          
- 
              
Na Google Cloud consola, aceda à página Apigee Instances.
 - Clique numa instância.
 - Verifique a Localização de alojamento de tempo de execução no painel Detalhes da instância.
 
 - 
              
 - Usando uma
          
          chamada API:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/instances"
Em que ORG_NAME é o nome da organização. Por exemplo,
example-apigee-support.É devolvido algo semelhante ao seguinte. A localização de alojamento em tempo de execução é o valor apresentado para
locationabaixo. Por exemplo,asia-northeast1."instances": [ { "name": "asia-northeast1", "location": "asia-northeast1", "host": "10.117.0.2", "port": "443", "createdAt": "1628150049760", "lastModifiedAt": "1682139265367", "diskEncryptionKeyName": "projects/apigee-x-support-apac-05/locations/asia-northeast1/keyRings/phanim-disk-key-1/cryptoKeys/phanim-disk-key-ring-1", "state": "ACTIVE", "peeringCidrRange": "SLASH_20", "runtimeVersion": "1-9-0-apigee-25", "consumerAcceptList": [ "example-apigee-support", "example-neg-project" ], "serviceAttachment": "projects/xb363132eb41cb643p-tp/regions/asia-northeast1/serviceAttachments/apigee-asia-northeast1-yp9o" }
 
 - Usando a IU do Apigee clássico:
          
 - 
        Verifique a região de associação de pontos finais através de uma
        
        chamada API:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/endpointAttachments/ENDPOINT_ATTACHMENT_NAME"
Onde:
- ORG_NAME é o nome da organização.
            Por exemplo, 
example-apigee-support. - ENDPOINT_ATTACHMENT_NAME é o nome do anexo do ponto final. Por exemplo, 
example-ea. 
É devolvido algo semelhante ao seguinte. A região de associação do ponto final é o valor apresentado para
locationabaixo. Por exemplo,asia-northeast1.{ "name": "organizations/example-apigee-support/endpointAttachments/example-ea", "location": "asia-northeast1", "host": "7.0.4.2", "state": "ACTIVE", "connectionState": "ACCEPTED", "serviceAttachment": "projects/target-project/regions/asia-northeast1/serviceAttachments/gkebackend" }
 - ORG_NAME é o nome da organização.
            Por exemplo, 
 - 
        Verifique a região do Anexo de serviço através da Cloud Console:
      
- 
          
Na Google Cloud consola, aceda à página Private Service Connect .
 - Verifique a coluna Região para ver a localização.
 

 - 
          
 
Resolução
 Certifique-se de que as regiões da instância do Apigee, da associação de pontos finais e da associação de serviços são as mesmas. Por exemplo,
  asia-northeast1.
  
    Conforme descrito nas
    
    Limitações,
    o acesso global não é suportado. Isto significa que os anexos de serviços e os anexos de pontos finais têm de estar na mesma região. Por exemplo, se a sua instância do Apigee estiver na região us-west1, não pode associar serviços à mesma que estejam em us-east2 ou noutra região.
  
Se as regiões forem diferentes, vai ver problemas de conetividade entre o Apigee e o serviço de destino.
Causa: regra de firewall de entrada em falta para a sub-rede do PSC no projeto de destino
Diagnóstico
Verifique se existe uma regra de firewall no projeto de destino que permita que o endereço IP do intervalo da sub-rede do PSC se ligue ao serviço de destino:
- 
        
Na Google Cloud consola, aceda à página Firewall.
 - 
        No painel Regras de firewall de VPC, verifique se existe uma regra semelhante ao exemplo seguinte:
        
- Direção: entrada
 - Ação na correspondência: permitir
 - Filtro de origem: intervalos de IPv4/IPv6
 - Intervalos de IP: intervalo de endereços IP da sub-rede do PSC
            (
ipCidrRange) que pode obter com o seguinte comando gcloud para descrever a sub-rede do PSC:gcloud compute networks subnets describe PSC_SUBNET_NAME --region=REGION
Onde:
- 
                PSC_SUBNET_NAME é o nome da sub-rede do PCS.
                Por exemplo, 
pscsub. - 
                REGION é a localização. Por exemplo,
                
asia-northeast1. 
É devolvido algo semelhante ao seguinte:
creationTimestamp: '2023-04-19T03:33:29.371-07:00' fingerprint: 1JPKY66teTg= gatewayAddress: 10.10.0.1 id: '5645967773396008342' ipCidrRange: 10.10.0.0/24 kind: compute#subnetwork name: pscsub network: https://www.googleapis.com/compute/v1/projects/target-project/global/networks/default privateIpGoogleAccess: false privateIpv6GoogleAccess: DISABLE_GOOGLE_ACCESS purpose: PRIVATE_SERVICE_CONNECT ....
 - 
                PSC_SUBNET_NAME é o nome da sub-rede do PCS.
                Por exemplo, 
 - Protocolos e portas: estes devem ser indicados de acordo com a configuração do serviço de destino.
 
 
Por exemplo:
    
  Resolução
Se a regra de firewall não estiver implementada, crie uma sub-rede do PSC, conforme descrito no Crie uma associação de serviço, passo 2.
Causa: configuração incorreta da associação de serviço no projeto de destino
Diagnóstico
Verifique a região da associação de serviços através de um dos seguintes métodos:
- Usando a Cloud Console:
        
- 
            
Na Google Cloud consola, aceda à página Private Service Connect .
 - Clique em Serviços publicados.
 - Clique num serviço.
 - Verifique a linha Região para a localização.
 

 - 
            
 - Usar um 
gcloud command:gcloud compute service-attachments describe SERVICE_ATTACHMENT --region=REGION
Onde:
- 
            SERVICE_ATTACHMENT é o nome da associação de serviço.
            Por exemplo, 
gkebackend. - 
            REGION é a localização. Por exemplo,
            
asia-northeast1. 
É devolvido algo semelhante ao seguinte:
connectedEndpoints: - endpoint: https://www.googleapis.com/compute/v1/projects/xb363132eb41cb643p-tp/regions/asia-northeast1/forwardingRules/example-ea pscConnectionId: '6816512648152066' status: ACCEPTED connectionPreference: ACCEPT_AUTOMATIC creationTimestamp: '2023-04-19T05:09:09.941-07:00' description: '' enableProxyProtocol: false fingerprint: 0BZDAZ3zDCs= id: '4503680255626733322' kind: compute#serviceAttachment name: gkebackend natSubnets: - https://www.googleapis.com/compute/v1/projects/target-project/regions/asia-northeast1/subnetworks/pscsub pscServiceAttachmentId: high: '21570167574103266' low: '4503680255626733322' region: https://www.googleapis.com/compute/v1/projects/target-project/regions/asia-northeast1 selfLink: https://www.googleapis.com/compute/v1/projects/target-project/regions/asia-northeast1/serviceAttachments/gkebackend targetService: https://www.googleapis.com/compute/v1/projects/target-project/regions/asia-northeast1/forwardingRules/k8s2-tcp-b65prv8v-default-ilb-svc-tv2s6klz
 - 
            SERVICE_ATTACHMENT é o nome da associação de serviço.
            Por exemplo, 
 
Resolução
- 
      Certifique-se de que o valor 
connectedEndpoints.endpointfaz referência ao projeto de inquilino do Apigee e certifique-se de que o respetivo estado éACCEPTED. Pode encontrar o projeto de inquilino através da API Apigee Organizations:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/ORG_NAME"
Em que ORG_NAME é o nome da organização. Por exemplo,
example-apigee-support.É devolvido algo semelhante ao seguinte. O ID está num campo denominado
apigeeProjectId. Por exemplo,xb363132eb41cb643p-tp.{ "name": "example-apigee-support", "createdAt": "1628148440954", "lastModifiedAt": "1650563608527", "environments": [ "dev" ], "properties": { "property": [ { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "asia-northeast1", "authorizedNetwork": "default", "runtimeType": "CLOUD", "subscriptionType": "PAID", "caCertificate": "CERTIFICATE_NUMBER", "runtimeDatabaseEncryptionKeyName": "projects/example-apigee-support/locations/asia-northeast1/keyRings/phanim-key-ring-1/cryptoKeys/phanim-app-key-1", "projectId": "example-apigee-support", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} }, "apigeeProjectId": "xb363132eb41cb643p-tp" } - 
      Certifique-se de que a associação de serviços tem conetividade com a
      associação de pontos finais, conforme descrito em
      
      Padrões de rede de saída, verifique e faça a gestão da conetividade da associação.
      Na IU do passo 1 , certifique-se de que:
      
- 
          A linha Sub-redes faz referência à sub-rede do PSC. Por exemplo,
          
pscsub. - A linha Destino faz referência ao equilibrador de carga interno correto para os back-ends de destino.
 
 - 
          A linha Sub-redes faz referência à sub-rede do PSC. Por exemplo,
          
 
Causa: estado incorreto da associação do ponto final no Apigee
Diagnóstico
Veja a associação do ponto final no Apigee através de uma chamada API:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/endpointAttachments/ENDPOINT_ATTACHMENT_NAME"
Onde:
- 
        ORG_NAME é o nome da organização. Por exemplo,
        
example-apigee-support. - 
        ENDPOINT_ATTACHMENT_NAME é o nome do anexo do ponto final. Por exemplo, 
example-ea. 
É devolvido algo semelhante ao seguinte:
{ "name": "organizations/example-apigee-support/endpointAttachments/example-ea", "location": "asia-northeast1", "host": "7.0.4.2", "state": "ACTIVE", "connectionState": "ACCEPTED", "serviceAttachment": "projects/target-project/regions/asia-northeast1/serviceAttachments/gkebackend" }
Resolução
Certifique-se do seguinte:
statecorresponde aACTIVEconnectionStatecorresponde aACCEPTED- 
        
serviceAttachmentrefere-se ao projeto de destino correto e ao nome do anexo de serviço 
Causa: incompatibilidade na porta configurada no TargetEndpoint e no ILB
Diagnóstico
- No projeto de destino, encontre a porta que a regra de encaminhamento está a
      expor através da Cloud Console:
      
- 
          
Na Google Cloud consola, aceda à página Private Service Connect .
 - Clique em Serviços publicados.
 - Clique num serviço. Conforme mostrado no exemplo seguinte, a porta 80 está exposta.
          
         
 - 
          
 
Resolução
    Certifique-se de que a porta 80 é a porta no TargetEndpoint do proxy da API.
  
    Para verificar esta situação, navegue para o proxy de API e valide o URL TargetEndpoint:
  
- Usando a IU do Apigee clássica:
        
- Inicie sessão na IU do Apigee.
 - Clique em Desenvolver > Proxies de API
 - Clique num proxy.
 - Clique em Desenvolver.
 - Verifique o painel XML para o seguinte:
<HTTPTargetConnection> <URL>http://7.0.4.2:80</URL> </HTTPTargetConnection>
 
 - Usando a IU do Apigee na Google Cloud consola:
        
- 
            
Na Google Cloud consola, aceda à página Apigee.
 - Na área Proxy development, clique em API proxies.
 - Clique num proxy.
 - Clique em Desenvolver.
 - Verifique o painel XML para o seguinte:
<HTTPTargetConnection> <URL>http://7.0.4.2:80</URL> </HTTPTargetConnection> 
 - 
            
 
Tem de recolher informações de diagnóstico
Se o problema persistir mesmo depois de seguir as instruções acima, recolha as seguintes informações de diagnóstico e, em seguida, contacte o apoio ao cliente da Google Cloud:
- Organização do Apigee
 - O ambiente e o proxy de API estão a detetar o problema
 - Sessão de depuração transferida (isto fornece todas as informações acima)
 - Anexo do ponto final a ser usado
 - Projeto de destino e anexo de serviço