Esegui il provisioning di un'organizzazione di valutazione senza peering VPC

Questa pagina si applica ad Apigee, ma non ad Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Questo documento spiega come installare e configurare un'organizzazione di valutazione Apigee dalla riga di comando senza il peering VPC. Le organizzazioni di valutazione scadono dopo 60 giorni e potrebbero avere altre limitazioni. Consulta anche Confrontare le organizzazioni di valutazione e a pagamento.

Limitazioni

L'opzione di installazione del peering non VPC descritta in questo documento presenta alcune limitazioni:

Per un elenco completo delle funzionalità e degli approcci di rete supportati e non supportati per il peering non VPC, consulta Come scegliere un'opzione di rete.

Riepilogo della procedura

I passaggi per il provisioning sono i seguenti:

Passaggio 1: definizione delle variabili di ambiente

Configura gcloud e definisci le variabili di ambiente da utilizzare nei passaggi successivi:

  1. Assicurati di aver soddisfatto i requisiti elencati nella sezione Prerequisiti.
  2. Devi avere installato gcloud CLI. Se devi installarla, consulta Installare gcloud CLI.
  3. Inizializza la gcloud CLI, come descritto in Inizializza la gcloud CLI, oppure, se la CLI è già stata inizializzata, assicurati che il progetto Google Cloud che hai creato in Prerequisiti sia il progetto predefinito per gcloud.
  4. Definisci le seguenti variabili di ambiente:
    AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
    PROJECT_ID="YOUR_PROJECT_ID"
    RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"
    ANALYTICS_REGION="YOUR_ANALYTICS_REGION"

    Dove:

    • AUTH definisce l'intestazione Authentication con un token di accesso. Lo userai quando chiamerai le API Apigee. Tieni presente che il token scade dopo un determinato periodo di tempo e, a quel punto, puoi semplicemente rigenerarlo utilizzando lo stesso comando. Per maggiori informazioni, consulta la pagina di riferimento del comando print-access-token.
    • PROJECT_ID è l'ID progetto Cloud che hai creato nell'ambito dei prerequisiti.
    • RUNTIME_LOCATION è la posizione fisica in cui si trova l'istanza Apigee. Per un elenco delle località di runtime disponibili, consulta Sedi di Apigee.

    • ANALYTICS_REGION è la posizione fisica in cui verranno archiviati i dati di analisi di Apigee. Per un elenco delle regioni di Apigee API Analytics disponibili, consulta Località Apigee.

      Sia RUNTIME_LOCATION che ANALYTICS_REGION possono essere la stessa regione, ma non devono esserlo. Tuttavia, potrebbe esserci un vantaggio in termini di rendimento se sono uguali.

  5. (Facoltativo) Controlla il tuo lavoro eseguendo l'echo dei valori appena impostati. Tieni presente che quando vuoi utilizzare una variabile nei comandi, devi precedere il nome della variabile con il segno di dollaro ($).
    echo $AUTH
    echo $PROJECT_ID
    echo $RUNTIME_LOCATION
    echo $ANALYTICS_REGION
    

    Le risposte ai comandi echo dovrebbero essere simili alle seguenti:

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

Passaggio 2: attivazione delle API

  1. Apigee richiede l'abilitazione di diverse API Google Cloud. Abilitali eseguendo il comando services enable:

    gcloud services enable apigee.googleapis.com \
      cloudkms.googleapis.com --project=$PROJECT_ID
  2. (Facoltativo) Per controllare il tuo lavoro, usa il comando services list per mostrare tutte le API attivate:

    gcloud services list

    La risposta mostra tutti i servizi abilitati, incluse le API che hai appena attivato (Apigee, Cloud KMS e Compute Engine).

Passaggio 3: creazione di un'organizzazione

Un'organizzazione è il contenitore di primo livello in Apigee. Contiene tutti i proxy API e le risorse correlate. Per maggiori dettagli, consulta Informazioni sulle organizzazioni.

  1. Crea una nuova organizzazione di valutazione con l'API provisionOrganization:
     suppresswarning="true">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",
      }'

    Dove:

    • -d definisce il payload di dati per la richiesta. Questo payload deve includere quanto segue:
      • ANALYTICS_REGION: specifica la posizione fisica in cui verranno archiviati i dati di analisi.

      • RUNTIME_LOCATION: è la posizione fisica in cui si trova l'istanza Apigee.

      • disableVpcPeering: in questo flusso di provisioning, non utilizziamo il peering VPC, pertanto questo flag deve essere impostato su true. Valore predefinito: false
  2. Apigee avvia un LRO per creare l'organizzazione di valutazione. Il completamento di questa operazione può richiedere fino a 40 minuti.

  3. Per controllare lo stato della richiesta di creazione, puoi inviare una richiesta GET all'API List organizations di Apigee, come mostrato nell'esempio seguente:
    curl -H "$AUTH" "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID"

    Se visualizzi questa risposta, significa che la creazione dell'organizzazione non è ancora stata completata:

    {
    "error": {
    "code": 403,
    "message": "Permission denied on resource \"organizations/apigee-docs-m\" (or it may not exist)",
    "status": "PERMISSION_DENIED"
    }
    }

    In caso di esito positivo, l'oggetto risposta indicarà "state": "ACTIVE" e potrai passare al passaggio successivo.

Passaggio 4: configura il routing

In questo passaggio, configuri il modo in cui le applicazioni client comunicano con Apigee. Il traffico dal client ad Apigee è chiamato anche traffico "in uscita". Le opzioni di configurazione in uscita sono le seguenti:

Tipo di accesso Descrizione della procedura di configurazione e di deployment
Interna con PSC

Consenti solo l'accesso interno ai proxy API da qualsiasi progetto Google Cloud utilizzando Private Service Connect (PSC).

PSC consente la connessione privata tra un producer di servizi (Apigee) e un consumer di servizi (il progetto VPC in peering e/o uno o più altri progetti Cloud sotto il tuo controllo). Con questo metodo, le richieste passano tramite un endpoint di servizio o un bilanciatore del carico interno regionale a un singolo punto di attacco, chiamato attacco del servizio. Questa configurazione consente ai client interni di inviare richieste proxy API Apigee da qualsiasi computer con accesso alla rete.

Esterno con PSC

Consenti l'accesso esterno ai proxy API utilizzando Private Service Connect (PSC).

Utilizza Private Service Connect (PSC) per abilitare la connessione privata tra un producer di servizi (Apigee) e un consumer di servizi (il progetto VPC congiunto e/o uno o più altri progetti cloud che controlli). Con questo metodo, le richieste passano tramite un bilanciatore del carico esterno globale o un bilanciatore del carico esterno regionale a un singolo punto di attacco, chiamato attacco del servizio. Questa configurazione ti consente di inviare richieste di proxy API Apigee da qualsiasi computer con accesso alla rete.

Ciascuno di questi approcci di routing è presentato in una scheda nelle istruzioni riportate di seguito.

Routing interno (PSC)

Questa sezione spiega come consentire solo l'accesso interno ai proxy API da qualsiasi progetto Google Cloud utilizzando Private Service Connect (PSC).

Hai due opzioni per configurare l'accesso interno con PSC:

Seleziona la scheda di seguito per la configurazione scelta e segui i passaggi:

Endpoint del servizio

Crea un endpoint del servizio PSC per il collegamento del servizio

  1. Recupera l'allegato del servizio dall'istanza Apigee:
    curl -i -X GET -H "$AUTH" \
      "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Nell'output di esempio seguente, il valore serviceAttachment è mostrato in grassetto:

    {
      "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. Crea un endpoint di servizio PSC che punti al collegamento al servizio ottenuto dal corpo della risposta dell'istanza nel passaggio precedente, come spiegato in Creare un endpoint Private Service Connect.
  3. Prendi nota e ricordati l'indirizzo IP dell'endpoint di servizio. Ti servirà l'indirizzo IP in un secondo momento quando testerai la configurazione chiamando un proxy API. (ad esempio 10.138.0.2)

Il provisioning di Apigee è stato completato. Vai a Eseguire il deployment di un proxy di esempio.

Bilanciatore del carico regionale interno

Passaggio 8a: configura le variabili di ambiente

Le istruzioni in questa sezione utilizzano le variabili di ambiente per fare riferimento a stringhe utilizzate ripetutamente. Assicurati di aver impostato le variabili in Definire le variabili di ambiente.

Inoltre, imposta le seguenti variabili di ambiente:

  • Definisci le seguenti variabili di ambiente nel terminale dei comandi:
    NEG_NAME=YOUR_NEG_NAME"
    TARGET_SERVICE=YOUR_TARGET_SERVICE"
    NETWORK_NAME=YOUR_NETWORK_NAME"
    SUBNET_NAME=YOUR_SUBNET_NAME"

    Dove:

    • NEG_NAME: un nome per il gruppo di endpoint di rete.
    • TARGET_SERVICE: il collegamento del servizio a cui vuoi collegarti. Ad esempio: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
    • NETWORK_NAME: (Facoltativo) Nome della rete in cui viene creato il NEG. Se ometti questo parametro, viene utilizzata la rete del progetto default.
    • SUBNET_NAME: il nome della subnet utilizzata per la connettività privata con il produttore. La dimensione della subnet può essere ridotta: il NEG PSC richiede un solo IP della subnet. Per Apigee è necessario un solo NEG PSC per regione. La subnet può essere condivisa e utilizzata da VM o altre entità. Se non viene specificata una subnet, gli endpoint di rete possono appartenere a qualsiasi subnet nella regione in cui viene creato il gruppo di endpoint di rete.
  • Passaggio 8b: crea una subnet solo 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

    Passaggio 8c: crea un gruppo di endpoint di rete (NEG)

    1. Recupera l'allegato del servizio dall'istanza creata in precedenza:
      curl -i -X GET -H "$AUTH" \
      "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

      Nell'output di esempio seguente, il valore serviceAttachment è mostrato in grassetto:

      {
      "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. Crea un NEG Private Service Connect che punti al collegamento di servizio ottenuto dal corpo della risposta dell'istanza nel passaggio precedente.

      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

    Passaggio 8d: configura il bilanciatore del carico interno a livello di regione

    1. Prenota un indirizzo IPv4 interno per il bilanciatore del carico.
      gcloud compute addresses create ADDRESS_NAME \
      --ip-version=IPV4 --subnet=$SUBNET_NAME \
        --region=$RUNTIME_LOCATION --project=$PROJECT_ID

      Sostituisci ADDRESS_NAME con un nome per la risorsa indirizzo IP.

      Esegui questo comando per visualizzare l'indirizzo IP riservato:

      gcloud compute addresses describe ADDRESS_NAME \
      --format="get(address)" --region=RUNTIME_LOCATION --project=$PROJECT_ID
    2. Crea un servizio di backend per il gruppo di negozi NEG.
      gcloud compute backend-services create BACKEND_SERVICE_NAME \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=HTTPS \
      --region=$RUNTIME_REGION \
      --project=$PROJECT_ID
    3. Sostituisci BACKEND_SERVICE_NAME con il nome del servizio di backend.

    4. Aggiungi il NEG al servizio di backend.
      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
      --network-endpoint-group=NEG_NAME \
      --region=$RUNTIME_LOCATION \
      --project=$PROJECT_ID

      Sostituisci quanto segue:

      • BACKEND_SERVICE_NAME: il nome del servizio di backend.
      • NEG_NAME: il nome del gruppo di endpoint di rete.
    5. Devi disporre di una risorsa del certificato SSL da utilizzare nel proxy di destinazione HTTPS.

      Utilizza questo comando per creare una risorsa del certificato SSL autogestita. Per creare un certificato SSL autogestito, devi disporre di un file della chiave privata locale e di un file del certificato locale. Se devi creare questi file, consulta il passaggio 1 sull'utilizzo dei certificati SSL autogestiti.

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

      Sostituisci quanto segue:

      • CERTIFICATE: un nome per il certificato.
      • LB_CERT: il percorso del file del certificato in formato PEM per il certificato autogestito.
      • LB_PRIVATE_KEY: il percorso del file della chiave privata in formato PEM per il certificato autogestito.
    6. Crea una mappa URL per il bilanciatore del carico.

      Una mappa URL deve fare riferimento a un servizio di backend predefinito. Imposta il servizio di backend appena creato come predefinito.

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

      Sostituisci quanto segue:

      • URL_MAP_NAME: un nome per la mappa degli URL.
      • DEFAULT_BACKEND_SERVICE_NAME: il nome del servizio di backend predefinito del bilanciatore del carico. Il valore predefinito viene utilizzato quando nessuna regola host corrisponde al nome host richiesto.
    7. Utilizza la risorsa del certificato SSL per creare un proxy HTTPS di destinazione.

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

      Sostituisci quanto segue:

      • PROXY_NAME: un nome per il proxy HTTPS di destinazione.
      • URL_MAP_NAME: il nome della mappa di URL.
      • CERTIFICATE: il nome della risorsa del certificato.
    8. Crea la regola di forwarding.
      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

      Sostituisci quanto segue:

      • FWD_RULE: un nome per la regola di forwarding.
      • ADDRESS_NAME: la risorsa indirizzo IP che hai riservato per l'utilizzo per la regola di forwarding.
      • PROXY_NAME: il nome del proxy HTTPS di destinazione.

    Il provisioning di Apigee è stato completato. Vai a Eseguire il deployment di un proxy di esempio.

    Routing esterno (PSC)

    Questa sezione descrive come configurare il routing esterno utilizzando Private Service Connect (PSC) per consentire la comunicazione tra Apigee e i VPC che controlli. Devi eseguire questa operazione prima di poter inviare una richiesta da un client esterno all'istanza di runtime Apigee.

    Passaggio 8b: crea un NEG e configura il bilanciatore del carico

    Puoi creare un bilanciatore del carico globale o regionale.

    Bilanciatore del carico esterno globale

    Configura un bilanciatore del carico HTTP(S) esterno globale (schema di bilanciamento del carico impostato su EXTERNAL_MANAGED).

    Sebbene il NEG Private Service Connect sia regionale, tutti gli altri componenti di bilanciamento del carico in questa configurazione sono globali.

    1. Assicurati di aver impostato le variabili di ambiente in Definire le variabili di ambiente.
    2. Recupera l'allegato del servizio dall'istanza creata in precedenza:
      curl -i -X GET -H "$AUTH" \
            "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

      Nell'output di esempio seguente, il valore serviceAttachment è mostrato in grassetto:

      {
            "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. Crea un NEG Private Service Connect che punti al collegamento di servizio ottenuto dal corpo della risposta dell'istanza nel passaggio precedente.

          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
          

      Sostituisci quanto segue:

      • NETWORK_NAME: (Facoltativo) Nome della rete in cui viene creato il NEG. Se ometti questo parametro, viene utilizzata la rete del progetto default.
      • SUBNET_NAME: il nome della subnet utilizzata per la connettività privata con il produttore. La dimensione della subnet può essere ridotta: il NEG PSC richiede un solo IP della subnet. Per Apigee è necessario un solo NEG PSC per regione. La subnet può essere condivisa e utilizzata da VM o altre entità. Se non viene specificata una subnet, gli endpoint di rete possono appartenere a qualsiasi subnet nella regione in cui viene creato il gruppo di endpoint di rete.
      • PROJECT_ID Il progetto Cloud già associato alla tua organizzazione Apigee o un progetto Cloud incluso in consumerAcceptlist al momento della creazione dell'istanza di runtime Apigee.
    4. Prenota un indirizzo IPv4 esterno globale per il bilanciatore del carico.
      gcloud compute addresses create ADDRESS_NAME \
        --ip-version=IPV4 --global --project=$PROJECT_ID

      Sostituisci ADDRESS_NAME con un nome per la risorsa indirizzo IP.

      Esegui questo comando per visualizzare l'indirizzo IP riservato:

      gcloud compute addresses describe ADDRESS_NAME \
        --format="get(address)" --global --project=$PROJECT_ID
    5. Crea un servizio di backend per il gruppo di negozi NEG.
      gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTPS \
        --global --project=$PROJECT_ID
    6. Sostituisci BACKEND_SERVICE_NAME con il nome del servizio di backend.

    7. Aggiungi il servizio di backend al gruppo NEG.
      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=$REGION \
        --global --project=$PROJECT_ID

      Sostituisci quanto segue:

      • BACKEND_SERVICE_NAME: il nome del servizio di backend.
      • NEG_NAME: il nome del gruppo di endpoint di rete.
      • REGION: la regione del gruppo di endpoint di rete.
    8. Crea una mappa URL per il bilanciatore del carico.

      Una mappa URL deve fare riferimento a un servizio di backend predefinito. Imposta il servizio di backend appena creato come predefinito.

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

      Sostituisci quanto segue:

      • URL_MAP_NAME: un nome per la mappa degli URL.
      • DEFAULT_BACKEND_SERVICE_NAME: il nome del servizio di backend predefinito del bilanciatore del carico. Il valore predefinito viene utilizzato quando nessuna regola host corrisponde al nome host richiesto.
    9. Crea il proxy HTTPS di destinazione.

      Devi disporre di una risorsa del certificato SSL da utilizzare nel proxy di destinazione HTTPS. Puoi creare una risorsa del certificato SSL utilizzando un certificato SSL gestito da Google o un certificato SSL autogestito. Ti consigliamo di utilizzare i certificati gestiti da Google perché Google Cloud li ottiene, li gestisce e li rinnova automaticamente.

      Per creare un certificato gestito da Google, devi avere un dominio.

      Utilizza questo comando per creare una risorsa del certificato SSL gestita da Google:

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

      Sostituisci quanto segue:

      • CERTIFICATE: un nome per il certificato.
      • DOMAIN: il nome di dominio del bilanciatore del carico.

      Utilizza questo comando per creare una risorsa del certificato SSL autogestita. Per creare un certificato SSL autogestito, devi disporre di un file della chiave privata locale e di un file del certificato locale. Se devi creare questi file, consulta il passaggio 1 sull'utilizzo dei certificati SSL autogestiti.

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

      Sostituisci quanto segue:

      • CERTIFICATE: un nome per il certificato.
      • LB_CERT: il percorso del file del certificato in formato PEM per il certificato autogestito.
      • LB_PRIVATE_KEY: il percorso del file della chiave privata in formato PEM per il certificato autogestito.

      Utilizza la risorsa del certificato SSL per creare un proxy HTTPS di destinazione.

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

      Sostituisci quanto segue:

      • PROXY_NAME: un nome per il proxy HTTPS di destinazione.
      • URL_MAP_NAME: il nome della mappa di URL.
      • CERTIFICATE: il nome della risorsa del certificato.
    10. Crea la regola di forwarding.
      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

      Sostituisci quanto segue:

      • FWD_RULE: un nome per la regola di forwarding.
      • ADDRESS_NAME: la risorsa indirizzo IP che hai riservato per l'utilizzo per la regola di forwarding.
      • PROXY_NAME: il nome del proxy HTTPS di destinazione.

    Il provisioning di Apigee è stato completato. Vai a Eseguire il deployment di un proxy di esempio.

    Bilanciatore del carico esterno regionale

    Configura un bilanciatore del carico HTTP(S) esterno a livello di area geografica. Consulta anche Panoramica del bilanciatore del carico HTTP(S) esterno.

    1. Assicurati di aver impostato le variabili in Definire le variabili di ambiente.
    2. Crea una subnet solo 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
      • Sostituisci SUBNET_NAME con il nome della subnet.
      • (Facoltativo) Sostituisci NETWORK_NAME con il nome della rete in cui viene creata la subnet. Se ometti questo parametro, viene utilizzata la rete del progetto predefinita.
    3. Recupera l'allegato del servizio dall'istanza creata in precedenza:
      curl -i -X GET -H "$AUTH" \
              "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

      Nell'output di esempio seguente, il valore serviceAttachment è mostrato in grassetto:

      {
              "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. Crea un gruppo di endpoint di rete.
      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

      Sostituisci quanto segue:

      • NEG_NAME: il nome del gruppo di endpoint di rete.
      • TARGET_SERVICE: il nome dell'allegato del servizio a cui vuoi connetterti. Ad esempio: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
    5. Crea un servizio di backend per il gruppo di negozi NEG.
      gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTPS \
        --region=$RUNTIME_LOCATION  \
        --project=$PROJECT_ID
    6. Sostituisci BACKEND_SERVICE_NAME con il nome del servizio di backend.

    7. Aggiungi il servizio di backend al gruppo NEG.
      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --region=$RUNTIME_LOCATION  \
        --project=$PROJECT_ID

      Sostituisci quanto segue:

      • BACKEND_SERVICE_NAME: il nome del servizio di backend.
      • NEG_NAME: il nome del gruppo di endpoint di rete.
    8. Crea una mappa URL per il bilanciatore del carico.

      Una mappa URL deve fare riferimento a un servizio di backend predefinito. Imposta il servizio di backend appena creato come predefinito.

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

      Sostituisci quanto segue:

      • URL_MAP_NAME: un nome per la mappa degli URL.
      • DEFAULT_BACKEND_SERVICE_NAME: il nome del servizio di backend predefinito del bilanciatore del carico. Il valore predefinito viene utilizzato quando nessuna regola host corrisponde al nome host richiesto.
    9. Crea il proxy HTTPS di destinazione.

      Devi disporre di una risorsa del certificato SSL da utilizzare nel proxy di destinazione HTTPS.

      Utilizza questo comando per creare una risorsa del certificato SSL autogestita. Per creare un certificato SSL autogestito, devi disporre di un file della chiave privata locale e di un file del certificato locale. Se devi creare questi file, consulta il passaggio 1 sull'utilizzo dei certificati SSL autogestiti.

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

      Sostituisci quanto segue:

      • CERTIFICATE: un nome per il certificato.
      • LB_CERT: il percorso del file del certificato in formato PEM per il certificato autogestito.
      • LB_PRIVATE_KEY: il percorso del file della chiave privata in formato PEM per il certificato autogestito.
    10. Aggiungi il dominio al gruppo di ambienti Apigee creato per te. Il nome del gruppo di ambienti è 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. Controlla lo stato dell'operazione del gruppo di ambienti:
      curl -H "$AUTH" \
            "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group/attachments"
          
    12. Utilizza la risorsa del certificato SSL per creare un proxy HTTPS di destinazione.

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

      Sostituisci quanto segue:

      • PROXY_NAME: un nome per il proxy HTTPS di destinazione.
      • URL_MAP_NAME: il nome della mappa di URL.
      • CERTIFICATE: il nome della risorsa del certificato.
    13. Prenota un indirizzo esterno regionale per il bilanciatore del carico. Tieni presente che il livello di rete deve essere impostato su STANDARD.
      gcloud compute addresses create ADDRESS_NAME \
            --region=$RUNTIME_LOCATION --network-tier=STANDARD \
            --project=$PROJECT_ID

      Sostituisci ADDRESS_NAME con un nome per la risorsa indirizzo IP.

      Esegui questo comando per visualizzare l'indirizzo IP riservato:

      gcloud compute addresses describe ADDRESS_NAME \
            --format="get(address)" --region=$RUNTIME_LOCATION \
            --project=$PROJECT_ID
    14. Crea la regola di forwarding.
      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

      Sostituisci quanto segue:

      • FWD_RULE: un nome per la regola di forwarding.
      • ADDRESS_NAME: la risorsa indirizzo IP che hai riservato per l'utilizzo per la regola di forwarding.
      • PROXY_NAME: il nome del proxy HTTPS di destinazione.

    Il provisioning di Apigee è stato completato. Vai a Chiama il proxy API di esempio.

    Passaggio 5: chiama il proxy API di esempio

    Durante il provisioning è stato creato ed eseguito il deployment di un proxy API denominato hello-world. In questo passaggio, testerai la nuova organizzazione di valutazione chiamando il proxy.

    Chiama il proxy API con il routing interno

    Se nel passaggio 5 hai scelto un'opzione di instradamento interno con un endpoint di servizio, segui i passaggi descritti in Chiamata a un proxy API con accesso solo interno.

    Chiama il proxy API con il routing esterno

    Se nel passaggio 5 hai scelto un'opzione di routing esterno, segui i passaggi descritti in questa sezione.

    1. Configura una voce DNS per il tuo dominio. Ecco due modi per svolgere questa operazione:
      • Crea un record A che rimandi al tuo dominio presso il tuo registrar. Ad esempio, se il tuo dominio è sales.example.com e l'IP è 10.23.0.2, indirizza il record per sales.example.com all'indirizzo 10.23.0.2.

        Esegui questo comando per visualizzare l'indirizzo IP riservato:

        gcloud compute addresses describe ADDRESS_NAME \
            --format="get(address)" --region=$RUNTIME_LOCATION \
            --project=$PROJECT_ID
      • Utilizza Cloud DNS di Google per mappare un URL a un indirizzo IP.
    2. Verifica che il proxy hello-world sia dipiegato:
      curl -i -H "$AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/eval/apis/hello-world/revisions/1/deployments"
    3. Chiama il proxy API:

      Invia una richiesta al proxy API da qualsiasi computer con accesso alla rete eseguendo il seguente comando:

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

      dove DOMAIN è il dominio inserito nel certificato e aggiunto al gruppo di ambienti, come descritto nel passaggio 5: configura il routing. Se necessario, puoi utilizzare questa API per ottenere il valore DOMAIN dal gruppo di ambienti:

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

      In caso di esito positivo, il proxy API di esempio restituisce la risposta:

      Hello, Guest!

      Suggerimenti per la risoluzione dei problemi:

      Se viene visualizzato un errore di handshake, controlla lo stato del certificato SSL. Per informazioni sulla risoluzione dei problemi relativi ai certificati autogestiti e gestiti da Google, consulta Risolvere i problemi relativi ai certificati SSL.

      Assicurati che il tuo dominio registrato abbia un Record A che punti all'indirizzo IP dell'indirizzo IPv4 esterno globale creato nel passaggio 5. Esegui questo comando per visualizzare l'indirizzo IP riservato:

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

      Se non riesci a risolvere la configurazione del dominio, prova a chiamare il proxy con questo comando:

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

    Passaggio successivo: per scoprire di più sulla creazione e sul deployment dei proxy API, consulta la Panoramica della creazione del primo proxy API.