Mapping di domini personalizzati

Puoi utilizzare un dominio personalizzato per il tuo servizio Cloud Run for Anthos.

Per utilizzare un dominio personalizzato per un servizio, devi mappare il servizio al dominio personalizzato e aggiornare i record DNS. Puoi mappare un servizio a un dominio, ad esempio example.com, o a un sottodominio, ad esempio subdomain.example.com.

Se utilizzi HTTPS, affinché le mappature dei domini funzionino, devi utilizzare la funzionalità dei certificati TLS gestiti o fornire i tuoi certificati.

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

Prima di iniziare

  • Devi avere o acquistare il dominio che vuoi mappare ai servizi. Puoi utilizzare qualsiasi registrar di nomi di dominio, ma se utilizzi Google Domains o Cloud Domains, il dominio viene verificato automaticamente per Cloud Run for Anthos, quindi non dovrai completare la procedura di verifica del dominio.

    Se vuoi registrare un dominio con Cloud Domains, consulta Registrare un dominio con Cloud Domains nella console Cloud Run for Anthos.

  • Se utilizzi WebSocket in Cloud Run for Anthos, devi prima abilitare il supporto WebSocket eseguendo il comando kubectl seguente per creare un oggetto Envoy Envoy con allow_connect: true:

    cat <<EOF | kubectl apply -f -
    apiVersion: networking.istio.io/v1alpha3
    kind: EnvoyFilter
    metadata:
      name: allowconnect-cluser-local-gateway
      namespace: gke-system
    spec:
      workloadSelector:
        labels:
          app: cluster-local-gateway
      configPatches:
      - applyTo: NETWORK_FILTER
        match:
          listener:
            portNumber: 80
            filterChain:
              filter:
                name: "envoy.http_connection_manager"
        patch:
          operation: MERGE
          value:
            typed_config:
              "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager"
              http2_protocol_options:
                allow_connect: true
    EOF
    

Mapping di un dominio personalizzato a un servizio

Puoi utilizzare la console Google Cloud o lo strumento Google Cloud CLI per mappare un dominio personalizzato a un servizio.

Console

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

    Vai a Mappature di domini

    Tieni presente che se la finestra di visualizzazione è troppo piccola, il pulsante Mappatura di domini personalizzati non viene visualizzato e devi fare clic sull'icona con i tre puntini verticali in corrispondenza dell'angolo destro della pagina.

  2. Nella pagina Mappings di dominio, fai clic su Aggiungi mappatura.

  3. Nell'elenco a discesa nel modulo Aggiungi mappatura, seleziona il servizio a cui stai mappando il dominio personalizzato:

    Aggiungi mappature di dominio

  4. Inserisci il nome del dominio, La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che segue il nome di dominio. Ad esempio, users è il percorso di base di example.com/users. Cloud Run for Anthos consente solo di mappare un dominio a /, non a un percorso di base specifico. Di conseguenza, qualsiasi routing del percorso deve essere gestito utilizzando un router all'interno del container del servizio o utilizzando Firebase Hosting.

  5. Fai clic su Continua.

  6. Verifica la proprietà del dominio prima di provare a utilizzarlo nel tuo progetto Google Cloud, a meno che non hai acquistato il dominio personalizzato da Google Domains. Ad esempio, se vuoi mappare subdomain.example.com a un servizio, devi verificare la proprietà del dominio example.com. Per ulteriori informazioni sulla verifica della proprietà del dominio, consulta la guida del Centro webmaster

  7. Aggiorna i record DNS sul tuo sito web del registrar di dominio utilizzando i record DNS visualizzati nell'ultimo passaggio. Puoi visualizzare i record in qualsiasi momento facendo clic su Record DNS nel menu azione "..." per una mappatura di dominio.

  8. Fai clic su Fine.

Riga di comando

  1. Verifica la proprietà del dominio prima di provare a utilizzarlo nel tuo progetto Google Cloud, a meno che non hai acquistato il dominio personalizzato da Google Domains. Puoi determinare se il dominio personalizzato che vuoi utilizzare è stato verificato utilizzando il comando

    gcloud domains list-user-verified

    Se la proprietà del tuo dominio deve essere verificata, apri la pagina di verifica del Centro webmaster:

    gcloud domains verify BASE-DOMAIN

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

    In Centro webmaster, completa la verifica della proprietà del dominio. Per ulteriori informazioni, consultate la Guida del Centro webmaster.

  2. Mappa il servizio al dominio personalizzato:

    gcloud run domain-mappings create --service SERVICE --domain DOMAIN

    Sostituisci:

    • SERVICE con il tuo nome del servizio.
    • DOMAIN con il tuo dominio personalizzato. La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che segue il nome di dominio. Ad esempio, users è il percorso di base di example.com/users. Cloud Run for Anthos consente solo di mappare un dominio a /, non a un percorso di base specifico. Di conseguenza, qualsiasi routing del percorso deve essere gestito utilizzando un router all'interno del container del servizio o utilizzando Firebase Hosting.

      Facoltativo: se DOMAIN è già mappato a un altro servizio, puoi aggiungere il flag --force-override. Questo flag rimuove la mappatura dal servizio precedente e la sostituisce con una nuova mappatura tra DOMAIN e SERVICE.

  3. Prenota l'indirizzo IP del bilanciatore del carico per il gateway Ingress Ingress come IP statico:

    gcloud compute addresses create ADDRESS-NAME --addresses EXTERNAL-IP --region REGION

    Sostituisci:

    • ADDRESS-NAME con il nome che vuoi assegnare all'IP statico.
    • EXTERNAL-IP con l'indirizzo IP nel record A ottenuto con il comando gcloud run domain-mapping describe.
    • REGION con la regione che stai utilizzando.

Gateway in entrata Cloud Run for Anthos Istio

Per ottenere l'IP esterno per il gateway in entrata Istio:

kubectl get svc istio-ingress -n gke-system

in cui l'output risultante ha il seguente aspetto:

NAME            TYPE           CLUSTER-IP     EXTERNAL-IP  PORT(S)
istio-ingress   LoadBalancer   XX.XX.XXX.XX   pending      80:32380/TCP,443:32390/TCP,32400:32400/TCP

Il EXTERNAL-IP per il bilanciatore del carico è l'indirizzo IP che devi utilizzare.

Aggiungere i record DNS presso il registrar di dominio

Dopo aver mappato il servizio a un dominio personalizzato in Cloud Run for Anthos, devi aggiornare i record DNS presso il tuo registrar di dominio. Per praticità, Cloud Run for Anthos genera e visualizza i record DNS che devi inserire. Per rendere effettiva la mappatura, devi aggiungere questi record che rimandano al servizio Cloud Run for Anthos nel tuo registrar di dominio.

Se utilizzi Cloud DNS come provider DNS, consulta la sezione Aggiunta di un record.

  1. Recupera le informazioni del record DNS per le mappature di dominio utilizzando:

    Console

    1. Vai alla pagina delle mappature di dominio di Cloud Run for Anthos:

      Vai a Mappature di domini

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

    Seleziona i record DNS

    Riga di comando

    gcloud run domain-mappings describe --domain DOMAIN

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

    Devi disporre di tutti i record restituiti con l'intestazione resourceRecords.

  2. Accedi al tuo account presso il registrar del tuo dominio, quindi apri la pagina di configurazione DNS.

  3. Individua la sezione Record host della pagina di configurazione del dominio, quindi aggiungi ogni record di risorse ricevuto durante la mappatura del dominio al servizio Cloud Run for Anthos.

  4. Quando aggiungi i record DNS sopra indicati all'account del provider DNS:

    • Seleziona il tipo restituito nel record DNS nel passaggio precedente: A, AAAA o CNAME.
    • Utilizza il nome www per la mappatura a 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, bastano pochi minuti per rendere effettive queste modifiche, ma in alcuni casi possono essere necessarie diverse ore, a seconda del registrar e della TTL (Time to Live) dei record DNS precedenti del tuo dominio. Puoi usare uno strumento dig, ad esempio questa versione dig online, per verificare che i record DNS siano stati aggiornati correttamente.

  6. Per il successo, accedi al servizio al nuovo URL, ad esempio https://www.example.com. Tieni presente che l'emissione del certificato SSL gestito può richiedere diversi minuti.

Aggiungere proprietari di domini verificati ad altri utenti o account di servizio

Quando un utente verifica un dominio, quel dominio viene verificato solo nell'account dell'utente. Questo significa che solo quell'utente può aggiungere altre mappature di dominio che utilizzano quel dominio. Quindi, per consentire ad altri utenti di aggiungere mappature che utilizzano il dominio, devi aggiungerle come proprietari verificati.

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

  1. Accedi a questo indirizzo dal tuo browser web:

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

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

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

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

    Vai alla pagina Account di servizio

Registrazione di un dominio con Cloud Domains nella console Cloud Run for Anthos

Per registrare un dominio con Cloud Domains nella console Cloud Run for Anthos, segui questi passaggi:

  1. Vai alla pagina delle mappature di dominio di Cloud Run for Anthos:

    Vai a Mappature di domini

  2. Fai clic su Registra dominio.

  3. Completa la procedura di registrazione seguendo le istruzioni per la registrazione di un dominio.

  4. Mappare il dominio a Cloud Run for Anthos e aggiungere i record DNS nel registrar del dominio.