Mappa i domini personalizzati utilizzando un bilanciatore del carico delle applicazioni esterno globale

Per configurare un nuovo endpoint pubblico per il servizio Cloud Run, puoi utilizzare Cloud Load Balancing per aggiungere un bilanciatore del carico delle applicazioni esterno globale al servizio Cloud Run. Il bilanciatore del carico delle applicazioni esterno globale ti consente di controllare la configurazione del tuo dominio personalizzato, ma richiede dei passaggi di configurazione se non possiedi già un certificato TLS o utilizzi un bilanciatore del carico delle applicazioni esterno globale.

Utilizzando le integrazioni di Cloud Run (anteprima) descritte in questa pagina, puoi configurare rapidamente una nuova mappatura di dominio personalizzata per il tuo servizio Cloud Run utilizzando un bilanciatore del carico delle applicazioni esterno globale. Se vuoi utilizzare un bilanciatore del carico delle applicazioni esterno globale esistente, consulta la pagina sulla configurazione di un bilanciatore del carico delle applicazioni esterno globale con Cloud Run.

Prima di iniziare

  • Assicurati di disporre dell'accesso richiesto per apportare modifiche al DNS per il dominio che vuoi mappare al servizio Cloud Run.

  • Assicurati che sia già stato eseguito il deployment del servizio Cloud Run con cui stai eseguendo l'integrazione.
  • Consulta la pagina dei prezzi del bilanciatore del carico delle applicazioni esterno globale. Ti vengono addebitati i costi per le singole risorse utilizzate nell'integrazione.

Ruoli obbligatori

Per utilizzare le integrazioni di Cloud Run, tu o l'amministratore dovete concedere ruoli IAM su due entità diverse.

Fai clic per visualizzare i ruoli richiesti per il tuo Account Google

Per ottenere le autorizzazioni necessarie per utilizzare le integrazioni di Cloud Run, chiedi all'amministratore di concedere al tuo Account Google i seguenti ruoli IAM sul progetto:

Fai clic per visualizzare i ruoli richiesti per l'account di servizio

Per eseguire il deployment del servizio Cloud Run, puoi utilizzare l'account di servizio predefinito di Compute Engine creato automaticamente o specificare un account di servizio gestito dall'utente. L'account di servizio deve avere i ruoli seguenti:

Mappa un dominio personalizzato con un bilanciatore del carico delle applicazioni esterno globale

Puoi mappare un dominio personalizzato utilizzando la console o la riga di comando. Tieni presente che potrebbe essere necessaria fino a un'ora per il provisioning del certificato SSL e per l'avvio del routing del traffico HTTPS al tuo servizio Cloud Run nel tuo dominio.

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Nell'elenco dei servizi, fai clic sul servizio che vuoi utilizzare in questa integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Fai clic su Aggiungi integrazione.

  5. Fai clic su Domini personalizzati - Bilanciamento del carico di Google Cloud.

    immagine

  6. Inserisci il dominio nel campo Dominio.

  7. Inserisci il percorso del dominio che stai utilizzando nel campo Percorso.

  8. Inserisci il nome del servizio da mappare a questo dominio personalizzato nel campo Servizio.

  9. Se stai eseguendo la mappatura di altri domini, fai clic su Aggiungi elemento e ripeti i passaggi precedenti per mappare il dominio al servizio in base alle esigenze.

  10. Se ti viene richiesto di abilitare un elenco di API, fai clic su Abilita e attendi che le API vengano abilitate.

  11. In Risorse, prendi nota delle nuove risorse che verranno create a seguito di questa integrazione.

  12. Fai clic su Invia e attendi che l'integrazione e le risorse vengano create:

    • Al termine, viene creata una tabella con i record DNS da configurare. Usa questa tabella per aggiornare i record DNS presso il provider DNS.
    • Dopo aver aggiornato il DNS presso il tuo provider DNS, potrebbero essere necessari fino a 45 minuti per eseguire il provisioning del certificato SSL e iniziare a instradare il traffico al tuo servizio.

gcloud

  1. Esegui l'aggiornamento all'ultima versione di Google Cloud CLI:

    gcloud components update
    
  2. Crea l'integrazione:

    gcloud beta run integrations create \
    --type=custom-domains \
    --parameters='set-mapping=DOMAIN:SERVICE' \
    

    Sostituisci:

    • DOMAIN con il tuo dominio personalizzato, ad esempio example.com o subdomain.example.com
      • Può contenere anche un percorso, ad esempio example.com/subpath/*
    • SERVICE con il nome del tuo servizio Cloud Run.

    Se vuoi, includi il flag --service-account=SERVICE_ACCOUNT_EMAIL.

    • Sostituisci SERVICE_ACCOUNT_EMAIL con l'indirizzo email dell'account di servizio gestito dall'utente (PROJECT_NUMBER-compute@developer.gserviceaccount.com) utilizzato per eseguire il deployment del servizio. Ometti questo flag se vuoi utilizzare l'account di servizio Compute predefinito (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com).

      Per continuare a utilizzare l'account di servizio specificato durante il deployment delle integrazioni di Cloud Run, esegui:

      gcloud config set runapps/deployment-service-account
      
  3. Attendi circa da 2 a 5 minuti, durante i quali viene creato un bilanciatore del carico completamente configurato. Al termine del processo, viene visualizzato il seguente messaggio:

    [custom-domains] integration [custom-domains] has been created successfully.
    To complete the process, please ensure the following DNS records are configured for the domains:
    NAME    TTL   TYPE  DATA
    DOMAIN  3600  A     IP_ADDRESS
    It can take up to an hour for the SSL certificate to be provisioned.

    Puoi controllare lo stato utilizzando gcloud beta run integrations describe.

  4. Aggiorna i record DNS presso il tuo provider DNS con il valore IP_ADDRESS visualizzato. Dopo aver aggiornato il DNS presso il tuo provider DNS, potrebbero essere necessari fino a 45 minuti per eseguire il provisioning del certificato SSL e iniziare a instradare il traffico al tuo servizio.

Aggiorna i domini personalizzati con integrazioni del bilanciatore del carico

L'aggiornamento di un'integrazione comporta l'aggiornamento di tutte le risorse Google Cloud associate all'integrazione. Per aggiornare domini personalizzati con l'integrazione del bilanciatore del carico dal servizio Cloud Run:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Fai clic sul servizio che vuoi aggiornare.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Individua i domini personalizzati con l'integrazione del bilanciatore del carico e fai clic su Modifica.

  5. Al termine dell'aggiornamento dei campi, fai clic su Aggiorna.

gcloud

  1. Utilizza il seguente comando per visualizzare un elenco delle integrazioni disponibili:

    gcloud beta run integrations list
  2. Esegui il comando per aggiornare l'integrazione:

    gcloud beta run integrations update INTEGRATION_NAME
    

    Sostituisci:

    • INTEGRATION_NAME con il nome dei tuoi domini personalizzati con l'integrazione del bilanciatore del carico.

    Facoltativamente, puoi utilizzare le seguenti opzioni di flag:

    Opzione Descrizione
    --parameters Il dominio personalizzato da impostare per il servizio.
    --service-account L'indirizzo email dell'account di servizio gestito dall'utente da specificare quando si aggiorna il servizio. Questo account di servizio esegue l'override dell'account di servizio precedente utilizzato al momento del deployment.

Visualizza i domini personalizzati con integrazioni del bilanciatore del carico

Per visualizzare lo stato attuale dei domini personalizzati con integrazioni dei bilanciatori del carico per il tuo servizio Cloud Run:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Nell'elenco dei servizi, fai clic sul servizio che vuoi utilizzare in questa integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Individua i domini personalizzati con l'integrazione del bilanciatore del carico che ti interessano e fai clic su Visualizza dettagli.

gcloud

  1. Utilizza il seguente comando per visualizzare un elenco delle integrazioni disponibili:

    gcloud beta run integrations list
  2. Utilizzando un nome dall'elenco restituito, visualizza i relativi dettagli:

    gcloud beta run integrations describe INTEGRATION_NAME

    Sostituisci INTEGRATION_NAME con il nome dei tuoi domini personalizzati con l'integrazione del bilanciatore del carico.

Elimina i domini personalizzati con integrazioni del bilanciatore del carico

L'eliminazione di un'integrazione comporta anche l'eliminazione di tutte le risorse Google Cloud associate all'integrazione, ma non l'eliminazione del servizio Cloud Run.

Per eliminare un dominio personalizzato con l'integrazione del bilanciatore del carico dal servizio Cloud Run:

Console

  1. Nella console Google Cloud, vai alla pagina Cloud Run.

    Vai a Cloud Run

  2. Fai clic sul servizio da cui vuoi eliminare un'integrazione.

  3. Fai clic sulla scheda Integrations (Integrazioni).

  4. Individua i domini personalizzati con l'integrazione del bilanciatore del carico che ti interessano e fai clic sui puntini di sospensione a destra dell'integrazione, quindi fai clic su Elimina.

gcloud

  1. Utilizza il seguente comando per visualizzare un elenco delle integrazioni disponibili:

    gcloud beta run integrations list
  2. Utilizzando un nome dall'elenco restituito, elimina l'integrazione:

    gcloud beta run integrations delete INTEGRATION_NAME
    

    Sostituisci:

    • INTEGRATION_NAME con il nome dei tuoi domini personalizzati con l'integrazione del bilanciatore del carico.

    Facoltativamente, puoi utilizzare le seguenti opzioni di flag:

    Opzione Descrizione
    --service-account L'indirizzo email dell'account di servizio gestito dall'utente per eseguire l'operazione di eliminazione.

Limitazioni

Le integrazioni di Cloud Run sono supportate solo in determinate regioni. Se devi utilizzare una regione non supportata dalle integrazioni di Cloud Run, consulta la pagina sulla configurazione di un bilanciatore del carico delle applicazioni esterno globale con Cloud Run.