Ce tutoriel vous présente le processus de déploiement de certificats à l'aide d'un certificat géré par Google avec l'autorisation d'équilibreur de charge comme exemple.
Pour comparer les types d'autorisation de domaine compatibles, consultez la section Autorisation de domaine.
Les équilibreurs de charge suivants acceptent les certificats gérés par Google avec autorisation d'équilibreur de charge:
- Équilibreur de charge d'application externe mondial
- Équilibreur de charge d'application classique
- Équilibreur de charge réseau proxy externe global
Si vous souhaitez migrer un certificat existant vers le gestionnaire de certificats, suivez plutôt la procédure décrite dans Migrer des certificats vers le gestionnaire de certificats.
Objectifs
Ce guide vous explique comment effectuer les tâches suivantes :
- Créez un certificat géré par Google émis par une autorité de certification de confiance publique avec une autorisation d'équilibreur de charge à l'aide du gestionnaire de certificats.
- Déployez le certificat sur un équilibreur de charge compatible à l'aide d'un proxy HTTPS cible.
Pour en savoir plus sur le processus de déploiement du certificat, consultez la section Présentation du déploiement.
Si vous suivez les étapes de ce tutoriel pour déployer un certificat pour un domaine qui diffuse déjà du trafic de production, n'oubliez pas que le trafic pour ce domaine sera interrompu pendant le provisionnement et l'activation du certificat sur l'équilibreur de charge correspondant.
Avant de commencer
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Assurez-vous de disposer des rôles suivants pour effectuer les tâches de ce tutoriel:
- Propriétaire du gestionnaire de certificats: nécessaire pour créer et gérer des ressources du gestionnaire de certificats.
- Administrateur de l'équilibreur de charge Compute ou Administrateur de réseaux Compute: obligatoire pour créer et gérer un proxy cible HTTPS.
- Administrateur DNS: 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
- Contrôle des accès avec IAM pour Cloud DNS
Créer un certificat géré par Google avec une autorisation pour l'équilibreur de charge
Pour créer un certificat géré par Google avec une autorisation d'équilibreur de charge, suivez la procédure décrite dans cette section.
Pour spécifier plusieurs noms de domaine pour le certificat, fournissez une liste de noms de domaines cibles séparés par des virgules pour le certificat.
Pour en savoir plus, consultez la section Autorisations et rôles.
Console
Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.
Sur la page qui s'affiche, sélectionnez l'onglet Certificats.
Cliquez sur Ajouter un certificat.
Saisissez un nom pour le certificat.
Ce nom doit être unique au projet.
Facultatif: saisissez la description du certificat. La description vous aidera ultérieurement à identifier un certificat spécifique.
Dans le champ Emplacement, sélectionnez Mondial.
Pour Champ d'application, sélectionnez Par défaut.
Pour Type de certificat, sélectionnez Créer un certificat géré par Google.
Dans le champ Type d'autorité de certification, sélectionnez Public.
Indiquez les noms de domaine du certificat. Saisissez la liste des domaines cibles, séparés par une virgule. En outre, chaque nom de domaine doit être un nom de domaine complet, tel que
myorg.example.com
.Dans le champ Type d'autorisation, sélectionnez Autorisation de l'équilibreur de charge.
Spécifiez une étiquette à associer au certificat. Si nécessaire, vous pouvez ajouter plusieurs étiquettes. Pour ajouter un libellé, cliquez sur le bouton Ajouter une étiquette add_box, puis spécifiez les paramètres
key
etvalue
pour votre libellé.Cliquez sur Créer. Vérifiez que le nouveau certificat apparaît dans la liste des certificats.
gcloud
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES"
Remplacez les éléments suivants :
CERTIFICATE_NAME
: nom unique du certificat.DOMAIN_NAMES
: liste des domaines cibles du certificat, séparés par une virgule. Chaque nom de domaine doit être un nom de domaine complet, tel quemyorg.example.com
.
Terraform
Utilisez une ressource google_certificate_manager_certificate
.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
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"], } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud cible.CERTIFICATE_NAME
: nom unique qui décrit ce certificat.DOMAIN_NAME
: domaine cible du certificat. Le nom de domaine doit être un nom de domaine complet, tel quemyorg.example.com
.
Pour obtenir une présentation du processus de déploiement du certificat, consultez la section Présentation du déploiement.
Déployer le certificat sur un équilibreur de charge
Suivez les étapes de cette section pour déployer le certificat géré par Google que vous avez créé aux étapes précédentes sur un équilibreur de charge.
Créer un mappage de certificat
Créez un mappage de certificats qui référence l'entrée de mappage de certificats associée à votre certificat.
gcloud
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Remplacez CERTIFICATE_MAP_NAME
par le nom du mappage de certificats cible.
Terraform
Utilisez une ressource google_certificate_manager_certificate_map
.
Créer une entrée de mappage de certificats
Créez une entrée de mappage de certificats et associez-la à votre certificat ainsi qu'à votre mappage de certificats.
gcloud
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAME" \ --hostname="HOSTNAME"
Remplacez les éléments suivants :
CERTIFICATE_MAP_ENTRY_NAME
: nom unique de l'entrée de mappage de certificatsCERTIFICATE_MAP_NAME
: nom du mappage de certificat auquel cette entrée de mappage de certificat est associée.CERTIFICATE_NAME
: nom du certificat que vous souhaitez associer à cette entrée de mappage de certificatsHOSTNAME
: nom d'hôte que vous souhaitez associer à cette entrée de mappage de certificats
Terraform
Utilisez une ressource google_certificate_manager_certificate_map_entry
.
Vérifier que l'entrée de mappage de certificat est active
Exécutez la commande suivante pour vérifier que l'entrée de mappage de certificat est active avant d'associer le mappage de certificat correspondant au proxy cible
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 mappage de certificats cibleCERTIFICATE_MAP_NAME
: nom du mappage de certificat auquel cette entrée de mappage de certificat est associée.
La commande renvoie un résultat semblable à celui-ci :
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'
Associer le mappage de certificat au proxy cible
Associez le mappage de certificat configuré au proxy cible.
Console
- Dans la console Google Cloud, accédez à la page Proxys cibles.
Accéder à la page "Proxys cibles"
Notez le nom du proxy cible.
Associez le mappage de certificat au proxy cible:
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME"
Remplacez les éléments suivants :
* `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
Utilisez une ressource google_compute_target_https_proxy
.
Si des certificats TLS (SSL) existants sont directement associés au proxy, celui-ci privilégie les certificats référencés par le mappage de certificats par rapport aux certificats TLS (SSL) directement associés.
Attendez que le certificat soit activé
Une fois le certificat associé au proxy cible, il peut s'écouler plusieurs heures avant qu'il soit émis et que son état passe à ACTIVE
. Une fois que l'état est défini sur ACTIVE
, l'équilibreur de charge peut mettre jusqu'à 30 minutes pour commencer à utiliser le certificat.
Utilisez la commande suivante pour vérifier l'état du certificat:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Remplacez CERTIFICATE_NAME
par le nom du certificat géré par Google cible.
La commande renvoie un résultat semblable à celui-ci :
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'
Si l'état du certificat n'est pas passé à ACTIVE
après plusieurs heures, vérifiez les points suivants:
- Le mappage de certificat faisant référence à ce certificat a été associé au proxy cible approprié, comme décrit dans la section Associer un mappage de certificat à un proxy.
- Le proxy cible a été associé à l'équilibreur de charge approprié, comme décrit dans la section Vérifier l'association du proxy cible.
- La configuration DNS du domaine cible pointe vers l'adresse IP de l'équilibreur de charge cible, comme décrit dans la section Mettre à jour les enregistrements DNS A et AAAA pour qu'ils pointent vers l'adresse IP de l'équilibreur de charge.
Pour découvrir d'autres procédures de dépannage, consultez la page Résoudre les problèmes liés aux certificats SSL.
Effectuer un nettoyage
Pour annuler les modifications que vous avez apportées dans ce tutoriel, procédez comme suit:
Dissociez le mappage de certificat du proxy.
Avant de dissocier le mappage de certificats, tenez compte des points suivants:
- Si des certificats TLS (SSL) étaient directement associés au proxy, la dissociation du mappage de certificats remet le proxy à utiliser ces certificats TLS (SSL) directement associés.
- Si aucun certificat TLS (SSL) n'est directement associé au proxy, le mappage de certificats ne peut pas être dissocié du proxy. Vous devez d'abord associer au moins un certificat TLS (SSL) directement au proxy avant de pouvoir dissocier le mappage de certificat.
Pour dissocier le mappage de certificats, exécutez la commande suivante:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
Supprimez l'entrée du mappage de certificat du mappage de certificat:
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Remplacez les éléments suivants :
CERTIFICATE_MAP_ENTRY_NAME
: nom de l'entrée de mappage de certificats cibleCERTIFICATE_MAP_NAME
: nom du mappage de certificats cible
Supprimez le mappage de certificat:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Remplacez
CERTIFICATE_MAP_NAME
par le nom du mappage de certificats cible.Supprimez le certificat géré par Google:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Remplacez
CERTIFICATE_NAME
par le nom du certificat cible.