Questo tutorial descrive come utilizzare Gestore certificati per il deployment gestito da Google a livello di regione a un bilanciatore del carico delle applicazioni esterno regionale o a un il bilanciatore del carico delle applicazioni interno regionale.
Per eseguire il deployment di un certificato su un bilanciatore del carico delle applicazioni esterno regionale o su una Application Load Balancer interno regionale, collega il certificato direttamente al proxy di destinazione.
Obiettivi
Questo tutorial mostra come completare le seguenti attività:
Crea un certificato gestito da Google emesso da un'autorità di certificazione attendibile pubblica con autorizzazione DNS utilizzando Gestione certificati. Per creare un certificato a livello di regione gestito da Google, devi utilizzare il DNS per progetto autorizzazione.
Esegui il deployment del certificato su un bilanciatore del carico supportato utilizzando un protocollo HTTPS di destinazione proxy.
Per ulteriori informazioni sul processo di deployment dei certificati, consulta Panoramica del deployment.
Prima di iniziare
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Per eseguire il deployment è richiesta la versione
465.0.0
o successiva di Google Cloud CLI del certificato. Per controllare la versione di gcloud CLI, esegui il comando seguente comando:gcloud --version
Per aggiornare gcloud CLI, esegui il seguente comando.
gcloud components update
Assicurati di disporre dei seguenti ruoli per completare le attività in questo tutorial:
- Proprietario gestore certificati: obbligatorio per creare e gestire le risorse di Gestore certificati.
- Amministratore bilanciatore del carico Compute o Amministratore rete Compute: obbligatorio per creare e gestire il proxy di destinazione HTTPS.
- Amministratore DNS: obbligatorio se vuoi utilizzare Cloud DNS come soluzione DNS.
Per ulteriori informazioni, consulta le seguenti risorse:
- Ruoli e autorizzazioni per Certificate Manager
- Ruoli IAM di Compute Engine autorizzazioni per Compute Engine
- Controllo dell'accesso con IAM per Cloud DNS
Crea un certificato gestito da Google a livello di regione
Completa i passaggi di questa sezione per creare un'autorizzazione DNS e un Certificato gestito da Google che fa riferimento a tale autorizzazione DNS.
Crea un'autorizzazione DNS
Crea l'autorizzazione DNS come descritto in questa sezione. Se stai creando un'autorizzazione DNS per un certificato con caratteri jolly, ad esempio *.myorg.example.com
, configura l'autorizzazione DNS per il dominio principale, ad esempio myorg.example.com
.
Per un certificato gestito da Google a livello di regione, il tipo di autorizzazione DNS è impostato esclusivamente su PER_PROJECT_RECORD
.
gcloud
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ --location="LOCATION" gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME \ --location="LOCATION"
Sostituisci quanto segue:
AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS.DOMAIN_NAME
: il nome del dominio per cui stai creando questa autorizzazione DNS. Il nome di dominio deve essere un nome completo nome di dominio, ad esempiomyorg.example.com
.LOCATION
: la posizione in cui crei il DNS autorizzazione.
Il comando restituisce un output come mostrato nell'esempio seguente. Utilizza la Record CNAME dell'output da aggiungere alla configurazione DNS.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.us-central1.authorize.certificatemanager.goog. name: _acme-challenge_ujmmovf2vn55tgye.myorg.example.com. type: CNAME domain: myorg.example.com name: projects/myProject/locations/us-central1/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Aggiungi il record CNAME alla configurazione DNS
Se utilizzi Google Cloud per gestire il DNS, completa i passaggi in questa sezione. In caso contrario, consulta la documentazione della soluzione DNS di terze parti.
Prima di completare i passaggi di questa sezione, assicurati di avere ha creato una zona DNS pubblica.
Quando crei un'autorizzazione DNS, il comando gcloud CLI restituisce il record CNAME corrispondente. Devi aggiungere questo record CNAME al tuo DNS configurazione nella zona DNS del dominio di destinazione, come segue:
gcloud
Avvia la transazione del record DNS:
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
Sostituisci
DNS_ZONE_NAME
con il nome della zona DNS di destinazione.Aggiungi il record CNAME alla zona DNS di destinazione:
gcloud dns record-sets transaction add CNAME_RECORD_DATA \ --name="CNAME_RECORD_NAME" \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"
Sostituisci quanto segue:
CNAME_RECORD_DATA
: il valore completo dei dati del record CNAME record restituito dal comando gcloud CLI che ha creato l'autorizzazione DNS corrispondente.CNAME_RECORD_NAME
: il valore del nome completo del record CNAME record restituito dal comando gcloud CLI che ha creato l'autorizzazione DNS corrispondente.DNS_ZONE_NAME
: il nome della zona DNS di destinazione.
Vedi il seguente esempio:
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.us-central1.authorize.certificatemanager.goog. \ --name="_acme-challenge_ujmmovf2vn55tgye.myorg.example.com" \ --ttl="30" \ --type="CNAME" \ --zone="example-com"
Esegui la transazione del record DNS per salvare le modifiche:
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
Sostituisci
DNS_ZONE_NAME
con il nome della zona DNS di destinazione.
Crea un certificato gestito da Google a livello di regione che fa riferimento all'autorizzazione DNS
Per creare un certificato gestito da Google che faccia riferimento all'autorizzazione DNS creato nei passaggi precedenti:
Console
Nella console Google Cloud, vai alla pagina Gestione 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 consente di identificare un certificato specifico in un secondo momento.
In corrispondenza di località, scegli A livello di regione.
Nell'elenco Regione, seleziona una regione.
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 valore delimitato da virgole dei domini di destinazione. Inoltre, ogni nome di dominio deve essere un nome nome di dominio, ad esempio
myorg.example.com
.In Tipo di autorizzazione, scegli Autorizzazione DNS. Se il nome di dominio ha un'autorizzazione DNS associata, verrà rilevato automaticamente. Se al nome di dominio non è associata un'autorizzazione DNS:
- Fai clic su Crea autorizzazione DNS mancante per visualizzare la finestra di dialogo Crea autorizzazione DNS.
- Nel campo Nome autorizzazione DNS, specifica il nome dell'autorizzazione DNS.
- Fai clic su Crea autorizzazione DNS. Verifica che il nome DNS venga associato al nome di dominio.
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 un
key
e unvalue
per l'etichetta.Fai clic su Crea. Verifica che il nuovo certificato venga visualizzato nell'elenco dei certificati.
gcloud
Esegui questo comando:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains=DOMAIN_NAME \ --dns-authorizations=AUTHORIZATION_NAME \ --location=LOCATION
Sostituisci quanto segue:
CERTIFICATE_NAME
: un nome univoco del certificato.DOMAIN_NAME
: il dominio di destinazione del certificato. Il prefisso asterisco punto (*.
) indica un certificato jolly. Il nome di dominio deve essere un nome di dominio completo, ad esempiomyorg.example.com
.AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS creato per il certificato.LOCATION
: la posizione in cui crei il certificato gestito da Google.
Per creare un certificato gestito da Google con un nome di dominio jolly, utilizza il seguente comando. Un certificato per nome di dominio con caratteri jolly copre tutti i sottodomini di primo livello di un determinato dominio.
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="*.DOMAIN_NAME,DOMAIN_NAME" \ --dns-authorizations=AUTHORIZATION_NAME \ --location=LOCATION
Sostituisci quanto segue:
CERTIFICATE_NAME
: un nome univoco del certificato.DOMAIN_NAME
: il dominio di destinazione del certificato. La Il prefisso*.
indica un certificato con caratteri jolly. Il nome di dominio deve essere un nome di dominio completo, ad esempiomyorg.example.com
.AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS che hai creato per questo certificato.LOCATION
: la posizione in cui crei Certificato gestito da Google.
Verifica che il certificato sia attivo
Utilizza il seguente comando per verificare che il certificato stesso sia attivo prima di eseguire il deployment nel bilanciatore del carico. Potrebbero essere necessarie diverse ore prima che
per impostare lo stato del certificato in ACTIVE
.
gcloud certificate-manager certificates describe CERTIFICATE_NAME \ --location=LOCATION
Sostituisci quanto segue:
CERTIFICATE_NAME
: un nome univoco del certificato.LOCATION
: la posizione in cui hai creato il certificato gestito da Google.
L'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 dnsAuthorizations: - projects/my-project/locations/us-central1/dnsAuthorizations/myAuth domains: - myorg.example.com state: ACTIVE name: projects/myProject/locations/us-central1/certificates/myCert pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Esegui il deployment del certificato su un bilanciatore del carico
Per eseguire il deployment del certificato gestito da Google in un bilanciatore del carico, completa i seguenti passaggi.
Prima di procedere con le attività in questa sezione, assicurati di aver completato quelle elencate nella sezione Creare un certificato gestito da Google a livello di regione.
Per eseguire il deployment di un certificato gestito da Google a livello di regione in un bilanciatore del carico delle applicazioni esterno regionale oppure Application Load Balancer interno regionale, esegui il deployment del certificato collegandolo direttamente proxy di destinazione.
Allega il certificato direttamente al proxy di destinazione
Per allegare il certificato direttamente al proxy, esegui il seguente comando:
gcloud compute target-https-proxies update PROXY_NAME \ --url-map=URL_MAP \ --region=REGION \ --certificate-manager-certificates=CERTIFICATE_NAME
Sostituisci quanto segue:
PROXY_NAME
: un nome univoco del proxy.URL_MAP
: il nome della mappa URL che hai creato quando hai ha creato il bilanciatore del carico.REGION
: la regione in cui creare il proxy HTTPS di destinazione.CERTIFICATE_NAME
: il nome del certificato.
Esegui la pulizia
Per annullare le modifiche apportate in questo tutorial, completa i seguenti passaggi:
- Elimina il certificato gestito da Google:
Sostituisci quanto segue:gcloud certificate-manager certificates delete CERTIFICATE_NAME --location=LOCATION
CERTIFICATE_NAME
: il nome del certificato.LOCATION
: il percorso in cui hai creato il certificato gestito da Google.
- Elimina l'autorizzazione DNS:
Sostituisci quanto segue:gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME --location=LOCATION
AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS.LOCATION
: la posizione in cui hai creato l'autorizzazione DNS.