Questo tutorial illustra la procedura di deployment dei certificati utilizzando un certificato gestito da Google con autorizzazione del bilanciatore del carico come esempio.
Per un confronto dei tipi di autorizzazione del dominio supportati, vedi Autorizzazione del dominio.
I seguenti bilanciatori del carico supportano i certificati gestiti da Google con autorizzazione del bilanciatore del carico:
- Bilanciatore del carico delle applicazioni esterno globale
- Bilanciatore del carico delle applicazioni classico
- Bilanciatore del carico di rete proxy esterno globale
Se vuoi eseguire la migrazione di un certificato esistente a Gestore certificati, segui invece i passaggi descritti in Eseguire la migrazione dei certificati in Gestore certificati.
Obiettivi
Questo tutorial mostra come completare le seguenti attività:
- Crea un certificato gestito da Google emesso da un'autorità di certificazione pubblicamente attendibile con autorizzazione del bilanciatore del carico, utilizzando Gestore certificati.
- Esegui il deployment del certificato su un bilanciatore del carico supportato utilizzando un proxy HTTPS di destinazione.
Per ulteriori informazioni sul processo di deployment dei certificati, consulta Panoramica del deployment.
Se stai seguendo i passaggi di questo tutorial per eseguire il deployment di un certificato per un dominio che già gestisce il traffico di produzione, tieni presente che il traffico per quel dominio verrà interrotto mentre viene eseguito il provisioning del certificato e attivato sul bilanciatore del carico corrispondente.
Prima di iniziare
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Assicurati di disporre dei ruoli seguenti per completare le attività di questo tutorial:
- Proprietario Certificate Manager: obbligatorio per creare e gestire le risorse del Gestore certificati.
- Amministratore bilanciatore del carico Compute o Amministratore rete Compute: obbligatorio per creare e gestire il proxy di destinazione HTTPS.
- Amministratore DNS: richiesto se vuoi utilizzare Cloud DNS come soluzione DNS.
Per ulteriori informazioni, consulta le seguenti risorse:
- Ruoli e autorizzazioni per Gestore certificati
- Ruoli e autorizzazioni IAM di Compute Engine per Compute Engine
- Controllo dell'accesso con IAM per Cloud DNS
Crea un certificato gestito da Google con autorizzazione del bilanciatore del carico
Per creare un certificato gestito da Google con autorizzazione del bilanciatore del carico, completa i passaggi di questa sezione.
Per specificare più nomi di dominio per il certificato, fornisci un elenco delimitato da virgole di nomi di dominio di destinazione per il certificato.
Per ulteriori informazioni, consulta Autorizzazioni e ruoli.
Console
Nella console Google Cloud, vai alla pagina Gestore certificati.
Nella pagina visualizzata, seleziona la scheda Certificati.
Fai clic su Aggiungi certificato.
Inserisci un Nome per il certificato.
Questo nome deve essere univoco per il progetto.
(Facoltativo) Inserisci la descrizione del certificato. La descrizione ti consente di identificare un certificato specifico in un secondo momento.
In corrispondenza di località, scegli Globale.
In Ambito, scegli Predefinito.
In Tipo di certificato, scegli Crea certificato gestito da Google.
In Tipo di autorità di certificazione, scegli Pubblica.
Specifica i nomi di dominio del certificato. Inserisci un elenco di domini di destinazione delimitato da virgole. Inoltre, ogni nome di dominio deve essere un nome di dominio completo, come
myorg.example.com
.In Tipo di autorizzazione, scegli Autorizzazione bilanciatore del carico.
Specifica un'etichetta da associare al certificato. Se necessario, puoi aggiungere più di un'etichetta. Per aggiungere un'etichetta, fai clic sul pulsante add_box Aggiungi etichetta e specifica
key
evalue
per l'etichetta.Fai clic su Crea. Verifica che il nuovo certificato sia presente nell'elenco dei certificati.
gcloud
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES"
Sostituisci quanto segue:
CERTIFICATE_NAME
: un nome univoco del certificato.DOMAIN_NAMES
: un elenco delimitato da virgole di domini di destinazione per questo certificato. Ogni nome di dominio deve essere un nome di dominio completo, comemyorg.example.com
.
Terraform
Utilizza una risorsa
google_certificate_manager_certificate
.
Per scoprire come applicare o rimuovere una configurazione Terraform, vedi Comandi Terraform di base.
API
Crea il certificato effettuando una richiesta POST
al metodo certificates.create
come segue:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME" { "managed": { "domains": ["DOMAIN_NAME"], } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud di destinazione.CERTIFICATE_NAME
: un nome univoco che descrive questo certificato.DOMAIN_NAME
: il dominio di destinazione per questo certificato. Il nome di dominio deve essere un nome di dominio completo, ad esempiomyorg.example.com
.
Per una panoramica del processo di deployment dei certificati, consulta Panoramica del deployment.
Esegui il deployment del certificato su un bilanciatore del carico
Completa i passaggi in questa sezione per eseguire il deployment in un bilanciatore del carico del certificato gestito da Google che hai creato nei passaggi precedenti.
Crea una mappa di certificati
Crea una mappa dei certificati che fa riferimento alla voce della mappa dei certificati associata al certificato.
gcloud
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Sostituisci CERTIFICATE_MAP_NAME
con il nome della mappa di certificati di destinazione.
Terraform
Utilizza una risorsa
google_certificate_manager_certificate_map
.
Crea una voce della mappa di certificati
Crea una voce della mappa dei certificati e associala al tuo certificato e alla mappa dei certificati.
gcloud
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAME" \ --hostname="HOSTNAME"
Sostituisci quanto segue:
CERTIFICATE_MAP_ENTRY_NAME
: un nome univoco della voce della mappa dei certificatiCERTIFICATE_MAP_NAME
: il nome della mappa di certificati a cui si collega questa voce di mappa di certificatiCERTIFICATE_NAME
: il nome del certificato che vuoi associare a questa voce della mappa di certificatiHOSTNAME
: il nome host che vuoi associare a questa voce della mappa di certificati
Terraform
Utilizza una risorsa
google_certificate_manager_certificate_map_entry
.
Verifica che la voce della mappa di certificati sia attiva
Utilizza il seguente comando per verificare che la voce della mappa di certificati sia attiva prima di collegare la mappa di certificati corrispondente al proxy di destinazione:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Sostituisci quanto segue:
CERTIFICATE_MAP_ENTRY_NAME
: il nome della voce della mappa dei certificati di destinazioneCERTIFICATE_MAP_NAME
: il nome della mappa di certificati a cui si collega questa voce di mappa di certificati
Il comando restituisce un output simile al seguente:
certificates: createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
Collega la mappa di certificati al proxy di destinazione
Collega la mappa di certificati configurata al proxy di destinazione.
Console
- Nella console Google Cloud, vai alla pagina Proxy di destinazione.
Prendi nota del nome del proxy di destinazione.
Collega la mappa di certificati al proxy di destinazione:
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME"
Sostituisci quanto segue:
* `PROXY_NAME`: the name of the target proxy
* `CERTIFICATE_MAP_NAME`: the name of the certificate
map referencing your certificate map entry and its associated
certificate
Terraform
Utilizza una risorsa
google_compute_target_https_proxy
.
Se sono presenti certificati TLS (SSL) esistenti collegati direttamente al proxy, quest'ultimo dà la preferenza ai certificati a cui fa riferimento la mappa di certificati rispetto ai certificati TLS (SSL) direttamente collegati.
Attendi l'attivazione del certificato
Dopo aver collegato il certificato al proxy di destinazione, potrebbero essere necessarie diverse ore prima che il certificato venga emesso e il suo stato diventi ACTIVE
. Quando lo stato è ACTIVE
, potrebbero essere necessari fino a 30 minuti prima che il bilanciatore del carico inizi a utilizzare il certificato.
Usa il seguente comando per verificare lo stato del certificato:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Sostituisci CERTIFICATE_NAME
con il nome del certificato di destinazione gestito da Google.
Il comando restituisce un output simile al seguente:
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: authorizationAttemptInfo: - domain: myorg.example.com state: AUTHORIZED domains: - myorg.example.com state: ACTIVE name: projects/myProject/locations/global/certificates/myCert sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Se lo stato del certificato non è cambiato in ACTIVE
dopo diverse ore, controlla quanto segue:
- La mappa di certificati che fa riferimento a questo certificato è stata collegata al proxy di destinazione corretto, come descritto in Collegare una mappa di certificati a un proxy.
- Il proxy di destinazione è stato collegato al bilanciatore del carico corretto, come descritto in Verificare l'associazione del proxy di destinazione.
- La configurazione DNS del dominio di destinazione punta all'indirizzo IP del bilanciatore del carico di destinazione, come descritto in Aggiornare i record DNS A e AAAA in modo che puntino all'indirizzo IP del bilanciatore del carico.
Per ulteriori passaggi di risoluzione dei problemi, vedi Risoluzione dei problemi relativi ai certificati SSL.
Esegui la pulizia
Per ripristinare le modifiche apportate in questo tutorial, completa questi passaggi:
Scollega la mappa di certificati dal proxy.
Prima di scollegare la mappa di certificati, tieni presente quanto segue:
- Se erano presenti certificati TLS (SSL) collegati direttamente al proxy, lo scollegamento della mappa di certificati fa sì che il proxy riprenda a utilizzare quei certificati TLS (SSL) direttamente collegati.
- Se non erano presenti certificati TLS (SSL) collegati direttamente al proxy, la mappa di certificati non può essere scollegata dal proxy. Devi collegare almeno un certificato TLS (SSL) direttamente al proxy prima di poter scollegare la mappa di certificati.
Per scollegare la mappa di certificati, esegui questo comando:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
Elimina la voce della mappa di certificati dalla mappa di certificati:
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Sostituisci quanto segue:
CERTIFICATE_MAP_ENTRY_NAME
: il nome della voce della mappa dei certificati di destinazioneCERTIFICATE_MAP_NAME
: il nome della mappa di certificati di destinazione
Elimina la mappa di certificati:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Sostituisci
CERTIFICATE_MAP_NAME
con il nome della mappa di certificati di destinazione.Elimina il certificato gestito da Google:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Sostituisci
CERTIFICATE_NAME
con il nome del certificato di destinazione.