Déployer un certificat régional géré par Google


Ce tutoriel explique comment utiliser le gestionnaire de certificats pour déployer un certificat régional géré par Google vers un équilibreur de charge d'application externe régional ou vers un équilibreur de charge d'application interne régional.

Pour déployer un certificat sur un équilibreur de charge d'application externe régional ou sur une à un équilibreur de charge d'application interne régional, rattachez le certificat directement au proxy cible.

Objectifs

Ce guide vous explique comment effectuer les tâches suivantes :

  • Créer un certificat géré par Google émis par une autorité de certification publiquement approuvée avec DNS l'autorisation à l'aide du gestionnaire de certificats. Pour créer un certificat régional géré par Google, vous devez utiliser le DNS par projet une autorisation.

  • Déployer le certificat sur un équilibreur de charge compatible en utilisant un protocole HTTPS cible proxy.

Pour en savoir plus sur le processus de déploiement des certificats, consultez Présentation du déploiement

Avant de commencer

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. La Google Cloud CLI 465.0.0 ou version ultérieure est requise pour déployer le certificat. Pour vérifier votre version de gcloud CLI, exécutez la la commande suivante:

    gcloud --version
    
  3. Pour mettre à jour la gcloud CLI, exécutez la commande suivante.

    gcloud components update
    
  4. Assurez-vous de disposer des rôles suivants pour effectuer les tâches de ce tutoriel:

    • Certificate Manager Owner (Propriétaire du gestionnaire de certificats) : obligatoire pour créer et gérer les 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 HTTPS cible.
    • Administrateur DNS: obligatoire si vous souhaitez utiliser Cloud DNS comme solution DNS.

    Pour en savoir plus, consultez les ressources suivantes :

Créer un certificat régional géré par Google

Suivez les étapes de cette section pour créer une autorisation DNS et une Certificat géré par Google qui référence cette autorisation DNS.

Créer une autorisation DNS

Créez l'autorisation DNS comme décrit dans cette section. Si vous créez un L'autorisation DNS pour un certificat générique, tel que *.myorg.example.com, configurer l'autorisation DNS pour le domaine parent (par exemple, myorg.example.com

gcloud

gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
    --domain="DOMAIN_NAME" \
    --type=PER_PROJECT_RECORD \
    --location="LOCATION"

gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME \
    --location="LOCATION"

Remplacez les éléments suivants :

  • AUTHORIZATION_NAME: nom de l'autorisation DNS.
  • DOMAIN_NAME: le nom du domaine pour lequel vous la création de cette autorisation DNS. Le nom de domaine doit être un nom complet nom de domaine, tel que myorg.example.com.
  • LOCATION: emplacement où vous créez le DNS. une autorisation.

La commande renvoie un résultat, comme illustré dans l'exemple suivant. Utilisez les Enregistrement CNAME de la sortie à ajouter à votre configuration 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'

Ajouter l'enregistrement CNAME à votre configuration DNS

Si vous utilisez Google Cloud pour gérer votre DNS, suivez la procédure ci-dessous dans cette section. Sinon, consultez la documentation de votre DNS tiers. solution.

Avant d'effectuer les étapes de cette section, assurez-vous d'avoir créé une zone DNS publique.

Lorsque vous créez une autorisation DNS, la commande gcloud CLI renvoie l'enregistrement CNAME correspondant. Vous devez ajouter cet enregistrement CNAME à votre configuration DNS dans la zone DNS du domaine cible comme suit :

gcloud

  1. Lancez la transaction d'enregistrement DNS :

    gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
    

    Remplacez DNS_ZONE_NAME par le nom du DNS cible. dans la zone.

  2. Ajoutez l'enregistrement CNAME à la zone DNS cible :

    gcloud dns record-sets transaction add CNAME_RECORD_DATA \
      --name="CNAME_RECORD_NAME" \
      --ttl="30" \
      --type="CNAME" \
      --zone="DNS_ZONE_NAME"
    

    Remplacez les éléments suivants :

    • CNAME_RECORD_DATA: valeur de données complète de l'enregistrement CNAME est renvoyé par la commande de gcloud CLI qui a créé le l'autorisation DNS correspondante.
    • CNAME_RECORD_NAME: valeur du nom complet de l'enregistrement CNAME est renvoyé par la commande de gcloud CLI qui a créé le l'autorisation DNS correspondante.
    • 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.us-central1.authorize.certificatemanager.goog. \
      --name="_acme-challenge_ujmmovf2vn55tgye.myorg.example.com" \
      --ttl="30" \
      --type="CNAME" \
      --zone="example-com"
    
  3. 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.

Créer un certificat régional géré par Google faisant référence à l'autorisation DNS

Pour créer un certificat géré par Google qui référence l'autorisation DNS que vous créés au cours des étapes précédentes, procédez comme suit:

Console

  1. Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.

    Accéder au gestionnaire de certificats

  2. Sur la page qui s'affiche, sélectionnez l'onglet Certificats.

  3. Cliquez sur Ajouter un certificat.

  4. Saisissez un nom pour le certificat.

    Ce nom doit être unique au projet.

  5. Facultatif: saisissez la description du certificat. La description vous aide à identifier un certificat spécifique par la suite.

  6. Dans le champ Emplacement, sélectionnez Régional.

  7. Dans la liste Région, sélectionnez une région.

  8. Pour Type de certificat, sélectionnez Créer un certificat géré par Google.

  9. Dans le champ Type d'autorité de certification, sélectionnez Public.

  10. Indiquez les noms de domaine du certificat. Saisissez des valeurs séparées par une virgule liste des domaines cibles. De plus, chaque nom de domaine doit être nom de domaine, tel que myorg.example.com.

  11. Dans Type d'autorisation, sélectionnez Autorisation DNS. Si le associé à une autorisation DNS, il sera automatiquement récupéré. Si le nom de domaine n'est associé à aucune autorisation DNS, procédez comme suit:

    1. Cliquez sur Create missing DNS authorization (Créer une autorisation DNS manquante) pour afficher la Boîte de dialogue Create DNS Authorization (Créer une autorisation DNS).
    2. Dans le champ Nom d'autorisation DNS, spécifiez le nom de l'autorisation DNS.
    3. Cliquez sur Créer une autorisation DNS. Vérifiez que le nom DNS est associé au nom de domaine.
  12. Spécifiez une étiquette à associer au certificat. Vous pouvez ajouter plusieurs étiquettes, si nécessaire. Pour ajouter un libellé, cliquez sur l'icône le bouton Ajouter un libellé, puis spécifiez les paramètres key et value pour votre libellé.

  13. Cliquez sur Créer. Vérifiez que le nouveau certificat apparaît dans la liste des certificats.

gcloud

Exécutez la commande ci-dessous.

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains=DOMAIN_NAME \
    --dns-authorizations=AUTHORIZATION_NAME \
    --location=LOCATION

Remplacez les éléments suivants :

  • CERTIFICATE_NAME: nom unique du certificat.
  • DOMAIN_NAME: domaine cible du certificat Le préfixe à point (*.) indique un certificat générique. La nom de domaine doit être un nom de domaine complet, tel que myorg.example.com
  • AUTHORIZATION_NAME: nom de l'autorisation DNS que vous avez créés pour ce certificat.
  • LOCATION: emplacement où vous créez le Certificat géré par Google.

Pour créer un certificat géré par Google avec un nom de domaine générique, utilisez la classe la commande suivante. A Le certificat de nom de domaine générique couvre tous les sous-domaines de premier niveau d'un domaine donné.

gcloud certificate-manager certificates create CERTIFICATE_NAME \
   --domains="*.DOMAIN_NAME,DOMAIN_NAME" \
   --dns-authorizations=AUTHORIZATION_NAME \
   --location=LOCATION

Remplacez les éléments suivants :

  • CERTIFICATE_NAME: nom unique du certificat.
  • DOMAIN_NAME: domaine cible du certificat La Le préfixe *. signifie un certificat générique. Le nom de domaine doit être un nom de domaine complet, tel que myorg.example.com.
  • AUTHORIZATION_NAME: nom de l'autorisation DNS que vous avez créé pour ce certificat.
  • LOCATION: emplacement où vous créez le Certificat géré par Google.

Vérifier que le certificat est actif

Utilisez la commande suivante pour vérifier que le certificat lui-même est actif avant de le déployer sur votre équilibreur de charge. Un délai de plusieurs heures peut être nécessaire l'état du certificat à ACTIVE.

gcloud certificate-manager certificates describe CERTIFICATE_NAME \
    --location=LOCATION

Remplacez les éléments suivants :

  • CERTIFICATE_NAME: nom unique du certificat.
  • LOCATION: emplacement où vous avez créé le certificat géré par Google.

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/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'

Déployer le certificat sur un équilibreur de charge

Pour déployer le certificat géré par Google sur un équilibreur de charge, effectuez la les étapes suivantes.

Avant de réaliser les tâches de cette section, assurez-vous d'avoir terminé les tâches répertoriées dans le Créer un certificat régional géré par Google .

Pour déployer un certificat régional géré par Google sur un équilibreur de charge d'application externe régional ou équilibreur de charge d'application interne régional, déployez le certificat en l'associant directement avec un proxy cible.

Associer le certificat directement au proxy cible

Pour associer le certificat directement au proxy, exécutez la commande suivante:

gcloud compute target-https-proxies update PROXY_NAME \
    --url-map=URL_MAP \
    --region=REGION \
    --certificate-manager-certificates=CERTIFICATE_NAME

Remplacez les éléments suivants :

  • PROXY_NAME: nom unique du proxy.
  • URL_MAP: nom du mappage d'URL que vous avez créé lorsque vous avez créé l'équilibreur de charge.
  • REGION: région dans laquelle créer le proxy cible HTTPS.
  • CERTIFICATE_NAME: nom du certificat.

Effectuer un nettoyage

Pour annuler les modifications que vous avez apportées dans ce tutoriel, procédez comme suit : étapes:

  1. Supprimez le certificat géré par Google:
    gcloud certificate-manager certificates delete CERTIFICATE_NAME
       --location=LOCATION
    
    Remplacez les éléments suivants:
  • CERTIFICATE_NAME: nom du certificat.
  • LOCATION: emplacement où vous avez créé le certificat géré par Google.
  1. Supprimez l'autorisation DNS:
    gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME
       --location=LOCATION
    
    Remplacez les éléments suivants:
  • AUTHORIZATION_NAME: nom de l'autorisation DNS.
  • LOCATION: emplacement où vous avez créé l'autorisation DNS.

Étape suivante