Compute Engine propose des types de machines prédéfinis que vous pouvez utiliser lorsque vous créez une instance de VM. Un type de machine prédéfini comporte un nombre de vCPU et une quantité de mémoire prédéfinis, et son prix est fixe. Si les VM prédéfinies ne répondent pas à vos besoins, vous pouvez créer une instance de VM avec des paramètres matériels virtualisés personnalisés. Plus précisément, vous pouvez créer une instance de VM 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 sont disponibles pour les éléments suivants :
- Famille de machines à usage général pour les séries de machines N et E uniquement. Vous pouvez créer une VM personnalisée sur les séries de machines N4, N4D, N4A, N2, N2D, E2 ou N1.
- Famille de machines optimisées pour les accélérateurs pour la série de machines G2 uniquement.
Les VM personnalisées sont idéales dans les scénarios suivants :
- Charges de travail qui ne sont pas adaptées aux types de VM prédéfinis.
- Charges de travail qui nécessitent davantage de puissance de traitement ou de mémoire, mais qui n'ont pas besoin de toutes les mises à niveau fournies par le type de machine de niveau supérieur.
- Charges de travail dont les coûts de licence logicielle sont calculés par processeur, où vous pouvez personnaliser le nombre de processeurs virtuels pour éviter les coûts de licence pour la puissance de traitement inutilisée ou pour correspondre au nombre de licences logicielles disponibles.
Avant de commencer
- Consultez la documentation sur les familles de machines.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux services et aux API Google Cloud . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud , vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
-
- Définissez une région et une zone par défaut.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour utiliser les exemples Go de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour utiliser les exemples Node.js de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Rôles requis
Pour obtenir les autorisations nécessaires pour créer une VM avec un type de machine personnalisé, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour créer une VM avec un type de machine personnalisé. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer une VM avec un type de machine personnalisé :
-
Pour ajouter une extension de mémoire à une VM existante :
compute.instances.setMachineTypesur la VM -
Pour créer une VM avec un type de machine personnalisé :
compute.instances.createsur le projet- Pour créer la VM à l'aide d'une image personnalisée :
compute.images.useReadOnlysur l'image - Pour créer la VM à l'aide d'un instantané :
compute.snapshots.useReadOnlysur l'instantané - Pour créer la VM à l'aide d'un modèle d'instance :
compute.instanceTemplates.useReadOnlysur le modèle d'instance - Pour attribuer un ancien réseau à la VM :
compute.networks.usesur le projet - Pour spécifier une adresse IP statique pour la VM :
compute.addresses.usesur le projet - Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un ancien réseau :
compute.networks.useExternalIpsur le projet - Pour spécifier un sous-réseau pour la VM :
compute.subnetworks.usesur le projet ou sur le sous-réseau choisi - Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un réseau VPC :
compute.subnetworks.useExternalIpsur le projet ou sur le sous-réseau choisi - Pour définir les métadonnées d'instance de VM pour la VM :
compute.instances.setMetadatasur le projet - Pour définir des tags pour la VM :
compute.instances.setTagssur la VM - Pour définir des étiquettes pour la VM :
compute.instances.setLabelssur la VM - Pour définir un compte de service que doit utiliser la VM :
compute.instances.setServiceAccountsur la VM - Pour créer un disque pour la VM :
compute.disks.createsur le projet - Pour associer un disque existant en mode lecture seule ou en mode lecture/écriture :
compute.disks.usesur le disque - Pour associer un disque existant en mode lecture seule :
compute.disks.useReadOnlysur le disque
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Limites
- Si votre VM dispose de disques SSD locaux, vous ne pouvez pas modifier la configuration des processeurs virtuels et de la mémoire.
L'extension de mémoire est disponible sur les types de machines personnalisés N4, N4A, N4D, N2, N2D et N1. Pour connaître les limites de l'extension de mémoire, consultez Ajouter une extension de mémoire à un type de machine.
Les types de machines prédéfinis, ainsi que les types de machines personnalisés G2 et E2, ne sont pas compatibles avec l'extension de mémoire.
L'extension de mémoire n'est pas éligible aux remises sur engagement d'utilisation basées sur les ressources.
Chaque type de machine possède des plages et des valeurs spécifiques pour les processeurs virtuels et la mémoire, comme indiqué dans le tableau suivant :
| Série de machines | Nombre minimal de vCPU | Nombre maximal de vCPU | vCPU autorisés | Mémoire minimale par vCPU (Go) | Mémoire maximale par vCPU (Go) | Taille de pas (Mo) | Extension de mémoire |
|---|---|---|---|---|---|---|---|
| N4 | 2 | 80 | Tout multiple de 2 | 2 | 8 | 256 | Oui |
| N4D | 2 | 96 | 2, 4, 8, 16, 32, 48, 64, 80, 96 | 0,5 | 8 | 256 | Oui |
| N4A | 1 | 64 | Tous | 2 | 8 | 256 | Oui |
| N2 | 2 | 80 | Multiples de 2 (jusqu'à 32) ou de 4 (de 32 à 80) | 0,5 | 8 | 256 | Oui |
| N2D | 2 | 96 | 2, 4, 8, 16, 32, 48, 64, 80, 96 | 0,5 | 8 | 256 | Oui |
| N1 | 1 | 96 | 1 ou n'importe quel multiple de 2 | 0,9 (1 pour 1 ou 2 vCPU) | 6,5 | 256 | Oui |
| E2 | 2 | 32 | Tout multiple de 2 | 0,5 | 8 | 256 | Non |
| E2 à cœur partagé | 0,25 | 1 | 0.25, 0.5, 1 | 1 au total | 8 (2 au total pour les micro, 4 au total pour les petites, 8 au total pour les moyennes) | 256 | Non |
Exprimer la mémoire en Go ou en Mo
Pour des raisons historiques, Google Cloud les outils et la documentation font référence à la mémoire du type de machine en mégaoctets (Mo) et gigaoctets (Go) décimaux. Toutefois, ces unités représentent des gibioctets (Gio) et des mébioctets (Mio) binaires, où 1 Go correspond à 230 octets, soit 1 024 Mo.
Lorsque vous configurez la mémoire pour un type de machine personnalisé, les exigences et les conversions d'unités dépendent de l'outil que vous utilisez :
- Dans la console Google Cloud , vous spécifiez la mémoire en Go. Par exemple, si votre système nécessite 1 024 Mo de mémoire, sélectionnez 1 Go dans la console Google Cloud .
- Dans l'API Compute Engine, vous devez indiquer la mémoire en Mo sous la forme d'un multiple entier de 256 Mo (ou de 1 024 Mo pour les VM G2). Par exemple, si vous essayez de provisionner 5 Go de mémoire en spécifiant 5 000 Mo dans une requête API, l'API renvoie une erreur, car 5 000 n'est pas un multiple de 256 (5 Go correspond à 5 120 Mo).
- Dans la Google Cloud CLI, vous pouvez indiquer la mémoire totale d'une VM en Go ou en Mo :
- L'option
--custom-memoryest définie par défaut sur Go si vous omettez l'unité. Pour spécifier la mémoire en Mo, vous devez inclure le suffixe d'unitéMB. Par exemple, si vous souhaitez 2 048 Mo (2 Go) de mémoire et que vous spécifiez l'option--custom-memory=2048sans unité, la gcloud CLI demande 2 048 Go de mémoire au lieu de 2 048 Mo. - Les valeurs sans unité transmises à
--custom-memorydoivent être des entiers. Pour exprimer des incréments de 0,25 Go (256 Mo) tels que 5,75 Go, convertissez la valeur en un entier en Mo (--custom-memory=5888MB) ou incluez le suffixe d'unitéGB(--custom-memory=5.75GB). - Avec l'option
--machine-type, vous devez spécifier la mémoire en Mo sous la forme d'un entier sans suffixe d'unité, par exemple--machine-type=n2-custom-2-5120.
- L'option
Tarification des types de machines personnalisés
Compute Engine facture les VM personnalisées en fonction du nombre de processeurs virtuels et d'heures de mémoire utilisées par la VM. Ce modèle de tarification diffère de la façon dont Compute Engine facture les types de machines prédéfinis. Les tarifs à la demande pour les types de machines personnalisés incluent un supplément de 5 % par rapport aux prix à la demande pour les types de machines prédéfinis.
Lorsque vous utilisez un type de machine personnalisé, toute mémoire jusqu'à la quantité par défaut par vCPU est facturée au tarif du type de machine personnalisé de la famille de machines. Les types de machines personnalisés E2 et les types de machines personnalisés à cœur partagé E2 partagent le même schéma de tarification.
Si vous utilisez vos engagements pour exécuter des types de machines personnalisés, Compute Engine applique un supplément de 5 % par rapport aux prix de l'engagement. Compute Engine applique ce supplément pour la partie et la durée de votre engagement pendant lesquels vous exécutez ces VM de types de machines personnalisés.
Pour afficher les informations de tarification par série de machines, consultez Tarifs des instances de VM.
Les VM personnalisées sont soumises à la même facturation minimale à la minute que toute autre instance, mais les remises pour usage soutenu sont calculées différemment pour les types de machines personnalisés. Pour en savoir plus, consultez la section remises pour usage soutenu pour les VM personnalisées.
Tarifs de l'extension de mémoire
Compute Engine facture des frais supplémentaires pour la mémoire au-delà de la plage maximale pour le nombre de processeurs virtuels configurés en tant qu'extension de mémoire, en fonction de la tarification de l'extension de mémoire personnalisée de la famille de machines. Le prix de l'extension de mémoire est supérieur à celui de la mémoire en dessous de la limite maximale.
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 n'est pas éligible aux remises sur engagement d'utilisation basées sur les ressources, mais elle est éligible aux remises sur engagement d'utilisation flexible de Compute et aux remises pour usage soutenu.
Ajouter une extension de mémoire à un type de machine
Chaque série de machines de type de machine personnalisé dispose d'une quantité maximale de RAM par défaut par vCPU. Pour certaines charges de travail, ce maximum par défaut peut ne pas être suffisant par vCPU. Moyennant un coût supplémentaire, vous pouvez obtenir plus de mémoire par vCPU, au-delà de la limite maximale par défaut, jusqu'à la limite de la série de machines. C'est ce qu'on appelle l'extension de mémoire. Le tableau suivant répertorie les limites de vCPU et de mémoire étendue pour chaque série de machines compatible :
| Série de machines | Limite de vCPU | Limite de mémoire |
|---|---|---|
| N4 | 80 | 640 Go |
| N4D | 96 | 768 Go |
| N4A | 64 | 512 Go |
| N2 | 80 | 864 Go |
| N2D | 96 | 768 Go |
| N1 | 96 | 624 Go |
Pour des ratios RAM/vCPU plus élevés, consultez également les types de machines à mémoire optimisée.
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 des bases de données d'analyse hautes performances en mémoire, y compris les bases de données relationnelles et NoSQL telles que Microsoft SQL Server, MongoDB, Memcached ou Redis, entrent dans cette catégorie. Les licences basées sur les processeurs virtuels des systèmes d'exploitation et des piles logicielles rendent également plus difficile la sélection d'une configuration de mémoire de VM optimale avec des types de machines prédéfinis. En utilisant l'extension de mémoire, vous pouvez ajouter autant de mémoire que vos VM en ont besoin pour obtenir le meilleur rapport prix-performances.
Créer une VM avec un type de machine personnalisé
Avant de créer une instance de VM personnalisée, lisez les spécifications personnalisées qui s'appliquent à la création de ce type de machine.Console
Accédez à la page Créer une instance dans la console Google Cloud .
Dans le volet Configuration de la machine, procédez comme suit :
- Sélectionnez la région et la zone dans lesquelles vous souhaitez héberger l'instance.
- Sélectionnez la configuration de la machine pour votre instance :
- Pour créer une VM personnalisée à usage général, sélectionnez Usage général, puis dans la section Série, sélectionnez N4, N4A, N4D, N2, N2D, E2 ou N1.
- Pour créer une VM personnalisée avec des GPU associés, sélectionnez GPU, puis procédez comme suit :
- Dans la liste Type de GPU, sélectionnez un GPU pour la série de machines que vous souhaitez utiliser :
- Pour les VM G2, sélectionnez NVIDIA L4.
- Pour les VM N1, sélectionnez NVIDIA T4, NVIDIA V100 ou NVIDIA Tesla P4.
- Dans la liste Nombre de GPU, sélectionnez le nombre de GPU.
- Dans la liste Type de GPU, sélectionnez un GPU pour la série de machines que vous souhaitez utiliser :
- Dans la section Type de machine, sélectionnez Personnalisé.
- Pour spécifier le nombre de processeurs virtuels et la quantité de mémoire de l'instance, faites glisser les curseurs Cœurs et Mémoire, ou saisissez les valeurs souhaitées dans les champs. La console affiche une estimation du coût de l'instance lorsque vous modifiez le nombre de processeurs virtuels et la quantité de mémoire.
Facultatif : spécifiez d'autres options de configuration. Pour en savoir plus, consultez Options de configuration lors de la création d'une instance.
Pour créer et démarrer l'instance, cliquez sur Créer.
gcloud
Créez un type de machine personnalisé à l'aide de la commande gcloud compute instances create avec l'option --machine-type :
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--machine-type=MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance.ZONE: zone dans laquelle vous souhaitez créer l'instance.MACHINE_SERIES: série de machines en minuscules, par exemplen4,n4d,n4a,n2,n2d,e2oug2. Pour N1, omettezMACHINE_SERIES-et commencez parcustom-.NUMBER_OF_VCPUS: le nombre de processeurs virtuels.AMOUNT_OF_MEMORY_MB: quantité totale de mémoire en Mo. Cette valeur doit être un multiple entier de 256 Mo (ou 1 024 Mo pour les VM G2).
Pour créer une VM G2 avec 4 vCPU et 19 Go de mémoire dans la zone us-central1-a, exécutez la commande suivante :
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=g2-custom-4-19456 \
--maintenance-policy=TERMINATE
Pour les VM G2, la mémoire doit être un multiple de 1 024 Mo et être comprise dans la plage de mémoire compatible. Pour en savoir plus sur la création de VM G2, consultez Créer une instance G2 ou G4.
L'exemple suivant crée un type de machine personnalisé N2 avec 48 processeurs virtuels et 310 Go (317 440 Mo) de mémoire dans la zone us-central1-a :
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=n2-custom-48-317440
Pour les séries de machines compatibles, telles que N4 ou N2, vous pouvez configurer la mémoire étendue, qui vous permet de spécifier une quantité de mémoire supérieure au ratio maximal par défaut entre la mémoire et les vCPU. Pour configurer l'extension de mémoire, augmentez la valeur de AMOUNT_OF_MEMORY_MB et ajoutez -ext au nom du type de machine (par exemple, --machine-type=n2-custom-48-720896-ext).
Vous pouvez également spécifier un type de machine personnalisé à l'aide des options --custom-cpu, --custom-memory et --custom-vm-type (et inclure l'option --custom-extensions si vous configurez une mémoire étendue) :
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--custom-cpu=NUMBER_OF_VCPUS \
--custom-memory=AMOUNT_OF_MEMORY \
--custom-vm-type=MACHINE_SERIES
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance.ZONE: zone dans laquelle vous souhaitez créer l'instance.NUMBER_OF_VCPUS: le nombre de processeurs virtuels.AMOUNT_OF_MEMORY: quantité totale de mémoire avec un suffixe d'unité (MBouGB), ou en Go si vous omettez l'unité.MACHINE_SERIES: série de machines en minuscules, par exemplen4,n4d,n4a,n2,n2d,e2oun1.
L'exemple suivant crée un type de machine personnalisé N2 avec 48 vCPU et 310 Go de mémoire à l'aide des options --custom-cpu, --custom-memory et --custom-vm-type :
gcloud compute instances create example-instance \
--zone=us-central1-a \
--custom-cpu=48 \
--custom-memory=317440MB \
--custom-vm-type=n2
Lorsque vous utilisez l'option --custom-memory, spécifiez la quantité totale de mémoire en Go ou en Mo. Les valeurs sans unité doivent être des entiers. Pour spécifier des incréments de 0,25 Go (256 Mo) pour la mémoire, convertissez la mémoire totale en un entier en Mo (--custom-memory=5888MB) ou incluez le suffixe d'unité GB (--custom-memory=5.75GB).
Pour les types de machines personnalisés à cœur partagé E2, utilisez la commande gcloud compute instances create et incluez la taille de la machine à cœur partagé (micro, small ou medium) :
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--machine-type=e2-custom-SHARED_CORE_SIZE-AMOUNT_OF_MEMORY_MB
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance.ZONE: zone dans laquelle vous souhaitez créer l'instance.SHARED_CORE_SIZE: taille du cœur partagé E2 (micro,smalloumedium).AMOUNT_OF_MEMORY_MB: quantité totale de mémoire en Mo. Cette valeur doit être un multiple entier de 256 Mo dans la plage autorisée pour la taille du cœur partagé.
L'exemple suivant crée un type de machine personnalisé E2 à cœur partagé small avec 0,5 vCPU et 2,25 Go (2 304 Mo) de mémoire :
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=e2-custom-small-2304
Terraform
Pour générer le code Terraform, vous pouvez utiliser le composant Code équivalent dans la console Google Cloud .- Dans la console Google Cloud , accédez à la page Instances de VM.
- Cliquez sur Créer une instance.
- Spécifiez les paramètres souhaités.
- En haut ou en bas de la page, cliquez sur Code équivalent, puis sur l'onglet Terraform pour afficher le code Terraform.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Go Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration Node.js décrites dans le guide de démarrage rapide de Compute Engine sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Node.js Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
REST
Pour créer une instance avec un type de machine personnalisé, appelez la méthode instances.insert et spécifiez les valeurs machineType personnalisées avec la mémoire en Mo :
- Pour la série de machines N1, omettez le préfixe de la série et commencez par
custom-. - Pour les types de machines à cœur partagé E2, remplacez le nombre de vCPU par
micro,smalloumedium. - Pour activer l'extension de mémoire, ajoutez
-extà la chaîne du type de machine.
L'exemple suivant crée un type de machine personnalisé N2 doté de 16 processeurs virtuels et de 105 Go (107 520 Mo) de mémoire :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "example-instance",
"machineType": "zones/ZONE/machineTypes/n2-custom-16-107520",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "10",
"sourceImage": "projects/debian-cloud/global/images/family/debian-13"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel vous souhaitez créer l'instance.ZONE: zone dans laquelle vous souhaitez créer l'instance.
Vous pouvez également créer des VM Spot et des groupes d'instances gérés (MIG) avec des types de machines personnalisés.
Ajouter une extension de mémoire lors de la création de l'instance
Procédez comme suit pour créer une instance de VM avec une extension de mémoire :Console
Accédez à la page Créer une instance dans la console Google Cloud .
Dans le volet Configuration de la machine, procédez comme suit :
- Sélectionnez la région et la zone dans lesquelles vous souhaitez héberger la VM.
- Sélectionnez la configuration de la machine pour votre instance :
- Pour créer une VM personnalisée à usage général, sélectionnez Usage général, puis dans la section Série, sélectionnez N4, N4D, N4A, N2, N2D ou N1.
- Pour créer une VM N1 personnalisée avec des GPU associés, sélectionnez GPU, puis procédez comme suit :
- Dans la liste Type de GPU, sélectionnez NVIDIA T4, NVIDIA V100 ou NVIDIA Tesla P4.
- Dans la liste Nombre de GPU, sélectionnez le nombre de GPU.
- Dans la section Type de machine, sélectionnez Personnalisé.
- Pour spécifier le nombre de processeurs virtuels, faites glisser le curseur Cœurs ou saisissez la valeur souhaitée dans le champ.
- Pour ajouter une extension de mémoire, sélectionnez Extend Memory (Extension de mémoire). Pour spécifier la quantité de mémoire du type de machine, faites glisser le curseur Mémoire ou saisissez la valeur dans le champ. La console affiche une estimation du coût de la VM lorsque vous modifiez le nombre de vCPU et la quantité de mémoire.
Facultatif : spécifiez d'autres options de configuration. Pour en savoir plus, consultez Options de configuration lors de la création d'une instance.
Pour créer et démarrer la VM, cliquez sur Créer.
gcloud
Créez un type de machine personnalisé avec extension de mémoire à l'aide de la commande gcloud compute instances create avec l'option --machine-type et le suffixe -ext :
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--machine-type=MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-ext
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance.ZONE: zone dans laquelle vous souhaitez créer l'instance.MACHINE_SERIES: série de machines en minuscules compatible avec la mémoire étendue, par exemplen4,n4d,n4a,n2oun2d. Pour N1, omettezMACHINE_SERIES-et commencez parcustom-.NUMBER_OF_VCPUS: le nombre de processeurs virtuels.AMOUNT_OF_MEMORY_MB: quantité totale de mémoire en Mo. Cette valeur doit être un multiple entier de 256 Mo.
L'exemple suivant crée un type de machine personnalisé N2 avec deux processeurs virtuels et 20 Go (20 480 Mo) d'extension de mémoire dans la zone us-central1-a :
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=n2-custom-2-20480-ext
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Go Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration Node.js décrites dans le guide de démarrage rapide de Compute Engine sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Node.js Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
REST
Pour créer une instance avec une extension de mémoire, appelez la méthode instances.insert et ajoutez -ext au champ machineType pour étendre la mémoire jusqu'à la limite de cette série de machines :
zones/ZONE/machineTypes/MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-ext
Remplacez les éléments suivants :
ZONE: zone dans laquelle vous souhaitez créer l'instance.MACHINE_SERIES: série de machines en minuscules, par exemplen4,n4d,n4a,n2oun2d. Pour N1, omettezMACHINE_SERIES-et commencez parcustom-.NUMBER_OF_VCPUS: le nombre de processeurs virtuels.AMOUNT_OF_MEMORY_MB: quantité totale de mémoire en Mo. Cette valeur doit être un multiple entier de 256 Mo.
Par exemple, ce qui suit spécifie un type de machine N2 doté de 2 processeurs virtuels et de 20 Go (20 480 Mo) de mémoire étendue :
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 qui utilise un type de machine personnalisé, commencez par arrêter l'instance. Une fois l'instance arrêtée, procédez comme suit pour ajouter de la mémoire à la VM :Console
Dans la console Google Cloud , accédez à la page Instances de VM.
Cliquez sur le nom de la VM arrêtée que vous souhaitez modifier.
En haut de la page, cliquez sur Modifier.
Dans la section Configuration de la machine, vérifiez que l'option Personnalisé est sélectionnée sous Type de machine.
Pour ajouter une extension de mémoire, sélectionnez Extension de mémoire, puis spécifiez la quantité de mémoire dont vous avez besoin.
Cliquez sur Enregistrer.
Pour redémarrer la VM, cliquez sur Démarrer/Reprendre en haut de la page.
gcloud
Arrêtez la VM en exécutant la commande
gcloud compute instances stop:gcloud compute instances stop INSTANCE_NAME \ --zone=ZONEMettez à jour le type de machine personnalisé avec mémoire étendue en exécutant la commande
gcloud compute instances set-machine-typeavec les options--custom-cpu,--custom-memory,--custom-vm-typeet--custom-extensions:gcloud compute instances set-machine-type INSTANCE_NAME \ --zone=ZONE \ --custom-cpu=NUMBER_OF_VCPUS \ --custom-memory=AMOUNT_OF_MEMORY \ --custom-vm-type=MACHINE_SERIES \ --custom-extensionsVous pouvez également transmettre la chaîne complète du type de machine personnalisé avec le suffixe
-extà l'option--machine-type:gcloud compute instances set-machine-type INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-extRemplacez les éléments suivants :
INSTANCE_NAME: Nom de la VM.ZONE: zone où se trouve la VM.NUMBER_OF_VCPUS: le nombre de processeurs virtuels.AMOUNT_OF_MEMORY: quantité totale de mémoire avec un suffixe d'unité (MBouGB), ou en Go si vous omettez l'unité.AMOUNT_OF_MEMORY_MB: quantité totale de mémoire en Mo. Cette valeur doit être un multiple entier de 256 Mo.MACHINE_SERIES: série de machines en minuscules compatible avec la mémoire étendue, par exemplen4,n4d,n4a,n2,n2doun1. Pour N1 avec l'option--machine-type, omettezMACHINE_SERIES-et commencez parcustom-.
Redémarrez la VM en exécutant la commande
gcloud compute instances start:gcloud compute instances start INSTANCE_NAME \ --zone=ZONE
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Go Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration Node.js décrites dans le guide de démarrage rapide de Compute Engine sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Node.js Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour les bibliothèques clientes.
REST
- Arrêtez la VM en appelant la méthode
instances.stop. Mettez à jour les ressources de type de machine en appelant la méthode
instances.setMachineTypeet en spécifiant le suffixe-extdans le champmachineType:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMachineType { "machineType": "zones/ZONE/machineTypes/MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-ext" }Remplacez les éléments suivants :
PROJECT_ID: ID du projet contenant la VM.ZONE: zone où se trouve la VM.INSTANCE_NAME: Nom de la VM.MACHINE_SERIES: série de machines en minuscules, par exemplen4,n4d,n4a,n2oun2d. Pour N1, omettezMACHINE_SERIES-et commencez parcustom-.NUMBER_OF_VCPUS: le nombre de processeurs virtuels.AMOUNT_OF_MEMORY_MB: quantité totale de mémoire en Mo. Cette valeur doit être un multiple entier de 256 Mo.
Redémarrez la VM en appelant la méthode
instances.start.
Étapes suivantes
- En savoir plus sur les familles de machines.
- Une fois que vous avez créé une VM, suivez le tutoriel pour commencer à utiliser une instance de VM.
- Découvrez comment vous connecter à votre instance de VM.