Mapping di domini personalizzati

Puoi configurare un dominio personalizzato anziché l'indirizzo predefinito Cloud Run fornisce un servizio di cui è stato eseguito il deployment.

Esistono due modi per configurare un dominio personalizzato per Cloud Run servizio:

Puoi mappare più domini personalizzati allo stesso servizio Cloud Run.

Prima di iniziare

Acquista un nuovo dominio, a meno che tu non ne abbia già uno che vuoi utilizzare. Tu può utilizzare qualsiasi registrar di nomi di dominio.

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

Con questa opzione, aggiungi un bilanciatore del carico delle applicazioni esterno globale per il servizio Cloud Run e configurare un dominio personalizzato a livello del bilanciatore del carico.

Un vantaggio dell'utilizzo di un bilanciatore del carico delle applicazioni esterno globale è che offre molte della configurazione del dominio personalizzato. Ad esempio, consente di utilizzare il tuo certificato o la tua route TLS. di percorsi URL specifici del servizio Cloud Run. Ti consente inoltre di configurare Cloud CDN per la memorizzazione nella cache e Google Cloud Armor per una maggiore sicurezza.

Tieni presente che puoi anche mappare più servizi a un nome host dinamico oppure percorso nel pattern URL del tuo dominio personalizzato per un singolo bilanciatore del carico, ad esempio <service>.example.com utilizzando le maschere URL.

Utilizzo delle integrazioni di Cloud Run

Se attualmente non utilizzi un bilanciatore del carico delle applicazioni esterno globale, puoi utilizzare la funzionalità di integrazione di Cloud Run per configurare rapidamente un bilanciatore del carico per il tuo servizio Cloud Run. Consulta la pagina delle integrazioni per domini personalizzati su Cloud Run utilizzando un bilanciatore del carico delle applicazioni esterno globale.

Utilizzo diretto del bilanciatore del carico delle applicazioni esterno globale

Se utilizzi già un bilanciatore del carico delle applicazioni esterno globale, consulta la documentazione sulla configurazione di un bilanciatore del carico delle applicazioni esterno globale con Cloud Run. Tieni presente che l'utilizzo della funzionalità di integrazione può sovrascrivere alcune configurazioni del bilanciatore del carico esistenti, come l'abilitazione CDN.

Mappare un dominio personalizzato utilizzando Firebase Hosting

Con questa opzione, configuri Firebase Hosting davanti al tuo servizio Cloud Run e connetti un dominio di configurazione Firebase Hosting.

Firebase Hosting ha un prezzo basso e ti consente facoltativamente di ospitare e pubblicare contenuti statici insieme a quelli dinamici pubblicati dai tuoi dal servizio Cloud Run.

Utilizzo dell'integrazione di Cloud Run

Il modo più semplice e consigliato per utilizzare Firebase Hosting per mappare un dominio personalizzato è utilizzando la funzionalità di integrazione di Cloud Run per Firebase Hosting.

Uso: firebase.json

Se non vuoi utilizzare la funzione di integrazione di Firebase Hosting, puoi utilizzare in alternativa un approccio manuale per configurare Firebase Hosting.

Per mappare manualmente un dominio personalizzato utilizzando Firebase Hosting:

  1. Aggiungi Firebase al tuo progetto Google Cloud
  2. Installa l'interfaccia a riga di comando di Firebase
  3. In una cartella diversa dal codice sorgente del tuo servizio, crea un'istanza firebase.json con i seguenti contenuti:

      {
        "hosting": {
          "rewrites": [{
            "source": "**",
            "run": {
              "serviceId": "SERVICE_NAME",
              "region": "REGION"
            }
          }]
        }
      }
    

    Sostituisci SERVICE_NAME e REGION con il nome e del servizio Cloud Run.

  4. Esegui il deployment della configurazione di Firebase Hosting:

    firebase deploy --only hosting --project PROJECT_ID
  5. Collegare un dominio personalizzato a Firebase Hosting

Scopri di più su Firebase Hosting e Cloud Run.

Mappa un dominio personalizzato utilizzando la mappatura di domini Cloud Run (disponibilità limitata e anteprima)

Limitazioni relative alla mappatura dei domini Cloud Run

Le seguenti considerazioni si applicano alle mappature dei domini Cloud Run:

  • I mapping di domini Cloud Run sono in fase di lancio in anteprima. A causa di problemi di latenza, non vengono sono pronte per la produzione e non sono supportate nella disponibilità generale. Al momento, questa opzione non è consigliata per i servizi di produzione.
  • Un certificato gestito da Google per le connessioni HTTPS viene emesso automaticamente rinnovato quando mappi un servizio a un dominio personalizzato.
  • Il provisioning del certificato SSL in genere richiede circa 15 minuti, ma in alcuni casi fino a 24 ore.
  • Non puoi disabilitare TLS 1.0 e 1.1. Se questo è un problema, puoi utilizzare Firebase Hosting o Cloud Load Balancing per abilitare il traffico solo TLS 1.2.
  • Non puoi caricare e utilizzare certificati di tua proprietà (autogestiti).
  • I mapping di domini Cloud Run sono limitati a 64 caratteri.
  • La mappatura di dominio è disponibile nelle seguenti regioni:
    • asia-east1
    • asia-northeast1
    • asia-southeast1
    • europe-north1
    • europe-west1
    • europe-west4
    • us-central1
    • us-east1
    • us-east4
    • us-west1
  • Per mappare domini personalizzati in altre regioni, devi utilizzare una delle altre opzioni di mappatura.
  • Quando utilizzi i mapping di domini di Cloud Run, mappa un dominio personalizzato al tuo aggiorna i tuoi record DNS.
  • Puoi mappare un dominio, ad esempio example.com, o un sottodominio, come subdomain.example.com.
  • Puoi mappare un dominio solo a /, non a un percorso URL specifico come /users.
  • Non puoi utilizzare certificati con caratteri jolly con questa funzionalità.

Mappare un dominio personalizzato a un servizio

Puoi utilizzare la console Google Cloud, gcloud CLI o Terraform per mappare una un dominio personalizzato a un servizio.

Console

  1. Apri la pagina delle mappature dei domini nella console Google Cloud:
    Pagina delle mappature di dominio

  2. Fai clic su Aggiungi mappatura.

    Tieni presente che se la finestra del display è troppo piccola, il pulsante Aggiungi mappatura non viene visualizzato e devi fare clic su l'icona dei tre puntini verticali nell'angolo a destra della pagina.

  3. Dall'elenco a discesa, seleziona il servizio per il quale stai mappando il servizio personalizzato dominio.

  4. A seconda della regione impostata per il servizio selezionato, il modulo mostra le opzioni disponibili per l'aggiunta di un dominio personalizzato:

    • Firebase Hosting mediante le integrazioni di Cloud Run
    • Domini personalizzati - Google Cloud Load Balancing con Integrazioni di Cloud Run
    • Mapping di domini Cloud Run

    Seleziona Mapping di domini Cloud Run.

  5. Nel modulo Aggiungi mappatura, seleziona Verifica un nuovo dominio.

  6. Nel campo Dominio di base da verificare, devi verificare la proprietà del un dominio prima di poterlo utilizzare, a meno che tu non lo abbia acquistato di Google.

    Se vuoi mappare subdomain.example.com o subdomain1.subdomain2.example.com, devi verificare la proprietà di example.com. Per ulteriori informazioni sulla verifica della proprietà del dominio, consulta le Guida di Search Console

  7. Fai clic su Continua.

  8. Al termine della verifica del dominio, fai clic su Continua la verifica e chiudi.

  9. Aggiorna i record DNS nel registrar del dominio utilizzando i record DNS visualizzati nell'ultimo passaggio. Puoi visualizzare i record in qualsiasi momento facendo clic su DNS Record (Record DNS) nella "..." menu azione per una mappatura di dominio.

  10. Fai clic su Fine.

gcloud

  1. La prima volta che devi verificare la proprietà del dominio per volta in cui utilizzi quel dominio nel progetto Google Cloud, a meno che tu non abbia acquistato un dominio personalizzato di Google. Puoi determinare se il dominio personalizzato che vuoi utilizzare è stato verificati con il comando

    gcloud domains list-user-verified

    Se la tua proprietà del dominio deve essere verificato, apri la pagina di verifica di Search Console:

    gcloud domains verify BASE-DOMAIN

    dove BASE-DOMAIN è il dominio di base che vuoi da verificare. Ad esempio, se vuoi mappare subdomain.example.com, deve verificare la proprietà di example.com.

    In Search Console, completa la verifica della proprietà del dominio. Per per saperne di più, consulta Guida di Search Console.

  2. Mappa il servizio al dominio personalizzato:

    gcloud beta run domain-mappings create --service SERVICE --domain DOMAIN
    • Sostituisci SERVICE con il nome del tuo servizio.
    • Sostituisci DOMAIN con il tuo dominio personalizzato, ad esempio example.com o subdomain.example.com

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.

Per creare un servizio Cloud Run, aggiungi quanto segue al file main.tf esistente:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloud-run-srv"
  location = "us-central1"
  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
  }
}

Sostituisci il valore di name con il nome del tuo servizio.

Mappa il servizio Cloud Run al dominio personalizzato:

data "google_project" "project" {}

resource "google_cloud_run_domain_mapping" "default" {
  name     = "verified-domain.com"
  location = google_cloud_run_v2_service.default.location
  metadata {
    namespace = data.google_project.project.project_id
  }
  spec {
    route_name = google_cloud_run_v2_service.default.name
  }
}

Sostituisci verified-domain.com con il tuo dominio verificato personalizzato, ad esempio example.com o subdomain.example.com

Aggiungi i record DNS nel tuo registrar di domini

Dopo aver mappato il servizio a un dominio personalizzato in Cloud Run, devi aggiornare i tuoi record DNS nel registrar del dominio. Per praticità, Cloud Run genera e visualizza i record DNS che devi inserire. Tu devi aggiungere questi record che puntano al servizio Cloud Run registrar di domini per rendere effettiva la mappatura.

Se utilizzi Cloud DNS come provider DNS, consulta l'articolo su come aggiungere un registrazione.

  1. Recupera le informazioni del record DNS per le mappature dei tuoi domini utilizzando:

    Console

    1. Vai alla pagina delle mappature dei domini Cloud Run:
      Pagina delle mappature di dominio

    2. Fai clic sull'icona dei tre puntini verticale a destra del servizio, quindi fai clic su RECORD DNS per visualizzare tutti i record DNS:

    seleziona record DNS

    gcloud

    gcloud beta run domain-mappings describe --domain [DOMAIN]

    Sostituisci [DOMAIN] con il tuo dominio personalizzato, ad esempio example.com o subdomain.example.com.

    Devi restituire tutti i record sotto l'intestazione resourceRecords.

  2. Accedi al tuo account nel registrar del dominio e apri il DNS di configurazione del deployment.

  3. Individua la sezione dei record dell'host nella pagina di configurazione del tuo dominio e quindi aggiungi ogni record di risorse che hai ricevuto quando hai mappato il tuo dominio al servizio Cloud Run.

  4. Quando aggiungi ciascuno dei record DNS precedenti all'account del provider DNS:

    • Seleziona il tipo restituito nel record DNS nel passaggio precedente: A o AAAA. o CNAME.
    • Utilizza il nome www per mappare www.example.com.
    • Utilizza il nome @ per mappare example.com.
  5. Salva le modifiche nella pagina di configurazione DNS dell'account del tuo dominio. Nella maggior parte dei casi, l'applicazione delle modifiche richiede solo pochi minuti, ma in alcuni casi possono essere necessarie anche diverse ore, a seconda del registrar e la durata (TTL) di qualsiasi record DNS precedenti per il tuo dominio. Puoi utilizzare uno dei seguenti dig, come questa versione online di dig, per confermare che i record DNS sono stati aggiornati correttamente.

  6. Per ottenere risultati ottimali, accedi al tuo servizio al nuovo URL, ad esempio esempio https://www.example.com. Tieni presente che l'aggiornamento il certificato SSL gestito da emettere.

Aggiungere proprietari del dominio verificati ad altri utenti o account di servizio

Quando un utente verifica un dominio, questo viene verificato solo all'account di quell'utente. Ciò significa che solo quell'utente può aggiungere altri domini mappature che usano quel dominio. Quindi, per consentire ad altri utenti di aggiungere mappature utilizzano tale dominio, devi aggiungerli come proprietari verificati.

Se devi aggiungere proprietari verificati del tuo dominio ad altri utenti account di servizio, puoi aggiungere le autorizzazioni tramite Search Console pagina:

  1. Vai a questo indirizzo nel tuo browser web:

    https://search.google.com/search-console/welcome

  2. In Proprietà, fai clic sul dominio per cui vuoi aggiungere un utente. o un account di servizio.

  3. Scorri verso il basso fino all'elenco Proprietari verificati, fai clic su Aggiungi un proprietario. quindi inserisci l'indirizzo email o l'ID account di servizio di un Account Google.

    Per visualizzare un elenco dei tuoi account di servizio, apri la sezione Account di servizio nella console Google Cloud:

    Vai alla pagina Account di servizio

Elimina un mapping di domini Cloud Run

Puoi utilizzare la console Google Cloud o lo strumento a riga di comando gcloud per eliminare una mappatura di dominio.

Console

  1. Apri la pagina delle mappature dei domini nella console Google Cloud:
    Pagina delle mappature di dominio

  2. Nella pagina Mappature di domini, seleziona la mappatura di dominio da eliminare e fai clic su Elimina.

gcloud

  1. Elimina il mapping di domini:

    gcloud beta run domain-mappings delete --domain DOMAIN
    • Sostituisci DOMAIN con il tuo dominio personalizzato, ad esempio example.com o subdomain.example.com

Utilizzo di domini personalizzati con servizi autenticati

I servizi autenticati sono protetti da IAM. Questi servizi Cloud Run richiedono l'autenticazione client che dichiara il destinatario previsto di una richiesta al momento della generazione delle credenziali (il pubblico).

Pubblico è in genere l'URL completo del servizio di destinazione e, per impostazione predefinita, per Cloud Run è un URL generato che termina con run.app. Tuttavia, se utilizzi un dominio personalizzato, dovresti evitare di utilizzare come segmento di pubblico l'URL run.app generato automaticamente. Puoi invece configurare il servizio per un segmento di pubblico personalizzato. in modo da accettare il dominio personalizzato come pubblico di autenticazione valido.

Passaggi successivi

  • Per configurare un dominio personalizzato per Cloud Run utilizzando un bilanciatore del carico delle applicazioni esterno globale con Terraform, esplora questo codice campione.