Utilizza certificati SSL autogestiti

I certificati SSL autogestiti sono certificati che ottieni eseguire il provisioning e rinnovare l'abbonamento. Puoi utilizzare questa risorsa per proteggere le comunicazioni tra i client e il bilanciatore del carico.

I certificati autogestiti possono essere una qualsiasi combinazione dei seguenti certificati tipi:

  • Convalida del dominio (DV)
  • Convalida dell'organizzazione (OV)
  • Convalida estesa (EV)

I certificati autogestiti sono supportati con i seguenti bilanciatori del carico:

  • Certificati globali
      .
    • Bilanciatore del carico delle applicazioni esterno globale
    • Bilanciatore del carico delle applicazioni classico
    • Bilanciatore del carico di rete proxy esterno (con un proxy SSL di destinazione)
  • Certificati a livello di regione
      .
    • Bilanciatore del carico delle applicazioni esterno regionale
    • Bilanciatore del carico delle applicazioni interno

In questa pagina viene descritto il processo per ottenere un progetto Compute Engine valido e poi caricare il certificato per creare Google Cloud Risorsa del certificato SSL.

Per creare certificati gestiti da Google utilizzando Gestore certificati, consulta Panoramica del deployment.

Prima di iniziare

Autorizzazioni

Per eseguire le attività descritte in questa guida, devi essere in grado di creare e modificare SSL nel tuo progetto. Puoi farlo se una delle seguenti condizioni è vera:

Passaggio 1: crea una chiave privata e un certificato

Se hai già una chiave privata e un certificato da un certificato autorità di certificazione (CA), salta questa sezione e vai a Creazione di un protocollo SSL risorsa di certificazione.

Seleziona o crea una chiave privata

Un certificato SSL Google Cloud include una chiave privata e e il certificato stesso, entrambi in formato PEM. La chiave privata deve soddisfare i seguenti requisiti di classificazione:

  • Deve essere in modalità PEM standard.
  • Non può essere protetto da una passphrase. Google Cloud archivia privata nel proprio formato criptato.
  • L'algoritmo di crittografia deve essere RSA-2048 o ECDSA P-256.

Per creare una nuova chiave privata, utilizza uno dei seguenti comandi OpenSSL.

  • Crea una chiave privata RSA-2048:

    openssl genrsa -out PRIVATE_KEY_FILE 2048
    
  • Crea una chiave privata ECDSA P-256:

    openssl ecparam -name prime256v1 -genkey -noout -out PRIVATE_KEY_FILE
    

Sostituisci PRIVATE_KEY_FILE con il percorso e il nome file della nuova istanza chiave privata.

Creare una richiesta di firma del certificato (CSR)

Dopo aver ottenuto una chiave privata, puoi generare una richiesta di firma del certificato (CSR) in formato PEM utilizzando OpenSSL. Il tuo Il CSR deve soddisfare i seguenti criteri:

  • Deve essere in formato PEM.
  • Deve avere un nome comune (CN) o un nome alternativo del soggetto (SAN) . In pratica, il certificato deve contenere entrambi i tipi di CN e SAN, anche se si riferisce a un solo dominio, la tecnologia moderna come le versioni attuali di macOS e iOS non si basano solo sull'attributo CN.

Per creare un CSR, segui questi passaggi:

  1. Crea una configurazione OpenSSL . Nell'esempio seguente, i nomi alternativi dei soggetti sono definiti nel [sans_list].

    cat <<'EOF' >CONFIG_FILE
    [req]
    default_bits              = 2048
    req_extensions            = extension_requirements
    distinguished_name        = dn_requirements
    prompt                    = no
    
    [extension_requirements]
    basicConstraints          = CA:FALSE
    keyUsage                  = nonRepudiation, digitalSignature, keyEncipherment
    subjectAltName            = @sans_list
    
    [dn_requirements]
    countryName               = Country Name (2 letter code)
    stateOrProvinceName       = State or Province Name (full name)
    localityName              = Locality Name (eg, city)
    0.organizationName        = Organization Name (eg, company)
    organizationalUnitName    = Organizational Unit Name (eg, section)
    commonName                = Common Name (e.g. server FQDN or YOUR name)
    emailAddress              = Email Address
    
    [sans_list]
    DNS.1                     = SUBJECT_ALTERNATIVE_NAME_1
    DNS.2                     = SUBJECT_ALTERNATIVE_NAME_2
    
    EOF
    
  2. Esegui questo comando OpenSSL per creare una richiesta di firma del certificato (CSR). Il comando è interattivo; vengono richiesti gli attributi ad eccezione dei nomi alternativi degli oggetti, definiti nei [sans_list] di CONFIG_FILE nel passaggio precedente.

    openssl req -new -key PRIVATE_KEY_FILE \
        -out CSR_FILE \
        -config CONFIG_FILE
    

Per entrambi i passaggi, sostituisci quanto segue:

  • CONFIG_FILE: il percorso, incluso il nome del file, per OpenSSL di configurazione del deployment (puoi eliminare il file al termine procedura)
  • SUBJECT_ALTERNATIVE_NAME_1 e SUBJECT_ALTERNATIVE_NAME_2: Nomi alternativi del soggetto per il tuo certificato

    Se il tuo certificato è per un solo nome host, dovresti utilizzare definiscono un singolo nome alternativo del soggetto che corrisponda al nome comune. Se bisogno di più di due nomi alternativi di oggetti, aggiungili alla configurazione file con un incremento del numero dopo DNS (DNS.3, DNS.4 e così via).

  • PRIVATE_KEY_FILE: percorso del file della chiave privata

  • CSR_FILE: il percorso, incluso il nome del file, per la richiesta di firma del certificato (CSR)

Firma il CSR

Quando un'autorità di certificazione (CA) firma la richiesta CSR, utilizza la propria chiave privata per creare un certificato. Per firmare la richiesta di firma del certificato, utilizza uno dei seguenti metodi:

Utilizza una CA attendibile pubblicamente

Se richiedi a un'autorità di certificazione attendibile pubblicamente di firmare la richiesta CSR, il certificato risultante viene considerata attendibile da tutti i clienti che si affidano a questa CA pubblica. Per produrre un modello certificato, la CA pubblica necessita solo della tua richiesta CSR.

Utilizza la tua CA interna

Se gestisci la tua CA, puoi utilizzarla per firmare la richiesta di firma del certificato. Utilizzo della CA per firma la tua richiesta di firma del certificato (CSR) crea un certificato attendibile internamente quando i clienti configurate in modo da considerare attendibili la propria CA.

Utilizza un certificato autofirmato

Se utilizzi la stessa chiave privata che hai utilizzato per creare la richiesta di firma del certificato (CSR) per firmare la richiesta, Se hai creato un certificato autofirmato, Utilizza solo certificati autofirmati per i test.

Google Cloud non supporta la verifica lato client per i modelli autofirmati certificati server. Di conseguenza, devi configurare il client per saltare la convalida dei certificati. Ad esempio, puoi creare un client per il browser web visualizza un messaggio che ti chiede se vuoi considerare attendibile un certificato autofirmato.

Se gestisci autonomamente la tua CA o vuoi creare un certificato autofirmato per i test, puoi utilizzare il seguente comando OpenSSL:

openssl x509 -req \
    -signkey PRIVATE_KEY_FILE \
    -in CSR_FILE \
    -out CERTIFICATE_FILE \
    -extfile CONFIG_FILE \
    -extensions extension_requirements \
    -days TERM

Sostituisci quanto segue:

  • PRIVATE_KEY_FILE: il percorso della chiave privata per la tua CA. if creando un certificato autofirmato per il test, questa chiave privata è uguale a quello utilizzato per creare la richiesta di firma del certificato (CSR)
  • CSR_FILE: il percorso del CSR
  • CERTIFICATE_FILE: il percorso del file del certificato da creare
  • TERM: il numero di giorni, a partire da ora, durante i quali il certificato deve essere considerata valida dai clienti che la verificano

Caratteri jolly nei nomi comuni

I tuoi certificati SSL autogestiti possono utilizzare un carattere jolly nel nome comune. Per Ad esempio, un certificato con il nome comune *.example.com. corrisponde alla nomi host www.example.com e foo.example.com, ma non a.b.example.com o example.com. Quando il bilanciatore del carico seleziona un certificato, preferisce sempre per abbinare un nome host a certificati senza caratteri jolly su certificati con caratteri jolly.

I certificati con frammenti di caratteri jolly, come f*.example.com, non sono supportati.

Passaggio 2: crea una risorsa del certificato SSL autogestito

Prima di poter creare una risorsa del certificato SSL di Google Cloud, devi una chiave privata e un certificato. Consulta la sezione Creazione di una chiave privata o un certificato, se non lo hai già creato li hai ottenuti.

Dopo aver creato un certificato, non puoi modificarne l'ambito da globale a regionale o globale.

Console

Puoi utilizzare i certificati SSL globali nella scheda Certificati classici nella console Google Cloud. Impossibile creare certificati SSL a livello di regione nella console Google Cloud. Utilizza gcloud o l'API REST.

  1. Vai alla scheda Certificato classico nella console Google Cloud.
    Vai ai certificati classici
  2. Fai clic su Crea certificato SSL.
  3. Inserisci un nome e una descrizione facoltativa per il certificato.
  4. Seleziona Carica il mio certificato.
  5. Incolla il certificato o fai clic su Carica per passare al tuo del certificato.
    Puoi scegliere di includere la catena di certificati CA nello stesso file del certificato. Google Cloud non a convalidare la catena di certificati al posto tuo; la convalida è responsabile.
  6. Incolla la tua chiave privata o fai clic su Carica per passare alla tua chiave.
  7. Fai clic su Crea.

gcloud

Per creare un certificato SSL globale, utilizza il comando gcloud compute ssl-certificates create con il flag --global:

gcloud compute ssl-certificates create CERTIFICATE_NAME \
    --certificate=CERTIFICATE_FILE \
    --private-key=PRIVATE_KEY_FILE \
    --global

Per creare un certificato SSL a livello di regione, utilizza il comando gcloud compute ssl-certificates create il flag --region:

gcloud compute ssl-certificates create CERTIFICATE_NAME \
    --certificate=CERTIFICATE_FILE \
    --private-key=PRIVATE_KEY_FILE \
    --region=REGION

Sostituisci quanto segue:

  • CERTIFICATE_NAME: il nome della risorsa del certificato globale per creare
  • CERTIFICATE_FILE: il percorso di un file di certificato in formato PEM

    Puoi scegliere di includere la catena di certificati CA nello stesso file di del certificato. Google Cloud non convalida il certificato la convalida è una tua responsabilità.

  • PRIVATE_KEY_FILE: il percorso di una chiave privata in formato PEM; il la chiave privata non può essere protetta da una passphrase

  • REGION: se applicabile, la regione per il protocollo SSL a livello di regione certificato

    Se questa risorsa di certificato è per un il bilanciatore del carico delle applicazioni interno o un bilanciatore del carico delle applicazioni esterno regionale, deve corrispondere a quella del bilanciatore del carico.

API

Per utilizzare i metodi dell'API, devi prima leggere il certificato e di chiavi private perché la richiesta API deve inviare i contenuti dei file.

Leggi i file del certificato e della chiave privata, quindi crea l'SSL certificato. I seguenti esempi mostrano come eseguire questa operazione con Python.

Per i certificati SSL globali, utilizza il metodo sslCertificates.insert Metodo API:

from pathlib import Path
from pprint import pprint
from typing import Union

from googleapiclient import discovery


def create_certificate(
    project_id: str,
    certificate_file: Union[str, Path],
    private_key_file: Union[str, Path],
    certificate_name: str,
    description: str = "Certificate created from a code sample.",
) -> dict:
    """
    Create a global SSL self-signed certificate within your Google Cloud project.

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        certificate_file: path to the file with the certificate you want to create in your project.
        private_key_file: path to the private key you used to sign the certificate with.
        certificate_name: name for the certificate once it's created in your project.
        description: description of the certificate.

    Returns:
        Dictionary with information about the new global SSL self-signed certificate.
    """
    service = discovery.build("compute", "v1")

    # Read the cert into memory
    with open(certificate_file) as f:
        _temp_cert = f.read()

    # Read the private_key into memory
    with open(private_key_file) as f:
        _temp_key = f.read()

    # Now that the certificate and private key are in memory, you can create the
    # certificate resource
    ssl_certificate_body = {
        "name": certificate_name,
        "description": description,
        "certificate": _temp_cert,
        "privateKey": _temp_key,
    }
    request = service.sslCertificates().insert(
        project=project_id, body=ssl_certificate_body
    )
    response = request.execute()
    pprint(response)
    return response

Per i certificati SSL a livello di regione, utilizza regionSslCertificates.insert Metodo API:

from pathlib import Path
from pprint import pprint
from typing import Union

from googleapiclient import discovery


def create_regional_certificate(
    project_id: str,
    region: str,
    certificate_file: Union[str, Path],
    private_key_file: Union[str, Path],
    certificate_name: str,
    description: str = "Certificate created from a code sample.",
) -> dict:
    """
    Create a regional SSL self-signed certificate within your Google Cloud project.

    Args:
        project_id: project ID or project number of the Cloud project you want to use.
        region: name of the region you want to use.
        certificate_file: path to the file with the certificate you want to create in your project.
        private_key_file: path to the private key you used to sign the certificate with.
        certificate_name: name for the certificate once it's created in your project.
        description: description of the certificate.

        Returns:
        Dictionary with information about the new regional SSL self-signed certificate.
    """
    service = discovery.build("compute", "v1")

    # Read the cert into memory
    with open(certificate_file) as f:
        _temp_cert = f.read()

    # Read the private_key into memory
    with open(private_key_file) as f:
        _temp_key = f.read()

    # Now that the certificate and private key are in memory, you can create the
    # certificate resource
    ssl_certificate_body = {
        "name": certificate_name,
        "description": description,
        "certificate": _temp_cert,
        "privateKey": _temp_key,
    }
    request = service.regionSslCertificates().insert(
        project=project_id, region=region, body=ssl_certificate_body
    )
    response = request.execute()
    pprint(response)

    return response

Per ulteriori esempi di codice, consulta il riferimento API .

Passaggio 3: associa un certificato SSL a un proxy di destinazione

Devi associare almeno un certificato SSL a ogni HTTPS o SSL di destinazione proxy. Puoi configurare il proxy di destinazione con il numero massimo di connessioni SSL certificati per HTTPS o SSL di destinazione proxy. Puoi fare riferimento a più certificati autogestiti sullo stesso proxy di destinazione.

Console

Quando utilizzi la console Google Cloud per modificare un bilanciatore del carico esistente, associare automaticamente il certificato SSL alla destinazione proxy.

gcloud

Per associare un certificato SSL globale a un proxy HTTPS di destinazione, usa il comando gcloud compute target-https-proxies update con i flag --global e --global-ssl-certificates:

gcloud compute target-https-proxies update TARGET_PROXY_NAME \
    --global \
    --ssl-certificates=SSL_CERTIFICATE_LIST \
    --global-ssl-certificates

Per associare un certificato SSL globale a un proxy SSL di destinazione, utilizza il comando gcloud compute target-ssl-proxies update:

gcloud compute target-ssl-proxies update TARGET_PROXY_NAME \
    --ssl-certificates=SSL_CERTIFICATE_LIST

Per associare un certificato SSL regionale a un proxy HTTPS di destinazione: usa il comando gcloud compute target-https-proxies update con i flag --region e --ssl-certificates-region:

gcloud compute target-https-proxies update TARGET_PROXY_NAME \
    --region=REGION \
    --ssl-certificates=SSL_CERTIFICATE_LIST \
    --ssl-certificates-region=REGION

Sostituisci quanto segue:

  • TARGET_PROXY_NAME: il nome del bilanciatore del carico proxy di destinazione
  • REGION (se applicabile): la regione per la regione proxy di destinazione e certificato SSL a livello di regione; le regioni devono corrispondere
  • SSL_CERTIFICATE_LIST: un elenco di delimitato da virgole di Nomi dei certificati SSL di Google Cloud

    Assicurati che l'elenco i certificati di riferimento includono anche tutti i certificati SSL validi meno recenti come nuovo certificato SSL. gcloud compute target-ssl-proxies update sostituisce i valori originali di --ssl-certificates con nuovo valore.

API

Per associare un certificato SSL globale a un proxy HTTPS di destinazione, effettua una richiesta POST al targetHttpsProxies.insert sostituendo PROJECT_ID con il tuo ID progetto.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxy

{
"name": "l7-xlb-proxy",
"urlMap": "projects/PROJECT_ID/global/urlMaps/l7-xlb-map",
"sslCertificates": /projectsPROJECT_IDglobal/sslCertificates/SSL_CERT_NAME
}

Per associare un certificato SSL globale a un proxy HTTPS di destinazione, effettua una richiesta POST al targetSslProxies.insert sostituendo PROJECT_ID con il tuo ID progetto.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxy

{
"name": "l7-ssl-proxy",
"sslCertificates": /projectsPROJECT_IDglobal/sslCertificates/SSL_CERT_NAME
}

Per associare un certificato SSL a livello di regione a un proxy HTTPS di destinazione, effettua una richiesta POST al targetHttpsProxies.insert sostituendo PROJECT_ID con il tuo ID progetto.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetHttpsProxy

{
"name": "l7-xlb-proxy",
"urlMap": "projects/PROJECT_ID/global/urlMaps/l7-ilb-map",
"region": "us-west1"
"sslCertificates": /projectsPROJECT_IDregions/us-west1/sslCertificates/SSL_CERT_NAME
}

Passaggio 4: aggiorna i record DNS A e AAAA in modo che puntino all'indirizzo IP del bilanciatore del carico

Sul sito del registrar, sull'host DNS o sull'ISP (ovunque siano i tuoi record DNS) gestiti), aggiungere o aggiornare i record DNS A (per IPv4) e i record DNS AAAA (per IPv6) per i tuoi domini e sottodomini in modo che puntino all'indirizzo IP associate alla regola o alle regole di regola di forwarding del bilanciatore del carico.

Se utilizzi Cloud DNS e Cloud Domains, configura il tuo domini e aggiorna i tuoi server dei nomi.

Se utilizzi più domini per un singolo certificato, devi aggiungere o aggiornare i record DNS per tutti i domini e gli eventuali sottodomini in modo che puntano tutti all'indirizzo IP del tuo bilanciatore del carico.

Dopo aver atteso la propagazione DNS completato, puoi verificare la configurazione eseguendo il comando dig. Ad esempio: supponiamo che il tuo dominio sia www.example.com. Esegui questo comando dig:

dig www.example.com
; <<>> DiG 9.10.6 <<>> www.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31748
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.example.com.           IN  A

;; ANSWER SECTION:
www.example.com.        1742    IN  CNAME   www.example.com.edgekey.net.
www.example.com.edgekey.net. 21330 IN   CNAME   www.example.com.edgekey.net.globalredir.akadns.net.
www.example.com.edgekey.net.globalredir.akadns.net. 3356 IN CNAME   e6858.dsce9.akamaiedge.net.
e6858.dsce9.akamaiedge.net. 19  IN  A   203.0.113.5

;; Query time: 43 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Jun 03 16:54:44 PDT 2020
;; MSG SIZE  rcvd: 193

In questo esempio, 203.0.113.5 è l'indirizzo IP del bilanciatore del carico.

Passaggio 5: esegui un test con OpenSSL

Potrebbero essere necessari fino a 30 minuti prima che il bilanciatore del carico inizi a utilizzare certificato SSL autogestito.

Per verificare, esegui questo comando OpenSSL, sostituendo DOMAIN con il tuo nome DNS e IP_ADDRESS con l'indirizzo IP del tuo con il bilanciatore del carico di rete passthrough esterno regionale.

echo | openssl s_client -showcerts -servername DOMAIN -connect IP_ADDRESS:443 -verify 99 -verify_return_error

Questo comando restituisce i certificati presentati dal bilanciatore del carico. al cliente. Insieme ad altre informazioni dettagliate, l'output dovrebbe includono la catena di certificati e Verify return code: 0 (ok).

Utilizzare i certificati SSL autogestiti

Le seguenti sezioni descrivono come elencare, visualizzare, eliminare e sostituire SSL delle risorse dei certificati.

Elenca certificati SSL

Console

Puoi controllare lo stato dei tuoi certificati SSL globali sulla Scheda Certificati classici nella pagina Gestore certificati. I certificati SSL a livello di regione non possono essere gestiti nella console Google Cloud. Utilizza gcloud o l'API REST.

  1. Vai alla scheda Certificati classici nella console Google Cloud.
    Vai ai certificati classici
  2. (Facoltativo) Filtra l'elenco dei certificati SSL.

gcloud

Per elencare i certificati SSL globali, utilizza il comando gcloud compute ssl-certificates list con la Flag --global:

gcloud compute ssl-certificates list \
   --global

Per elencare i certificati SSL a livello di regione, utilizza il comando gcloud compute ssl-certificates list con Filtro region:

gcloud compute ssl-certificates list \
   --filter="region:(REGION ...)"

Sostituisci quanto segue:

  • REGION: una regione Google Cloud; includi più regioni un elenco separato da spazi

Descrizione dei certificati SSL

Console

Puoi visualizzare ulteriori dettagli sui tuoi certificati SSL globali nella Scheda Certificati classici nella pagina Gestore certificati.

  1. Vai alla pagina Certificati classici nella console Google Cloud.
    Vai ai certificati classici
  2. (Facoltativo) Filtra l'elenco dei certificati SSL.
  3. Per visualizzare ulteriori dettagli, fai clic sul nome del certificato.

gcloud

Per descrivere un certificato SSL globale, usa il comando gcloud compute ssl-certificates describe con il flag --global:

gcloud  compute ssl-certificates describe CERTIFICATE_NAME \
   --global

Per descrivere un certificato SSL a livello di regione, utilizza il comando gcloud compute ssl-certificates describe con il flag --region:

gcloud compute ssl-certificates describe CERTIFICATE_NAME \
   --region=REGION

Sostituisci quanto segue:

  • CERTIFICATE_NAME: il nome del certificato SSL
  • REGION: una regione Google Cloud

Elimina certificati SSL

Prima di poter eliminare un certificato SSL, devi aggiornare ogni proxy di destinazione che fa riferimento al certificato. Per ogni proxy di destinazione, esegui il gcloud update per aggiornare il proxy di destinazione SSL_CERTIFICATE_LIST in modo che non includa più il certificato SSL che dovrai eliminare. Ogni proxy SSL o HTTPS di destinazione deve fare riferimento ad almeno un certificato SSL.

Dopo aver aggiornato il proxy di destinazione, puoi eliminare il certificato SSL.

Console

Puoi eliminare i certificati SSL globali nella scheda Certificati classici della Pagina Gestore certificati.

  1. Vai alla scheda Certificati classici nella console Google Cloud.
    Vai ai certificati classici
  2. Seleziona il certificato SSL che vuoi eliminare.
  3. Fai clic su Elimina.
  4. Per confermare, fai di nuovo clic su Elimina.

gcloud

Per eliminare un certificato SSL globale, utilizza il comando gcloud compute ssl-certificates delete con il comando --global:

gcloud compute ssl-certificates delete CERTIFICATE_NAME \
    --global

Per eliminare un certificato SSL a livello di regione, utilizza il metodo Comando gcloud compute ssl-certificates delete con il comando --region:

gcloud compute ssl-certificates delete CERTIFICATE_NAME \
    --region=REGION

Sostituisci quanto segue:

  • CERTIFICATE_NAME: il nome del certificato SSL
  • REGION: una regione Google Cloud

Sostituire o rinnovare un certificato SSL prima che scada

Per sostituire, rinnovare o ruotare un certificato SSL, procedi nel seguente modo:

  1. Esegui il comando gcloud compute ssl-certificates describe del certificato corrente, per controllare se sta per scadere.

  2. Crea una nuova risorsa del certificato SSL. Il nuovo SSL deve avere un nome univoco all'interno del progetto.

  3. Aggiorna il proxy di destinazione per scollegare il vecchio SSL certificato e aggiungi quello nuovo. Assicurati di includere qualsiasi altro protocollo SSL esistente i certificati che desideri conservare.

    Per evitare tempi di inattività, esegui un singolo comando gcloud con Flag --ssl-certificates. Ad esempio:

    Per i bilanciatori del carico delle applicazioni esterni globali:

    Utilizza la gcloud compute target-https-proxies update con il flag --global.

    gcloud compute target-https-proxies update TARGET_PROXY_NAME \
       --global \
       --ssl-certificates=new-ssl-cert,other-certificates \
       --global-ssl-certificates
    

    Per i bilanciatori del carico delle applicazioni esterni regionali e i bilanciatori del carico delle applicazioni interni:

    Utilizza la gcloud compute target-https-proxies update con il flag --region.

    gcloud compute target-https-proxies update TARGET_PROXY_NAME \
       --region REGION \
       --ssl-certificates=new-ssl-cert,other-certificates \
       --global-ssl-certificates
    

    Per i bilanciatori del carico di rete proxy esterni:

    Utilizza la gcloud compute target-ssl-proxies update con il flag --backend-service.

    gcloud compute target-ssl-proxies update TARGET_PROXY_NAME \
       --ssl-certificates=new-ssl-cert,other-certificates
    
  4. Verifica che il bilanciatore del carico fornisca il certificato sostitutivo entro il giorno eseguendo il seguente comando OpenSSL:

    echo | openssl s_client -showcerts -connect IP_ADDRESS:443 -verify 99 -verify_return_error
    
  5. Attendi 15 minuti per assicurarti che l'operazione di sostituzione si sia propagata tutti i Google Front End (GFE).

  6. (Facoltativo) Elimina il certificato SSL precedente.

Ruota periodicamente i certificati SSL

Questa soluzione di esempio Controlla periodicamente lo stato dei certificati utilizzati con il carico di Google Cloud bilancia e ruota i certificati quando raggiungono una determinata percentuale del intera durata. Lo strumento utilizza le CA configurate mediante Certificate Authority Service.

Questa soluzione funziona con i seguenti bilanciatori del carico:

  • Bilanciatore del carico delle applicazioni esterno globale
  • Bilanciatore del carico delle applicazioni classico
  • Bilanciatore del carico delle applicazioni esterno regionale
  • Bilanciatore del carico delle applicazioni interno
  • Bilanciatore del carico di rete proxy esterno con proxy SSL

Passaggi successivi