Créer une instance de VM avec un type de machine personnalisé

Compute Engine fournit des types de machines prédéfinis qui permettent de créer une instance. Ces types ont des quantités prédéfinies de processeurs virtuels et de mémoire. Ils sont facturés à un prix fixe comme décrit dans la page des tarifs.

Si ces types de machines prédéfinis ne correspondent pas à vos besoins, vous pouvez créer une instance avec des paramètres matériels virtualisés personnalisés. Plus précisément, vous pouvez créer une instance avec un nombre personnalisé de processeurs virtuels et la quantité de mémoire de votre choix. Vous disposez ainsi véritablement d'un type de machine personnalisé. Les types de machines personnalisés ne sont disponibles que pour les types de machines à usage général. En d'autres termes, lorsque vous créez un type de machine personnalisé, vous déployez en fait un type de machine personnalisé de la famille de types de machines N1 ou N2.

Les types de machines personnalisés conviennent parfaitement aux scénarios suivants :

  • Charges de travail qui ne conviennent pas aux types de machines prédéfinis disponibles
  • Charges de travail qui nécessitent davantage de puissance de traitement ou de mémoire, sans pour autant nécessiter toutes les mises à niveau fournies par le type de machine de niveau supérieur

Avant de commencer

Spécifications

Général

  • La mémoire totale pour un type de machine personnalisé doit être un multiple de 256 Mo. Par exemple, 6,9 Go n'est pas possible, mais 6,75 Go et 7 Go le sont.

  • Au-dessus de 1, le nombre de processeurs virtuels de l'instance doit être pair, par exemple 2, 4, 6, 8, 10, etc.

  • Les instances avec des types de machines personnalisés ont les mêmes limitations de capacité pour les disques persistants que les instances avec des types de machines prédéfinis.

  • Les types de machines personnalisés sont soumis aux mêmes limites de capacité de disque persistant que les types de machines à usage général. Actuellement, la taille maximale totale du disque persistant pour chaque type de machine par instance est de 257 To et le nombre maximal de disques persistants est de 128.

Types de machines personnalisés N1

  • Le nombre maximal de processeurs virtuels autorisé pour un type de machine personnalisé est déterminé par la famille de types de machines que vous choisissez. Pour les types de machines N1 :

    • Si vous procédez au déploiement dans une zone où la plate-forme de processeur Skylake est disponible, vous pouvez créer des types de machines personnalisés comportant jusqu'à 96 processeurs virtuels.
    • Si vous procédez au déploiement dans des zones où les plates-formes de processeur Broadwell, Haswell ou Ivy Bridge sont disponibles, vous pouvez déployer des types de machines personnalisés comportant jusqu'à 64 processeurs virtuels.

    Pour savoir quelles plates-formes sont disponibles dans chaque zone, consultez le tableau des régions et des zones.

  • Par défaut, la quantité de mémoire par processeur virtuel que vous pouvez sélectionner pour un type de machine personnalisé est déterminée par la famille de types de machines. Pour les types de machines N1, sélectionnez entre 0,9 Go et 6,5 Go (inclus) par processeur virtuel. Il est possible d'augmenter la quantité de mémoire en activant l'extension de mémoire.

Exemples de types de machines non valides

  • 1 processeur virtuel, 0,2 Go de mémoire totale. Non valide, car la mémoire totale est inférieure au minimum de 0,9 Go pour un type de machine N1.
  • 1 processeur virtuel, 0,9 Go de mémoire totale. Non valide, car la mémoire totale doit être un multiple de 256 Mo. Pour 1 processeur virtuel, utilisez un minimum de 1 024 Mo de mémoire.

Exemples de types de machines valides

  • 32 processeurs virtuels, 29 Go de mémoire totale. Valide, car le nombre total de processeurs virtuels est pair et la mémoire totale est un multiple de 256 Mo. La quantité de mémoire par processeur virtuel est de 0,9 Go, ce qui satisfait aux conditions minimales requises.
  • 1 processeur virtuel, 1 Go de mémoire totale. Valide, car ce type de machine a un processeur virtuel, ce qui correspond à la valeur minimale, et la mémoire totale est un multiple de 256 Mo. La quantité de mémoire par processeur virtuel se situe également dans la plage acceptable de 0,9 Go à 6,5 Go par processeur virtuel.

Types de machines personnalisés N2

  • Le nombre maximal de processeurs virtuels autorisé pour un type de machine personnalisé est déterminé par la famille de types de machines que vous choisissez. Pour les types de machines N2, qui ne sont compatibles qu'avec la plate-forme Cascade Lake, vous pouvez déployer des types de machines personnalisés comportant entre 2 et 80 processeurs virtuels.

  • Les machines N2 ne sont disponibles que dans certaines zones. Pour en savoir plus, consultez la page régions et zones.

  • Par défaut, la quantité de mémoire par processeur virtuel que vous pouvez sélectionner pour un type de machine personnalisé est déterminée par la famille de types de machines. Pour les types de machines N2, sélectionnez entre 0,5 Go et 8,0 Go (inclus) par processeur virtuel. Il est possible d'augmenter la quantité de mémoire en activant l'extension de mémoire.

  • Si le nombre de processeurs virtuels de l'instance est supérieur ou égal à 32, il doit s'agir d'un multiple de 4. Ainsi, 32, 36 et 40 sont des nombres de processeurs virtuels valides, mais 38 ne l'est pas.

Exemples de types de machines non valides

  • 2 processeurs virtuels, 0,8 Go de mémoire totale. Non valide, car la mémoire totale est inférieure au minimum de 0,5 Go pour un type de machine N2.
  • 34 processeurs virtuels, 34 Go de mémoire totale. Non valide, car le nombre total de processeurs virtuels n'est pas divisible par 4.
  • 1 processeur virtuel, 1 024 Mo de mémoire. Non valide, car le nombre de processeurs virtuels est trop faible. Les types de machines personnalisés N2 nécessitent au minimum 2 processeurs virtuels.

Exemples de types de machines valides

  • 36 processeurs virtuels, 18 Go de mémoire totale. Valide, car le nombre total de processeurs virtuels est pair et la mémoire totale est un multiple de 256 Mo. La quantité de mémoire par processeur virtuel est de 0,5 Go, ce qui satisfait aux conditions minimales requises. Étant donné que le nombre de processeurs virtuels est supérieur à 32, il doit être divisible par 4.
  • 2 processeurs virtuels, 7 Go de mémoire totale. Valide, car ce type de machine dispose de deux processeurs virtuels, ce qui correspond à la valeur minimale, et la mémoire totale est un multiple de 256 Mo. La quantité de mémoire par processeur virtuel se situe également dans la plage acceptable de 0,5 Go à 8 Go par processeur virtuel.

Tarifs

Pour les types de machines personnalisés, Google facture en fonction du nombre de processeurs virtuels et des heures de mémoire utilisées par l'instance. Il s'agit d'un mode de facturation différent de celui des types de machines prédéfinis. Par conséquent, nous vous recommandons de consulter la page Tarifs avant de créer un type de machine personnalisé.

Les instances qui exécutent un type de machine personnalisé sont soumises à la même facturation minimale à la minute que toute autre instance, mais les remises automatiques proportionnelles à une utilisation soutenue sont calculées différemment pour les types de machines personnalisés. Pour plus d'informations, consultez la section consacrée aux remises automatiques proportionnelles à une utilisation soutenue pour les types de machines personnalisés.

Exprimer la mémoire en Go ou en Mo

Pour les outils et la documentation de Google Cloud Platform, la mémoire du type de machine est calculée en gigaoctets (Go), 1 Go correspondant à 230 octets. Cette unité de mesure est parfois appelée gibioctet (Gio). Lors de la conversion de la mémoire du Go au Mo, 1 Go = 1024 Mo.

Dans l'API, vous devez toujours indiquer la mémoire en Mo. Si vous utilisez l'outil de ligne de commande gcloudgcloud, il est possible d'indiquer la mémoire totale d'une instance en Go ou en Mo. Cependant, l'outil gcloud s'attend à ce que la valeur de la mémoire soit un entier. Vous ne pouvez donc pas spécifier de valeur flottante. Par exemple, pour exprimer 5,75 Go, convertissez plutôt 5,75 Go en Mo. Dans ce cas, 5,75 Go équivalent à 5 888 Mo.

Créer une instance avec un type de machine personnalisé

Avant de créer une instance, veillez à lire et à bien comprendre les spécifications qui s'appliquent à la création d'un type de machine personnalisé.

Console

  1. Accédez à la page "Créer une instance" de la console Google Cloud Platform.

    Accéder à la page Créer une instance

  2. Sélectionnez la zone dans laquelle vous souhaitez héberger cette instance. Cela filtrera également la liste des types de machines sur les seuls types disponibles dans cette zone.
  3. Sous Configuration de la machine, sélectionnez Usage général.
  4. Dans la liste déroulante Génération, sélectionnez Première pour les types de machines personnalisés N1 ou Deuxième pour les types de machines personnalisés N2.
  5. Dans la liste déroulante Type de machine, sélectionnez Personnalisé.
  6. Faites glisser les curseurs pour choisir le nombre de processeurs virtuels et la quantité de mémoire de l'instance. La console indique une estimation du coût de l'instance lorsque vous modifiez le nombre de processeurs virtuels et la mémoire.
  7. Enregistrez vos modifications, puis poursuivez le processus de création.

gcloud

La commande gcloud pour les types de machines personnalisés diffère légèrement en fonction de la famille de types de machines.

Pour les types de machines N1, exécutez la commande gcloud compute instances create et incluez l'une des options suivantes :

  • Les indicateurs --custom-cpu et --custom-memory.
  • L'indicateur --machine-type=custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB].

Par exemple, la commande suivante crée une instance exécutant un type de machine N1 doté de 4 processeurs virtuels et de 5 Go de mémoire totale :

gcloud compute instances create example-instance --custom-cpu 4 --custom-memory 5

Pour les types de machines N2, exécutez la commande gcloud beta compute instances create et incluez l'une des options suivantes :

  • Les indicateurs --custom-cpu, --custom-memory et --custom-vm-type
  • L'indicateur --machine-type=n2-custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB]

Lorsque vous utilisez l'indicateur --custom-memory, spécifiez la quantité totale de mémoire en Go ou en Mo. La propriété doit être un entier. Par conséquent, si vous souhaitez spécifier la quantité de mémoire par incréments de 0,25 Go, convertissez cette valeur en Mo.

Pour spécifier une valeur incrémentielle, telle que 2,5 Go de mémoire, convertissez la valeur en Mo et indiquez la valeur suivie du suffixe Mo. L'exemple suivant crée une instance exécutant un type de machine N2 :

gcloud beta compute instances create example-instance \
    --custom-cpu 6 --custom-memory 3072MB --custom-vm-type n2

Vous pouvez également spécifier un type de machine personnalisé en utilisant le format suivant :

gcloud beta compute instances create example-instance \
    --machine-type n2-custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB]

Où :

  • [NUMBER_OF_CPUS] correspond au nombre de processeurs souhaités.
  • [NUMBER_OF_MB] correspond à la quantité de mémoire que vous souhaitez, exprimée en Mo.

Exemple :

gcloud compute instances create example-instance --machine-type n2-custom-6-3072

API

Dans l'API, créez votre requête de création d'instance normalement, mais utilisez l'un des formats suivants lorsque vous indiquez la valeur machineType. Remplacez NUMBER_OF_CPUS par le nombre de processeurs et AMOUNT_OF_MEMORY par la quantité de mémoire de votre choix. Indiquez la mémoire en Mo.

  • Pour les types de machines N1, utilisez :

    zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY_MB]
    
  • Pour les types de machines N2, utilisez :

    zones/[ZONE]/machineTypes/n2-custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY_MB]
    

Par exemple, l'URL suivante crée une instance avec 4 processeurs virtuels et 5 Go (5 120 Mo) de mémoire :

zones/us-central1-f/machineTypes/custom-4-5120

Vous pouvez également créer des instances préemptives avec un type de machine personnalisé ou créer des groupes d'instances avec un type de machine personnalisé spécifié aux formats décrits ci-dessus.

Ajouter une extension de mémoire à un type de machine

Chaque type de machine peut disposer par défaut d'une quantité de mémoire spécifique. Par exemple, si vous créez une VM avec un type de machine personnalisé N1, la VM peut disposer de 6,5 Go de mémoire maximum par processeur virtuel. Pour les types de machines personnalisés N2, cette valeur peut atteindre 8 Go par processeur virtuel.

Pour certaines charges de travail, cette quantité de mémoire peut ne pas être suffisante. Moyennant un coût supplémentaire, vous pouvez obtenir plus de mémoire par processeur virtuel au-delà de la limite par défaut. C'est ce que l'on appelle une extension de mémoire.

Avec une extension de mémoire, vous pouvez ajouter de la mémoire à un type de machine sans limitation par processeur virtuel. Vous pouvez ajouter une extension de mémoire jusqu'à certaines limites en fonction du type de machine :

  • Pour les types de machines N1, vous pouvez ajouter au total jusqu'à 624 Go de mémoire par VM.
  • Pour les types de machines N2, vous pouvez ajouter au total jusqu'à 640 Go de mémoire par VM.

Si vous avez besoin de plus de mémoire, vous devez utiliser l'un des types de machines à méga-mémoire, ce qui vous permet de créer des instances totalisant 1,4 To par instance de VM.

Déterminer si vous avez besoin d'une extension de mémoire

Certaines charges de travail nécessitent plus que la quantité de mémoire par défaut par processeur virtuel pour que des résultats optimaux puissent être obtenus. Les charges de travail basées sur l'analyse en mémoire et les bases de données hautes performances (y compris les bases de données relationnelles et NoSQL telles que MS SQL Server, MongoDB et MemcacheD/Redis) entrent dans cette catégorie. Avec l'octroi de licences de systèmes d'exploitation et de piles logicielles basé sur les processeurs virtuels, il est également plus difficile de sélectionner une configuration de mémoire de VM optimale avec les types de machines prédéfinis. Avec une extension de mémoire, vous pouvez ajouter autant de mémoire que nécessaire afin d'obtenir des performances optimales pour vos instances de VM au meilleur prix.

Tarifs

Pour les types de machines personnalisés, les tarifs des types de machines personnalisés N1 ou les tarifs des types de machines personnalisés N2 s'appliquent jusqu'à la quantité de mémoire par défaut par processeur virtuel. Pour une quantité de mémoire supérieure à celle par défaut, Compute Engine facture l'extension de mémoire en fonction des tarifs d'extension de mémoire personnalisée N1 ou des tarifs d'extension de mémoire personnalisée N2. Notez que le prix d'une extension de mémoire est différent de celui de la mémoire applicable au-dessous du seuil par défaut.

Les prix de l'extension de mémoire varient selon les régions. Les instances exécutées à l'aide d'une extension de mémoire sont soumises à la même facturation minimale à la minute que toutes les autres instances. L'extension de mémoire est également éligible à des remises automatiques proportionnelles à une utilisation soutenue. Pour en savoir plus, consultez la page Remises automatiques proportionnelles à une utilisation soutenue pour les types de machines personnalisés.

Pour plus d'informations sur la tarification, consultez la section Tarifs de l'extension de mémoire personnalisée.

Limites

  • Vous ne pouvez ajouter une extension de mémoire qu'aux types de machines personnalisés. Les types de machines prédéfinis ne sont pas pris en charge.
  • Vous pouvez ajouter autant de mémoire par processeur virtuel que vous le souhaitez, mais en respectant une quantité maximale par instance de VM. Pour les types de machines N1, vous pouvez ajouter jusqu'à 624 Go de mémoire. Pour les types de machines N2, vous pouvez ajouter jusqu'à 640 Go de mémoire.
  • Les types de machines N2 ne sont disponibles que dans certaines zones :
    • us-central1-a et us-central1-c
    • europe-west4-b et europe-west4-c
  • Vous devez spécifier la mémoire par incréments de 256 Mo.
  • L'extension de mémoire n'est pas éligible aux remises sur engagement d'utilisation.

Ajouter une extension de mémoire lors de la création d'une instance

Pour créer une instance de VM avec une extension de mémoire, suivez les instructions ci-dessous.

Console

  1. Dans la console Google Cloud Platform, accédez à la page "Créer une instance".

    Accéder à la page Créer une instance

  2. Sélectionnez la zone dans laquelle vous souhaitez héberger cette instance. Cela filtrera également la liste des types de machines sur les seuls types disponibles dans cette zone.
  3. Sous Configuration de la machine, sélectionnez Usage général.
  4. Dans la liste déroulante Génération, sélectionnez Première pour les types de machines personnalisés N1 ou Deuxième pour les types de machines personnalisés N2.
  5. Dans la liste déroulante Type de machine, sélectionnez Personnalisé.
  6. Sélectionnez la quantité de mémoire de votre choix. Pour ajouter une extension de mémoire, cochez l'option Plus de mémoire. La plage des quantités de mémoire sélectionnables s'ouvre.
  7. Continuez le processus de création de l'instance.

gcloud

Pour les types de machines N1, utilisez l'outil gcloud et la sous-commande instances create, suivie de l'indicateur --custom-extensions, pour activer l'extension de mémoire. Ensuite, spécifiez la mémoire totale de votre choix avec le paramètre --custom- memory.

gcloud compute instances create example-instance  \
    --custom-extensions --custom-cpu 2 --custom-memory 15

Pour les types de machines N2, exécutez la commande gcloud beta avec la sous-commande instances create. Définissez les indicateurs --custom-extensions, --custom-cpu et --custom-memory, suivis de l'indicateur --custom-vm-type, pour spécifier le type de machine N2 :

gcloud beta compute instances create example-instance \
    --custom-extensions --custom-cpu 2 --custom-memory 16 \
    --custom-vm-type n2

API

Dans l'API, créez votre requête de création d'instance normalement, mais utilisez l'un des formats suivants lorsque vous indiquez la valeur machineType :

  • Pour les types de machines N1, utilisez :

    zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    
  • Pour les types de machines N2, utilisez :

    zones/[ZONE]/machineTypes/n2-custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    

Où :

  • [NUMBER_OF_CPUS] est le nombre de processeurs virtuels ;
  • [AMOUNT_OF_MEMORY] est la quantité de mémoire de votre choix. Indiquez la quantité de mémoire en Mo.

Par exemple, ce qui suit spécifie un type de machine N2 doté de 2 processeurs virtuels et de 20 Go de mémoire :

zones/[ZONE]/machineTypes/n2-custom-2-20480-ext

Ajouter une extension de mémoire à une instance de VM existante

Pour ajouter de la mémoire à une instance existante, commencez par arrêter l'instance. Une fois l'instance arrêtée, suivez les instructions ci-dessous pour ajouter de la mémoire à la VM.

Console

  1. Accédez à la page des instances de VM.

    Accéder à la page Instances de VM

  2. Choisissez l'instance arrêtée que vous souhaitez modifier dans la liste des instances.
  3. Cliquez sur Modifier en haut de la page.
  4. Sous Configuration de la machine, sélectionnez Usage général.
  5. Dans la liste déroulante Type de machine, sélectionnez Personnalisé.
  6. Sélectionnez le nombre de processeurs virtuels de votre choix.
  7. Sélectionnez la quantité de mémoire de votre choix. Pour ajouter une extension de mémoire, cochez l'option Plus de mémoire. La plage des quantités de mémoire sélectionnables s'ouvre.
  8. Enregistrez les modifications.

gcloud

À l'aide de l'outil de ligne de commande gcloud, utilisez la sous-commande instances set-machine-type, suivie de l'indicateur --custom-extensions associé au paramètre --custom-memory existant. Pour passer des types de machines N1 aux types de machines N2 et inversement, spécifiez l'indicateur --custom-vm-type.

Par exemple, pour ajouter 2 Go de mémoire à une instance nommée example-instance, qui a actuellement un type de machine N1 doté de 2 processeurs virtuels et de 13 Go de mémoire, dans la zone us-central1-b, exécutez la commande suivante :

gcloud compute instances set-machine-type example-instance \
   --zone us-central1-b --custom-cpu 2 \
   --custom-memory 15 --custom-extensions

Pour basculer entre les types de machines N1 et N2, exécutez la commande suivante :

gcloud beta compute instances set-machine-type example-instance \
   --zone us-central1-a  --custom-extensions --custom-cpu 2 \
   --custom-memory 16 --custom-vm-type n2

API

Dans l'API, envoyez une requête POST à la méthode setMachineType en indiquant le type de machine de votre choix dans le corps de la requête. Utilisez l'un des formats suivants :

  • Pour les types de machines N1, utilisez :

    zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    
  • Pour les types de machines N2, utilisez :

    zones/[ZONE]/machineTypes/n2-custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    

Où :

  • [NUMBER_OF_CPUS] est le nombre de processeurs virtuels ;
  • [AMOUNT_OF_MEMORY] est la quantité de mémoire de votre choix. Indiquez la quantité de mémoire en Mo.

Par exemple, la requête suivante utilise un type de machine doté de 2 processeurs virtuels et de 15 Go de mémoire :

zones/[ZONE]/machineTypes/custom-2-15360-ext

Exemple :

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setMachineType

{
    machineType: "zones/us-central1-f/machineTypes/custom-2-15360-ext"
}

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine