Creare degli URL personalizzati

Questa pagina descrive come configurare e gestire gli URL personalizzati, consentendoti di ottenere un URL semplice da digitare, memorabile e disponibile a livello globale per i tuoi servizi Cloud Run anziché l'URL deterministico predefinito:

  • Formato URL personalizzato: https://CUSTOM_URL_DOMAIN.cloud.run
  • Formato URL predefinito: https://SERVICE_NAME-PROJECT_NUMBER.REGION.run.app

Utilizzando URL personalizzati, puoi condividere i tuoi servizi senza configurare domini personalizzati, record DNS o bilanciatori del carico esterni.

Quando utilizzi URL personalizzati per i tuoi servizi Cloud Run, ottieni i seguenti vantaggi:

  • URL semplici: mappa il tuo servizio in un formato https://CUSTOM_URL_DOMAIN.cloud.run pulito.
  • Disponibilità globale: gli URL personalizzati sono accessibili da qualsiasi luogo, come gli URL .run.app standard.
  • Ciclo di vita flessibile: collega, scollega o sposta in modo flessibile un URL personalizzato tra i servizi senza eseguire il deployment di una nuova revisione.
  • Più mappature: puoi mappare più URL personalizzati a un singolo servizio.

Prima di iniziare

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Configura l'ambiente di sviluppo Cloud Run nel tuo progetto Google Cloud .
  7. Installa e inizializza gcloud CLI.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire gli URL personalizzati, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Limitazioni

  • Per impostazione predefinita, puoi mappare fino a 50 domini per progetto.
  • Il sottodominio dell'URL personalizzato deve contenere da 6 a 63 caratteri, rispettare le convenzioni di denominazione DNS standard che consentono caratteri alfanumerici e trattini e non può iniziare o terminare con un trattino.
  • Alcuni sottodomini sono soggetti a limitazioni.
  • Non puoi disattivare temporaneamente un URL personalizzato come puoi fare con un URL .run.app predefinito. Per interrompere la pubblicazione del traffico, devi eliminare il mapping.
  • I servizi Cloud Run che limitano il traffico in entrata al traffico interno o interno e Cloud Load Balancing non sono supportati.
  • Terraform non è supportato per gli URL personalizzati. Per evitare potenziali modifiche che potrebbero causare problemi, non utilizzare la risorsa domain_mapping anteprima.
  • Gli URL personalizzati sono completamente indipendenti. Se scegli di disattivare l'URL .run.app predefinito per un servizio, il mapping degli URL personalizzati rimane completamente attivo e accessibile.

Allegare o mappare un URL personalizzato a un servizio

Puoi collegare un URL personalizzato a un nuovo servizio quando lo esegui il deployment oppure mappare un URL personalizzato a un servizio esistente utilizzando la console Google Cloud o gcloud.

Allegare URL personalizzati a un nuovo servizio

Quando esegui il deployment di un nuovo servizio Cloud Run, puoi allegare un URL personalizzato nell'ambito della configurazione del deployment.

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

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del container.

  3. Inserisci i dettagli di configurazione di base per il servizio.

  4. Nella sezione URL personalizzati, fai clic su Aggiungi un URL personalizzato.

  5. Inserisci un dominio URL personalizzato valido.

  6. Facoltativo. Per aggiungere più URL personalizzati, fai di nuovo clic su Aggiungi un URL personalizzato.

  7. Fai clic su Crea.

Mappare URL personalizzati a un servizio esistente

Puoi mappare un URL personalizzato a un servizio Cloud Run esistente utilizzando la consoleGoogle Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud , vai alla pagina Mappature dei domini.

    Vai a Mappature di domini

  2. Fai clic su Aggiungi URL personalizzato.

  3. Nell'elenco Servizio, seleziona il servizio a cui vuoi eseguire la mappatura.

  4. Inserisci il dominio dell'URL personalizzato.

  5. Fai clic su Continua.

Se vuoi aggiungere più URL personalizzati, fai di nuovo clic su Aggiungi un URL personalizzato e segui i passaggi precedenti.

gcloud

Per creare una mappatura del dominio URL personalizzata per un servizio esistente, esegui questo comando:

gcloud beta run domain-mappings create \
    --service=SERVICE_NAME \
    --domain=CUSTOM_URL_DOMAIN.cloud.run

Sostituisci quanto segue:

  • SERVICE_NAME: il nome del servizio a cui stai mappando l'URL personalizzato.
  • CUSTOM_URL_DOMAIN: il sottodominio che vuoi collegare.

Facoltativo. Per mappare più URL personalizzati utilizzando gcloud CLI, esegui ripetutamente il comando di creazione della mappatura per ogni URL personalizzato:

gcloud beta run domain-mappings create \
    --service=SERVICE_NAME \
    --domain=CUSTOM_URL_DOMAIN_1.cloud.run

gcloud beta run domain-mappings create \
    --service=SERVICE_NAME \
    --domain=CUSTOM_URL_DOMAIN_2.cloud.run

Sostituisci quanto segue:

  • SERVICE_NAME: il nome del servizio che stai eseguendo il deployment.
  • CUSTOM_URL_DOMAIN_1: il primo sottodominio da collegare.
  • CUSTOM_URL_DOMAIN_2: il secondo sottodominio da collegare.

Se il sottodominio richiesto è già in uso da un altro utente o servizio su Google Cloud, ricevi un errore e devi scegliere una destinazione univoca.

Elencare e visualizzare gli URL personalizzati

Puoi elencare tutti gli URL personalizzati e visualizzare i dettagli di mappatura per il tuo ambiente.

Console

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

    Vai a Cloud Run

  2. Fai clic sul nome del servizio.

  3. Vai alla scheda Networking.

  4. Individua gli URL allegati nella sezione Domini personalizzati sotto l'etichetta Endpoint.

gcloud

Per elencare tutti i mapping di URL personalizzati e domini in un progetto, esegui questo comando:

gcloud beta run domain-mappings list

Per visualizzare i dettagli di una mappatura di dominio URL personalizzato specifica, esegui:

gcloud beta run domain-mappings describe \
    --domain=CUSTOM_URL_DOMAIN.cloud.run

Sostituisci CUSTOM_URL_DOMAIN con il sottodominio che vuoi descrivere.

Proteggere con i segmenti di pubblico personalizzati

Puoi allegare un segmento di pubblico personalizzato al tuo URL personalizzato per limitare l'accesso.

gcloud beta run services update SERVICE_NAME \
    --add-custom-audiences=CUSTOM_URL_DOMAIN.cloud.run

Sostituisci quanto segue:

  • SERVICE_NAME: il nome del servizio.
  • CUSTOM_URL_DOMAIN: il sottodominio che funge da pubblico personalizzato.

Eliminare un URL personalizzato

Puoi eliminare una mappatura dell'URL personalizzato quando non è più necessaria.

Console

  1. Nella console Google Cloud , vai alla pagina Mappature dei domini.

    Vai a Mappature di domini

  2. Seleziona la casella di controllo accanto all'URL personalizzato da eliminare.

  3. Fai clic su Elimina.

gcloud

Per rimuovere un mapping di dominio URL personalizzato da un servizio Cloud Run, esegui questo comando:

gcloud beta run domain-mappings delete \
    --domain=CUSTOM_URL_DOMAIN.cloud.run

Sostituisci CUSTOM_URL_DOMAIN con il sottodominio che vuoi eliminare.

Problemi noti

  • Latenza di propagazione: potrebbero essere necessari alcuni secondi dopo la creazione di un URL personalizzato prima che sia completamente operativo. L'accesso all'URL immediatamente dopo la creazione potrebbe causare un errore di routing temporaneo.

  • Aggiorna o sposta un URL personalizzato: non esiste un comando di aggiornamento diretto per gli URL personalizzati. Per spostare un URL personalizzato allegato da un servizio a un altro, devi seguire un flusso di eliminazione e ricreazione.

    Console

    1. Nella console Google Cloud , vai alla pagina Mappature dei domini.

      Vai a Mappature di domini

    2. Seleziona la casella di controllo accanto all'URL personalizzato che vuoi spostare.

    3. Fai clic su Elimina.

    4. Fai clic su Aggiungi URL personalizzato.

    5. Nell'elenco Servizio, seleziona il nuovo servizio di destinazione.

    6. Inserisci il dominio dell'URL personalizzato rivendicato in precedenza.

    7. Fai clic su Crea per reindirizzare il traffico al nuovo servizio.

    gcloud

    1. Elimina il mapping esistente dal vecchio servizio:

      gcloud beta run domain-mappings delete \
          --domain=CUSTOM_URL_DOMAIN.cloud.run

      Sostituisci CUSTOM_URL_DOMAIN con il sottodominio che hai rivendicato in precedenza.

    2. Recupera e mappa l'URL al nuovo servizio:

      gcloud beta run domain-mappings create \
          --service=NEW_SERVICE_NAME \
          --domain=CUSTOM_URL_DOMAIN.cloud.run

      Sostituisci quanto segue:

      • NEW_SERVICE_NAME: il nome del servizio a cui stai spostando l'URL personalizzato.
      • CUSTOM_URL_DOMAIN: il sottodominio che vuoi collegare.

Passaggi successivi