Utiliser vos propres licences (Bring your own license)

Cette page explique comment importer vos propres licences (BYOL) dans Google Cloud. Avant d'importer des images avec des licences existantes, lisez la présentation de la section Utiliser vos propres licences (Bring You Own License, BYOL).

Pour importer des licences de cœur physique ou de processeur physique nécessitant du matériel dédié dans Google Cloud, utilisez des nœuds à locataire unique. Avec les nœuds à locataire unique, vos VM s'exécutent sur du matériel dédié à votre projet, et l'utilisation du cœur physique est limitée.

Pour importer des images avec des licences existantes, procédez comme suit :

  1. Importer un fichier de disque virtuel et créer une image
  2. Créer un modèle de nœud à locataire unique
  3. Créer un groupe de nœuds à locataire unique basé sur le modèle de nœud
  4. Provisionner une VM sur le groupe de nœuds avec votre fichier de disque virtuel importé

Si vous avez besoin d'aide ou si vous avez des questions concernant les licences, contactez votre revendeur de licences. Si vous avez besoin d'aide ou si vous avez des questions concernant l'importation d'images avec des licences existantes dans Google Cloud, contactez l'assistance Google Cloud.

Avant de commencer

  1. Demander un quota de processeurs supplémentaire : assurez-vous de disposer d'un quota de processeurs suffisant pour prendre en charge votre groupe de nœuds. Vous devez demander un quota supplémentaire pour chaque type de nœud et, si vous achetez des remises sur engagement d'utilisation, demander une augmentation du quota pour les processeurs compris dans l'engagement. En fonction de votre configuration et des besoins de vos charges de travail, vous devrez peut-être également demander un ajustement de quota pour les VM ou les adresses IP.

  2. Activer l'API Cloud Build : pour importer votre image de système d'exploitation, vous devez activer l'API Cloud Build. Lorsque vous activez cette API, Compute Engine attribue à votre projet les rôles IAM appropriés afin que vous puissiez importer des images dans votre projet. Pour répertorier les rôles attribués à votre projet, utilisez la commande gcloud projects get-iam-policy. Pour en savoir plus sur l'attribution de rôles à votre projet, consultez la page Gérer l'accès aux ressources Compute Engine.

  3. Activer l'API Cloud Logging : activez cette API si vos accords de licence vous obligent à suivre l'utilisation du serveur physique. Lorsque cette API est activée, vous pouvez importer et afficher des informations d'utilisation du serveur, telles que le nombre de cœurs physiques, à l'aide de BigQuery, que nous vous recommandons vivement. Pour savoir comment déterminer le nombre de cœurs physiques, consultez la section Déterminer l'utilisation du serveur.

Importer un fichier de disque virtuel et créer une image

Avant d'importer le fichier de disque virtuel pour votre VM, vérifiez qu'il ne présente pas d'incompatibilité. Pour cela, téléchargez et exécutez l'outil de vérification préalable depuis votre VM.

Pour démarrer une VM avec votre propre licence, importez un disque virtuel avec le système d'exploitation que vous souhaitez utiliser. Vous pouvez importer votre fichier à l'aide de l'outil de ligne de commande gcloud, qui permet d'importer des disques virtuels à partir de buckets Cloud Storage et de postes de travail locaux.

Lors de l'importation d'un fichier de disque virtuel, l'outil d'importation d'images importe votre fichier image dans Cloud Storage et, si nécessaire, crée un bucket Cloud Storage. Ensuite, l'outil d'importation copie le fichier dans Compute Engine et crée une image à partir du fichier de disque virtuel.

Si vous hébergez le fichier de disque virtuel sur votre poste de travail local, l'outil d'importation d'images importe le fichier dans un bucket Cloud Storage, puis importe l'image dans Compute Engine.

Pour obtenir une explication complète de l'outil d'importation d'images, consultez la page Importer des disques virtuels.

gcloud

  1. Exécutez la commande suivante pour importer votre fichier de disque virtuel et créer une image :

    gcloud compute images import image-name  --source-file file-name  --os os
    

    Remplacez les éléments suivants :

    • image-name : nom à attribuer à l'image.

    • file-name : fichier de disque virtuel hébergé localement ou stocké dans Cloud Storage.

      • Si votre disque virtuel est un fichier local : utilisez un chemin d'accès absolu ou relatif. Dans ce cas, l'opération d'importation peut prendre plusieurs dizaines de minutes pour s'exécuter en fonction de la taille de votre disque virtuel et de la vitesse de votre connexion réseau.

      • Si votre fichier de disque virtuel est stocké dans Cloud Storage : spécifiez le chemin d'accès complet du fichier au format gs://bucket-name/object-name. Le fichier doit exister dans un bucket de stockage dans le même projet que celui utilisé pour le processus d'importation.

    • os : système d'exploitation de source-file. Doit être l'un des éléments suivants :

      • rhel-6-byol
      • rhel-7-byol
      • rhel-8-byol
      • sles-12-byol
      • sles-15-byol
      • windows-2012-byol
      • windows-2012r2-byol
      • windows-2016-byol
      • windows-2019-byol
      • windows-7-x64-byol
      • windows-7-x86-byol
      • windows-8-x64-byol
      • windows-8-x86-byol
      • windows-10-x64-byol
      • windows-10-x86-byol
  2. Après avoir créé l'image, vous pouvez la partager avec des utilisateurs extérieurs à votre projet ou à votre organisation :

    gcloud projects add-iam-policy-binding project-id  --member user:user-email  --role roles/compute.imageUser
    

    Remplacez les éléments suivants :

    • project-id : ID du projet contenant l'image à laquelle accorder l'accès.
    • user-email : adresse e-mail de l'utilisateur avec lequel partager l'image.

    Pour en savoir plus sur l'accès aux images partagées, consultez la section Accéder aux images partagées.

  3. Le stockage des fichiers dans Cloud Storage et des images dans Compute Engine entraîne des frais. Après avoir vérifié que l'image est importée et démarrée correctement en tant que VM, vous pouvez supprimer le fichier de disque virtuel dans Cloud Storage.

Créer un modèle de nœud à locataire unique

Créez un modèle de nœud sur lequel baser votre groupe de nœuds.

gcloud

gcloud compute sole-tenancy node-templates create template-name --node-type node-type --region region --server-binding server-binding

Remplacez les éléments suivants :

  • template-name : nom du modèle de nœud que vous créez.
  • node-type : type de nœud pour ce modèle. Par exemple, sélectionnez le type de nœud n2-node-80-640 pour créer un nœud disposant de 80 processeurs virtuels et de 624 Go de mémoire.

  • region : région dans laquelle le modèle de nœud sera créé.

  • server-binding : règle de liaison du serveur pour les nœuds utilisant ce modèle. Définissez l'une des options suivantes en fonction de votre type de licence :

    • restart-node-on-any-server
    • restart-node-on-minimal-servers

API

POST https://www.googleapis.com/compute/beta/projects/project-id/regions/region/nodeTemplates

{
   "name": "template-name",
   "nodeType": "node-type"
   "nodeAffinityLabels": {
      "key": "value"
   },
   "serverBinding":
   {
     "type": "server-binding"
   }
}

Remplacez les éléments suivants :

  • project-id : ID de votre projet.
  • template-name : nom du modèle de nœud que vous créez.
  • node-type : type de nœud pour ce modèle. Par exemple, sélectionnez le type de nœud n2-node-80-640 pour créer un nœud disposant de 80 processeurs virtuels et de 624 Go de mémoire.

  • key:value : liste de libellés d'affinité séparés par une virgule. Notez que les libellés d'affinité ne sont définis que lorsque le modèle de nœud est créé.

  • region : région dans laquelle le modèle de nœud sera créé.

  • server-binding : règle de liaison du serveur pour les nœuds utilisant ce modèle. Définissez l'une des options suivantes en fonction de votre type de licence :

    • RESTART_NODE_ON_ANY_SERVER
    • RESTART_NODE_ON_MINIMAL_SERVER

Créer un groupe de nœuds à partir d'un modèle de nœud

Créez un groupe de nœuds à partir d'un modèle de nœud créé précédemment et spécifiez la stratégie de maintenance de la VM.

gcloud

gcloud beta compute sole-tenancy node-groups create group-name  --node-template template-name  --target-size group-size  --zone zone  --maintenance-policy maintenance-policy

Remplacez les éléments suivants :

  • group-name : le nom du groupe de nœuds à créer.
  • template-name : nom du modèle de nœud à partir duquel le groupe de nœuds sera créé.
  • group-size : taille initiale du groupe de nœuds.
  • zone : zone dans laquelle le groupe de nœuds sera créé.
  • maintenance-policy : stratégie de maintenance du groupe de nœuds. Définissez l'une des options suivantes :
    • migrate-within-node-group
    • restart-in-place
    • default

API

POST https://www.googleapis.com/compute/beta/projects/project-id/zones/zone/nodeGroups?initialNodeCount=target-size

{
  "nodeTemplate": "/regions/region/nodeTemplates/template-name",
  "name": "group-name",
  "maintenancePolicy": "maintenance-policy"
}

Remplacez les éléments suivants :

  • project-id : ID du projet dans lequel le groupe de nœuds sera créé.
  • zone : zone dans laquelle le groupe de nœuds sera créé. Doit se trouver dans la même région que le modèle de nœud que vous utilisez.
  • target-size : nombre de nœuds à créer dans le groupe.
  • region : région où se trouve le modèle de nœud.
  • template-name : nom du modèle de nœud que vous souhaitez utiliser pour créer ce groupe.
  • group-name : nom du nouveau groupe de nœuds.
  • maintenance-policy : stratégie de maintenance du groupe de nœuds. Définissez l'une des options suivantes :
    • MIGRATE_WITHIN_NODE_GROUP
    • RESTART_IN_PLACE
    • DEFAULT

Provisionner une VM sur le groupe de nœuds

Provisionnez une VM sur le groupe de nœuds et spécifiez le comportement de redémarrage de la VM. Si vous avez précédemment demandé à vos groupes de nœuds de redémarrer des VM hébergées au sein d'un même groupe de nœuds lors d'un événement de maintenance, spécifiez que la nouvelle VM que vous créerez sur ce groupe de nœuds effectue l'une des opérations suivantes :

  • Migration après un redémarrage en raison d'un événement de maintenance.
  • Arrêt et redémarrage sur le même hôte. Si le même hôte n'est pas disponible, un nouveau serveur est provisionné et l'ID physique de l'hôte précédent n'est pas réutilisé.

gcloud

gcloud compute instances create vm-name  --custom-cpu num-cpus  --custom-memory gb-memory  --image image-name  --zone zone  --node-group group-name  restart-behavior  --maintenance-policy maintenance-policy

Remplacez les éléments suivants :

  • vm-name : nom de la VM que vous créez.
  • num-cpus : nombre de processeurs sur la nouvelle VM.
  • gb-memory : quantité de mémoire en Go sur la nouvelle VM.
  • image-name : nom de l'image à partir de laquelle cette VM sera créée.
  • zone : zone dans laquelle la VM sera créée.
  • group-name : nom du groupe de nœuds sur lequel la VM sera provisionnée.
  • restart-behavior : comportement de redémarrage de cette VM. Spécifiez l'une des options suivantes :
    • --restart-on-failure
    • --no-restart-on-failure
  • maintenance-policy : comportement de la VM lors d'événements de maintenance. Spécifiez l'une des options suivantes en fonction de votre scénario :
    • MIGRATE
    • TERMINATE

API

POST https://www.googleapis.com/compute/v1/projects/project-id/zones/vm-zone/instances

{
  "machineType": "/zones/machine-type-zone/machineTypes/custom-num-cpus-mb-memory",
  "name": "vm-name",
  "scheduling": {
    "nodeAffinities": [
      {
        "key": "node-group",
        "operator": "IN",
        "values": [
        "group-name"
        ]
      }
    ],
    "onHostMaintenance": "maintenance-policy",
    "automaticRestart": "restart-behavior"
  },
  "networkInterfaces": [
    {
     "network": "/global/networks/network",
     "subnetwork": "/regions/region/subnetworks/subnetwork"
    }
  ],
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "/projects/image-project/global/images/family/image-family"
       }
    }
  ]
}

Remplacez les éléments suivants :

  • project-id : ID du projet dans lequel la VM sera créée.
  • vm-zone : zone dans laquelle la VM sera créée.
  • machine-type-zone : zone contenant le type de machine.
  • num-cpus : nombre de processeurs sur la nouvelle VM.
  • mb-memory : quantité de mémoire en Mo sur la nouvelle VM.
  • vm-name : nom de la nouvelle VM.
  • group-name : nom du groupe de nœuds sur lequel cette VM sera créée.
  • maintenance-policy : comportement de maintenance de cette VM. Définissez l'une des options suivantes en fonction de votre scénario :
    • MIGRATE
    • TERMINATE
  • restart-behavior : comportement de redémarrage de cette VM. La valeur par défaut est true.
  • network : nom du réseau auquel connecter votre VM.
  • subnetwork : nom du sous-réseau auquel connecter la VM.
  • image-project : projet d'image contenant l'image source.
  • image-family : famille d'images de l'image source.

Étapes suivantes