Ce tutoriel vous explique comment migrer les certificats Cloud Load Balancing vers Certificate Manager. Pour en savoir plus sur les certificats Cloud Load Balancing, consultez la section Présentation des certificats SSL dans la documentation Cloud Load Balancing.
Pour migrer les certificats Cloud Load Balancing sans temps d'arrêt, commencez par identifier les certificats que vous souhaitez migrer. Créez ensuite le même nombre de certificats gérés par Google que vos certificats Cloud Load Balancing. Ensuite, consolidez les certificats dans un seul mappage de certificats et testez le mappage de certificats dans un autre équilibreur de charge. Si vos tests sont concluants, joignez le mappage de certificats à l'équilibreur de charge cible qui héberge vos certificats Cloud Load Balancing.
Pour obtenir la liste des équilibreurs de charge compatibles, consultez la section Présentation du Gestionnaire de certificats.
Objectifs
Ce guide vous explique comment effectuer les tâches suivantes :
- Identifiez les certificats de l'équilibreur de charge cible à migrer.
- Créez des certificats gérés par Google.
- Créez un mappage de certificat et des entrées de mappage de certificat.
- Tester la mise en correspondance des certificats dans un autre équilibreur de charge
- Associez le mappage de certificats à l'équilibreur de charge cible.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Rôles requis
Pour effectuer les tâches de ce tutoriel, assurez-vous de disposer des rôles suivants:
Propriétaire du gestionnaire de certificats (
roles/certificatemanager.owner
)Nécessaire pour créer et gérer des ressources du Gestionnaire de certificats.
Administrateur de l'équilibreur de charge Compute (
roles/compute.loadBalancerAdmin
) ou administrateur réseau Compute (roles/compute.networkAdmin
)Obligatoire pour créer et gérer le proxy HTTPS cible.
Administrateur DNS (
roles/dns.admin
)Obligatoire si vous souhaitez utiliser Cloud DNS comme solution DNS.
Pour en savoir plus, consultez les ressources suivantes :
- Rôles et autorisations pour le Gestionnaire de certificats
- Rôles et autorisations IAM de Compute Engine pour Compute Engine.
- Rôles et autorisations pour Cloud DNS
Identifier les certificats à migrer
Pour identifier les certificats que vous souhaitez migrer, procédez comme suit:
Sur l'équilibreur de charge, identifiez le nom du proxy cible.
Identifiez les certificats que vous souhaitez migrer.
Pour trouver les certificats associés à un proxy cible, exécutez la commande suivante:
gcloud compute target-https-proxies describe TARGET_PROXY_NAME
Remplacez
TARGET_PROXY_NAME
par le nom du proxy cible.Le résultat ressemble à ce qui suit :
creationTimestamp: '2021-10-06T04:05:07.520-07:00' fingerprint: c9Txdx6AfcM= id: '365692570234384780' kind: compute#targetHttpsProxy name: my-proxy selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/targetHttpsProxies/my-proxy sslCertificates: - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-first-certificate - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-second-certificate urlMap: https://www.googleapis.com/compute/v1/projects/my-project/global/urlMaps/my-map
Notez les noms des certificats listés dans le champ
sslCertificates
. Pour en savoir plus, consultez la présentation des proxys cibles.Obtenez les détails de chaque certificat :
gcloud compute ssl-certificates --project=PROJECT_ID describe LB_CERTIFICATE_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud.LB_CERTIFICATE_NAME
: nom du certificat de l'équilibreur de charge.
Le résultat ressemble à ce qui suit :
certificate: | -----BEGIN CERTIFICATE----- MIIFYjCCBEqgAwIBAgIQd70NbNs2+RrqIQ/E8FjTDTANBgkqhkiG9w0BAQsFADBX MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4GA1UE CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIwMDYx OTAwMDA0MloXDTI4MDEyODAwMDA0MlowRzELMAkGA1UEBhMCVVMxIjAgBgNVBAoT GUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBMTEMxFDASBgNVBAMTC0dUUyBSb290IFIx MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAthECix7joXebO9y/lD63 ladAPKH9gvl9MgaCcfb2jH/76Nu8ai6Xl6OMS/kr9rH5zoQdsfnFl97vufKj6bwS iV6nqlKr+CMny6SxnGPb15l+8Ape62im9MZaRw1NEDPjTrETo8gYbEvs/AmQ351k KSUjB6G00j0uYODP0gmHu81I8E3CwnqIiru6z1kZ1q+PsAewnjHxgsHA3y6mbWwZ DrXYfiYaRQM9sHmklCitD38m5agI/pboPGiUU+6DOogrFZYJsuB6jC511pzrp1Zk j5ZPaK49l8KEj8C8QMALXL32h7M1bKwYUH+E4EzNktMg6TO8UpmvMrUpsyUqtEj5 cuHKZPfmghCN6J3Cioj6OGaK/GP5Afl4/Xtcd/p2h/rs37EOeZVXtL0m79YB0esW CruOC7XFxYpVq9Os6pFLKcwZpDIlTirxZUTQAs6qzkm06p98g7BAe+dDq6dso499 iYH6TKX/1Y7DzkvgtdizjkXPdsDtQCv9Uw+wp9U7DbGKogPeMa3Md+pvez7W35Ei Eua++tgy/BBjFFFy3l3WFpO9KWgz7zpm7AeKJt8T11dleCfeXkkUAKIAf5qoIbap sZWwpbkNFhHax2xIPEDgfg1azVY80ZcFuctL7TlLnMQ/0lUTbiSw1nH69MG6zO0b 9f6BQdgAmD06yK56mDcYBZUCAwEAAaOCATgwggE0MA4GA1UdDwEB/wQEAwIBhjAP BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTkrysmcRorSCeFL1JmLO/wiRNxPjAf BgNVHSMEGDAWgBRge2YaRQ2XyolQL30EzTSo//z9SzBgBggrBgEFBQcBAQRUMFIw JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnBraS5nb29nL2dzcjEwKQYIKwYBBQUH MAKGHWh0dHA6Ly9wa2kuZ29vZy9nc3IxL2dzcjEuY3J0MDIGA1UdHwQrMCkwJ6Al oCOGIWh0dHA6Ly9jcmwucGtpLmdvb2cvZ3NyMS9nc3IxLmNybDA7BgNVHSAENDAy MAgGBmeBDAECATAIBgZngQwBAgIwDQYLKwYBBAHWeQIFAwIwDQYLKwYBBAHWeQIF AwMwDQYJKoZIhvcNAQELBQADggEBADSkHrEoo9C0dhemMXoh6dFSPsjbdBZBiLg9 NR3t5P+T4Vxfq7vqfM/b5A3Ri1fyJm9bvhdGaJQ3b2t6yMAYN/olUazsaL+yyEn9 WprKASOshIArAoyZl+tJaox118fessmXn1hIVw41oeQa1v1vg4Fv74zPl6/AhSrw 9U5pCZEt4Wi4wStz6dTZ/CLANx8LZh1J7QJVj2fhMtfTJr9w4z30Z209fOU0iOMy +qduBmpvvYuR7hZL6Dupszfnw0Skfths18dG9ZKb59UhvmaSGZRVbNQpsg3BZlvi d0lIKO2d1xozclOzgjXPYovJJIultzkMu34qQb9Sz/yilrbCgj8= -----END CERTIFICATE----- creationTimestamp: '2021-05-06T04:39:21.736-07:00' expireTime: '2022-06-07T01:10:34.000-07:00' id: '6422259403966690822' kind: compute#sslCertificate managed: domainStatus: a.my-domain1.example.com: ACTIVE b.my-domain2.example.com: ACTIVE domains: - a.my-domain1.example.com - b.my-domain2.example.com status: ACTIVE name: my-certificate selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-certificate subjectAlternativeNames: - a. my-domain1.example.com - b. my-domain2.example.com type: MANAGED
Créer des certificats gérés par Google
Créez le même nombre de certificats gérés par Google que de certificats pour votre équilibreur de charge. Pour un équilibreur de charge global ou classique, créez des certificats globaux. Pour un équilibreur de charge régional, créez des certificats régionaux. Pour un équilibreur de charge interrégional, créez des certificats interrégionaux. Avant de créer les certificats, créez une autorisation DNS et ajoutez l'enregistrement CNAME à la zone DNS faisant autorité pour votre domaine.
Vous pouvez choisir de créer des certificats gérés par Google avec une autorisation DNS (recommandé) ou des certificats autogérés.
Cette section liste les étapes et les commandes à suivre pour créer des certificats globaux gérés par Google. Pour créer un certificat géré par Google régional ou interrégional, consultez la section Créer un certificat géré par Google.
Créer une autorisation DNS
Une autorisation DNS ne couvre qu'un seul nom de domaine. Vous devez créer une autorisation DNS distincte pour chaque nom de domaine que vous souhaitez utiliser avec le certificat cible.
Si vous créez une autorisation DNS pour un certificat générique, tel que *.myorg.example.com
, configurez l'autorisation DNS pour le domaine parent (par exemple, myorg.example.com
).
Console
Vous pouvez créer une autorisation DNS ou associer une autorisation DNS existante lorsque vous créez un certificat. Pour en savoir plus, consultez la section Créer un certificat géré par Google faisant référence à l'autorisation DNS.
gcloud
Pour créer une autorisation DNS, utilisez la commande certificate-manager
dns-authorizations create
:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME"
Remplacez les éléments suivants :
AUTHORIZATION_NAME
: nom de l'autorisation DNS.DOMAIN_NAME
: nom du domaine cible pour lequel vous créez cette autorisation DNS. Le nom de domaine doit être un nom de domaine complet, tel quemyorg.example.com
.
Les certificats gérés par Google globaux utilisent FIXED_RECORD
comme type d'autorisation DNS par défaut. Pour utiliser l'autorisation DNS PER_PROJECT_RECORD
, exécutez la commande suivante:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ --type="PER_PROJECT_RECORD"
Après avoir créé l'autorisation DNS, vérifiez-la à l'aide de la commande certificate-manager dns-authorizations describe
:
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME \
Le résultat renvoyé ressemble à ceci : Dans la sortie, recherchez la ligne dnsResourceRecord
et récupérez l'enregistrement CNAME
(data
, name
et type
) à ajouter à votre configuration DNS.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. name: _acme-challenge.myorg.example.com. type: CNAME domain: myorg.example.com name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Terraform
Pour créer une autorisation DNS, vous pouvez utiliser une ressource google_certificate_manager_dns_authorization
.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
API
Pour créer une autorisation DNS, envoyez une requête POST
à la méthode dnsAuthorizations.create
:
POST /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME" { "domain": "DOMAIN_NAME", "type": "PER_PROJECT_RECORD" //optional }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud.AUTHORIZATION_NAME
: nom de l'autorisation DNS.DOMAIN_NAME
: nom du domaine cible pour lequel vous créez cette autorisation DNS. Le nom de domaine doit être un nom de domaine complet, tel quemyorg.example.com
.
Créer un certificat géré par Google faisant référence à l'autorisation DNS
Pour créer un certificat géré par Google global qui référence l'autorisation DNS que vous avez créée lors des étapes précédentes, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.
Dans l'onglet Certificats, cliquez sur Ajouter un certificat.
Dans le champ Nom du certificat, saisissez un nom unique pour le certificat.
Facultatif: Dans le champ Description, saisissez une description du certificat. La description vous permet d'identifier le certificat.
Dans Emplacement, sélectionnez Mondial.
Pour Champ d'application, sélectionnez Par défaut.
Dans Type de certificat, sélectionnez Créer un certificat géré par Google.
Dans le champ Type d'autorité de certification, sélectionnez Publique.
Dans le champ Noms de domaine, spécifiez une liste des noms de domaine du certificat, séparés par une virgule. Chaque nom de domaine doit être un nom de domaine complet, par exemple
myorg.example.com
. Le nom de domaine peut également être un nom de domaine générique, tel que*.example.com
.Dans Type d'autorisation, sélectionnez Autorisation DNS.
La page répertorie les autorisations DNS des noms de domaine. Si un nom de domaine n'est pas associé à une autorisation DNS, procédez comme suit pour en créer une:
- Cliquez sur Créer une autorisation DNS manquante.
- Dans le champ Nom de l'autorisation DNS, spécifiez le nom de l'autorisation DNS.
Le type d'autorisation DNS par défaut est
FIXED_RECORD
. Pour gérer indépendamment les certificats dans plusieurs projets, cochez la case Autorisation par projet. - Cliquez sur Créer une autorisation DNS.
Dans le champ Libellés, spécifiez les libellés à associer au certificat. Pour ajouter un libellé, cliquez sur
Ajouter un libellé, puis spécifiez une clé et une valeur pour votre libellé.Cliquez sur Créer.
Le nouveau certificat apparaît dans la liste des certificats.
gcloud
Pour créer un certificat géré par Google global avec une autorisation DNS, exécutez la commande certificate-manager certificates create
avec l'option dns-authorizations
:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAME, *.DOMAIN_NAME" \ --dns-authorizations="AUTHORIZATION_NAMES"
Remplacez les éléments suivants :
CERTIFICATE_NAME
: nom du certificat.DOMAIN_NAME
: nom du domaine cible. Le nom de domaine doit être un nom de domaine complet, tel quemyorg.example.com
, ou un domaine comportant des caractères génériques, tel que*.myorg.example.com
. Le préfixe astérisque-point(*.)
indique un certificat générique.AUTHORIZATION_NAMES
: liste des noms des autorisations DNS que vous avez créées pour le certificat, séparés par une virgule.
Terraform
Utilisez une ressource google_certificate_manager_certificate
.
API
Créez le certificat en envoyant une requête POST
à la méthode certificates.create
comme suit:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME { "managed": { "domains": ["DOMAIN_NAME"], "dnsAuthorizations": [ "projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME", ], } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud.CERTIFICATE_NAME
: nom du certificat.DOMAIN_NAME
: nom du domaine cible. Le nom de domaine doit être un nom de domaine complet, tel quemyorg.example.com
, ou un domaine comportant des caractères génériques, tel que*.myorg.example.com
. Le préfixe astérisque-point (*.) indique un certificat générique.AUTHORIZATION_NAMES
: liste des noms des autorisations DNS, séparés par une virgule.
Ajouter l'enregistrement CNAME à votre configuration DNS
Si vous utilisez une solution DNS tierce pour gérer votre DNS, consultez sa documentation pour ajouter l'enregistrement CNAME à la configuration DNS. Si vous utilisezGoogle Cloud pour gérer votre DNS, suivez les étapes décrites dans cette section.
Console
Pour créer un jeu d'enregistrements, procédez comme suit :
Dans la console Google Cloud, accédez à la page Zones DNS.
Cliquez sur le nom de la zone DNS à laquelle vous souhaitez ajouter l'enregistrement.
Sur la page Détails de la zone, cliquez sur Ajouter un jeu d'enregistrements standard.
Sur la page Créer un jeu d'enregistrements, dans le champ Nom DNS, saisissez le sous-domaine de la zone DNS.
Lorsque vous saisissez le nom du sous-domaine, assurez-vous qu'il correspond à la valeur complète du champ
dnsResourceRecord.name
, y compris le texte grisé affiché dans le champ Nom DNS, comme indiqué dans la sortie de la commandegcloud certificate-manager dns-authorizations describe
.Consultez les exemples suivants :
Si la valeur du champ
dnsResourceRecord.name
est_acme-challenge.myorg.example.com.
et que le texte grisé du champ Nom DNS est.example.com.
, saisissez_acme-challenge.myorg
.Si la valeur du champ
dnsResourceRecord.name
est_acme-challenge.myorg.example.com.
et que le texte grisé dans le champ Nom DNS est.myorg.example.com.
, saisissez_acme-challenge
.Si la valeur du champ
dnsResourceRecord.name
est_acme-challenge_ujmmovf2vn55tgye.myorg.example.com.
et que le texte grisé dans le champ Nom DNS est.myorg.example.com.
, saisissez_acme-challenge_ujmmovf2vn55tgye
.
Dans le champ Type d'enregistrement de la ressource, sélectionnez CNAME.
Dans le champ TTL, saisissez une valeur numérique positive correspondant à la durée de vie (Time To Live) de l'enregistrement de la ressource, c'est-à-dire le délai pendant lequel il peut être mis en cache.
Dans la liste Unité TTL, sélectionnez l'unité de temps (par exemple,
30 minutes
).Dans le champ Nom canonique, saisissez la valeur complète du champ
dnsResourceRecord.data
, comme indiqué dans la sortie de la commandegcloud certificate-manager dns-authorizations describe
.Pour saisir des informations supplémentaires, cliquez sur Ajouter un élément.
Cliquez sur Créer.
gcloud
Lorsque vous créez une autorisation DNS, la commande gcloud CLI renvoie l'enregistrement CNAME correspondant. Pour ajouter l'enregistrement CNAME à votre configuration DNS dans la zone DNS du domaine cible, procédez comme suit:
Lancez la transaction d'enregistrement DNS :
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
Remplacez
DNS_ZONE_NAME
par le nom de la zone DNS cible.Ajoutez l'enregistrement CNAME à la zone DNS cible :
gcloud dns record-sets transaction add CNAME_RECORD \ --name="VALIDATION_SUBDOMAIN_NAME.DOMAIN_NAME." \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"
Remplacez les éléments suivants :
CNAME_RECORD
: valeur de données complète de l'enregistrement CNAME renvoyé par la commande Google Cloud CLI qui a créé l'autorisation DNS correspondante.VALIDATION_SUBDOMAIN_NAME
: sous-domaine du préfixe de la zone DNS, tel que_acme-challenge
. Vous pouvez copier le nom à partir du journal de commandesgcloud certificate-manager dns-authorizations describe
, comme décrit dans la section Créer une autorisation DNS.DOMAIN_NAME
: nom du domaine cible.Le nom de domaine doit être un nom de domaine complet, par exemplemyorg.example.com
. Vous devez également inclure le point final après le nom de domaine cible.DNS_ZONE_NAME
: nom de la zone DNS cible.
Consultez l'exemple ci-dessous :
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. \ --name="_acme-challenge.myorg.example.com." \ --ttl="30" \ --type="CNAME" \ --zone="myorg-example-com"
Exécutez la transaction d'enregistrement DNS pour enregistrer vos modifications:
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
Remplacez
DNS_ZONE_NAME
par le nom de la zone DNS cible.
Terraform
Pour ajouter l'enregistrement CNAME à votre configuration DNS, vous pouvez utiliser une ressource google_dns_record_set
.
Vérifier l'état du certificat
Avant de déployer un certificat sur un équilibreur de charge, vérifiez qu'il est actif. Le passage de l'état du certificat à ACTIVE
peut prendre plusieurs minutes.
Console
Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.
Dans l'onglet Certificates (Certificats), vérifiez la colonne Status (État) du certificat.
gcloud
Pour vérifier l'état du certificat, exécutez la commande suivante:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Remplacez CERTIFICATE_NAME
par le nom du certificat géré par Google cible.
Le résultat ressemble à ce qui suit :
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: authorizationAttemptInfo: - domain: myorg.example.com state: AUTHORIZED dnsAuthorizations: - projects/myProject/locations/global/dnsAuthorizations/myCert domains: - myorg.example.com state: ACTIVE name: projects/myProject/locations/global/certificates/myCert pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Si l'état du certificat n'est pas ACTIVE
au bout de plusieurs heures, vérifiez que vous avez correctement ajouté l'enregistrement CNAME
à votre configuration DNS.
Pour connaître la procédure de dépannage, consultez la section Dépannage du Gestionnaire de certificats.
Créer le mappage de certificat
Pour déployer un certificat sur un équilibreur de charge d'application externe global, créez un mappage de certificats.
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Remplacez les éléments suivants :
CERTIFICATE_MAP_NAME
: nom du mappage de certificats.
Créer les entrées de mappage de certificats
Pour déployer un certificat sur un équilibreur de charge d'application externe global, créez une entrée de mappage de certificat.
Pour chaque certificat que vous souhaitez migrer, créez des entrées de mappage de certificats référençant ces certificats comme suit:
Obtenez les détails du certificat.
Dans le journal, pour chaque domaine listé dans le champ
subjectAlternativeNames
, créez une entrée de mappage de certificats couvrant ce domaine. Si plusieurs certificats couvrent un même domaine, vous n'avez besoin de créer qu'une seule entrée de mappage de certificats et d'utiliser n'importe quel certificat valide couvrant ce domaine.gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAMES" \ --hostname="HOSTNAME"
Remplacez les éléments suivants :
CERTIFICATE_MAP_ENTRY_NAME
: nom de l'entrée de la carte de certificat.CERTIFICATE_MAP_NAME
: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.CERTIFICATE_NAMES
: liste des noms des certificats que vous souhaitez associer à cette entrée de mappage de certificat, séparés par une virgule.HOSTNAME
: nom d'hôte que vous souhaitez associer à l'entrée de mappage de certificats.
Facultatif: Créez une entrée de mappage de certificat principal référençant le certificat qui correspond au premier certificat de la liste des certificats initialement associés au proxy.
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAMES" \ --set-primary
Remplacez les éléments suivants :
CERTIFICATE_MAP_ENTRY_NAME
: nom de l'entrée de la carte de certificat.CERTIFICATE_MAP_NAME
: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.CERTIFICATE_NAMES
: liste des noms des certificats que vous souhaitez associer à cette entrée de mappage de certificat, séparés par une virgule.
Pour vérifier l'état actif de chaque entrée de mappage de certificat que vous avez créée, exécutez la commande suivante:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Remplacez les éléments suivants :
CERTIFICATE_MAP_ENTRY_NAME
: nom de l'entrée de la carte de certificat.CERTIFICATE_MAP_NAME
: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
Le résultat ressemble à ce qui suit :
certificates: - projects/my-project/locations/global/certificates/my-certificate createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/my-map-entry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
Facultatif: tester votre configuration sur un nouvel équilibreur de charge
Pour réduire les temps d'arrêt, nous vous recommandons de tester vos nouvelles mises en correspondance de certificats sur un nouvel équilibreur de charge qui ne diffuse pas de trafic de production. Vous pouvez ainsi détecter et résoudre les erreurs avant de procéder à la migration dans votre environnement de production.
Testez votre configuration comme suit:
Créez un équilibreur de charge global avec un nouveau proxy cible. Pour créer un équilibreur de charge, consultez les pages suivantes:
Pour créer un équilibreur de charge d'application externe global, consultez Configurer un équilibreur de charge d'application externe global avec des backends de groupe d'instances de VM.
Pour créer un équilibreur de charge réseau proxy externe global (proxy SSL), consultez la page Configurer un équilibreur de charge réseau proxy externe global (proxy SSL) avec des backends de groupe d'instances de VM.
Pour créer un équilibreur de charge réseau proxy externe global (proxy TCP), consultez la page Configurer un équilibreur de charge réseau proxy externe global (proxy TCP) avec des backends de groupe d'instances de VM.
Associez la carte de certificat au proxy cible du nouvel équilibreur de charge.
gcloud compute target-https-proxies create TEST_PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --global
Remplacez les éléments suivants :
TEST_PROXY_NAME
: nom du proxy cible de test.CERTIFICATE_MAP_NAME
: nom du mappage de certificat faisant référence à l'entrée de mappage de certificat et au certificat associé.
Pour chaque domaine cible inclus dans votre migration, testez la connectivité au domaine sur l'adresse IP du nouvel équilibreur de charge:
openssl s_client -showcerts -servername DOMAIN_NAME -connect IP_ADDRESS:443
Remplacez les éléments suivants :
DOMAIN_NAME
: nom du domaine cible.IP_ADDRESS
: adresse IP de votre nouvel équilibreur de charge.
Pour en savoir plus sur les tests de connectivité, consultez Tester avec OpenSSL.
Nettoyer l'environnement de test
Nettoyez l'environnement de test que vous avez créé lors des étapes précédentes.
Supprimez l'équilibreur de charge de test comme décrit dans la section Supprimer l'équilibreur de charge.
Ne supprimez pas les certificats, le mappage de certificats ni les entrées de mappage de certificats que vous avez créés aux étapes précédentes.
Appliquer la nouvelle mise en correspondance de certificats à l'équilibreur de charge cible
Une fois que vous avez testé votre nouvelle configuration de certificat et vérifié qu'elle est valide, appliquez le nouveau mappage de certificat à l'équilibreur de charge cible (celui qui héberge vos certificats) en procédant comme suit.
Si vous utilisez un équilibreur de charge global, associez le mappage de certificats au proxy cible du nouvel équilibreur de charge:
gcloud compute target-https-proxies update TARGET_PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --global
Remplacez les éléments suivants :
TARGET_PROXY_NAME
: nom du proxy cible.CERTIFICATE_MAP_NAME
: nom du mappage de certificat faisant référence à l'entrée de mappage de certificat et au certificat associé.
Attendez que la modification de configuration ait été appliquée et que l'équilibreur de charge ait commencé à diffuser le nouveau certificat. Cette opération prend généralement quelques minutes, mais peut prendre jusqu'à 30 minutes.
La migration de vos certificats est effectuée. Si vous constatez des problèmes avec votre trafic, déconnectez la nouvelle carte de certificat du proxy cible. Votre équilibreur de charge est alors rétabli dans sa configuration d'origine.