Si votre instance de machine virtuelle (VM) ne dispose pas de disque SSD local associé et ne fait pas partie d'un groupe d'instances géré (MIG), vous pouvez modifier le type de machine de votre instance après l'avoir arrêtée.
Si votre type de machine existant ne convient pas aux charges de travail que vous exécutez sur votre VM, modifiez son type. Par exemple, vous pouvez commencer avec un type de machine plus modeste pour la configuration, le développement et les tests, puis modifier la VM pour passer à un type plus puissant lorsque vous êtes prêt à traiter des charges de travail de production.
Vous pouvez utiliser cette procédure dans les situations suivantes:
- Pour passer à un type de machine similaire, mais avec un nombre différent de processeurs virtuels ou de mémoire dans la même série de machines, par exemple :
- Vous pouvez remplacer
n2-highcpu-4
parn2-standard-4
. - Vous pouvez remplacer
c3d-standard-30
parc3d-highmem-30
.
- Vous pouvez remplacer
- Pour modifier le type de machine afin d'utiliser une autre série de machines.
Cette fonctionnalité n'est disponible que pour les séries de machines de première et de deuxième génération, à l'exception des séries de machines T2A et A2. Exemple :
- Vous pouvez remplacer
n2-standard-4
parc2-standard-8
. - Vous pouvez remplacer
n1-highmem-4
parn2d-standard-16
.
- Vous pouvez remplacer
Si vous souhaitez remplacer le type de machine d'une VM qui utilise une série de machines de première ou deuxième génération (N1, N2, M1, etc.) par un type de machine de troisième génération ou ultérieure (M3, C3, N4, etc.), vous devez suivre la procédure décrite dans la section Déplacer votre charge de travail vers une nouvelle instance de calcul.
Vous pouvez modifier le type de machine sans affecter les ressources suivantes:
- Les clés SSH de la VM
- Les configurations de la VM, telles que les métadonnées de la VM
- Les données sur le disque Persistent Disk ou Hyperdisk associé, y compris les applications installées et les données d'application
Pour modifier le type de machine des VM au sein d'un MIG, consultez la section Appliquer automatiquement les mises à jour de configuration de VM dans un MIG.
Avant de commencer
- Découvrez comment arrêter une VM.
- Consultez la documentation relative aux types de machines.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant 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 comme suit :
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
Java
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Python
Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Set up authentication for a local development environment.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
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 modifier le type de machine d'une VM, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
-
Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) - Pour se connecter à une VM pouvant s'exécuter en tant que compte de service :
Utilisateur du compte de service (v1) (
roles/iam.serviceAccountUser
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour modifier le type de machine d'une VM. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour modifier le type de machine d'une VM:
-
compute.instances.setMachineType
sur la VM -
compute.instances.start
sur la VM -
compute.instances.stop
sur la VM
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Limites
- Si votre instance de calcul dispose d'un ou de plusieurs disques SSD locaux, vous ne pouvez pas modifier son type de machine.
- Si votre instance de calcul utilise une adresse IP externe éphémère, celle-ci peut changer lors de la modification du type de machine de l'instance. Pour conserver l'adresse IP, convertissez-la en adresse IP externe statique avant de modifier le type de machine.
- La modification du type de machine d'une instance de calcul n'est pas disponible pour certaines configurations :
- Vous ne pouvez pas modifier le type de machine pour les instances Bare Metal.
- Si vous souhaitez remplacer le type de machine d'une série de machines de première ou deuxième génération par un type de machine pour une série de machines de troisième génération ou ultérieure, vous ne pouvez pas utiliser cette procédure. Suivez plutôt les instructions de la section Déplacer votre charge de travail vers une nouvelle instance de calcul.
- Si vous souhaitez remplacer le type de machine par un type de machine Arm, vous ne pouvez pas utiliser cette procédure. Suivez plutôt les instructions de la section Déplacer votre charge de travail vers une nouvelle instance de calcul.
- Vous pouvez suivre les étapes de ce document pour modifier le type de machine pour les types de machines optimisés pour l'accélérateur G2. Pour les autres types de machines optimisés pour l'accélérateur, consultez la section Modifier les VM optimisées pour les accélérateurs.
Implications en termes de facturation
Chaque type de machine est facturé à un tarif différent. Assurez-vous donc de bien comprendre les implications en termes de facturation qui découlent de la modification du type de machine. Par exemple, un type de machine
e2-standard-2
coûte plus cher qu'un type de machinee2-micro
.La modification d'un type de machine peut également affecter vos remises automatiques proportionnelles à une utilisation soutenue pour cette VM. Les remises automatiques proportionnelles à une utilisation soutenue sont calculées séparément selon les différentes catégories d'une même région. Si vous modifiez les types de machines pour que le nouveau type de machine appartienne à une autre catégorie, la prochaine durée d'exécution de la VM sera comptabilisée dans la remise liée à la nouvelle catégorie.
Imaginons par exemple que vous disposiez d'une VM dotée du type de machine
n2-standard-2
, qui s'exécute depuis 15 jours. Vous décidez de remplacer le type de machine parm1-ultramem-40
. Une fois la modification effectuée, Compute Engine commence à comptabiliser la durée d'exécution de la VM dans la remise pour utilisation soutenue liée au processeur virtuel à mémoire optimisée et à la catégorie de mémoire.Sur votre facture, vous constaterez une remise appliquée au type de machine
n2-standard-2
avant sa modification, ainsi qu'une remise séparée appliquée au typem1-ultramem-40
(à condition que votre instance conserve le typem1-ultramem-40
pour une durée égale à au moins 25 % du reste du mois).Passer à un type de machine plus petit
Si vous passez d'un type de machine disposant d'importantes ressources à un type qui en comporte moins (de
e2-standard-8
àe2-standard-2
, par exemple), vous risquez d'être confronté à des problèmes de ressources matérielles ou à des limites de performances. Les types de machines plus petits sont en effet moins puissants que les plus grands. Assurez-vous que votre nouveau type de machine puisse traiter l'ensemble des applications ou services en cours d'exécution sur la VM, ou mettez à jour vos services et applications pour qu'ils puissent s'exécuter sur les types de machines plus petits.Consultez les recommandations de dimensionnement avant de modifier le type de machine. Pour en savoir plus sur les recommandations de dimensionnement de Compute Engine, consultez la page Appliquer les recommandations de types de machines pour des instances de VM.
Bonnes pratiques
Voici quelques bonnes pratiques qui vous aideront à modifier le type de machine d'une VM.
Effectuez des sauvegardes régulières de vos données de disque persistant à l'aide d'instantanés. Envisagez de prendre un instantané de vos données Persistent Disk avant de modifier le type de machine. Vous pouvez vous assurer que le nouveau type de machine saura traiter les données de la VM existante en prenant un instantané Persistent Disk, puis en démarrant une deuxième VM possédant le nouveau type à partir de cet instantané pour vérifier qu'elle se lance bien.
Ajoutez des disques supplémentaires au fichier
/etc/fstab
. Si des disques supplémentaires sont associés à votre VM, veillez à les ajouter au fichier/etc/fstab
afin qu'ils soient installés automatiquement au redémarrage de la VM.Créez une réservation avant de modifier le type de machine. Pour éviter les erreurs liées à la disponibilité des ressources, créez des réservations Compute Engine pour les nouveaux types de machines lorsqu'ils sont disponibles pour les réserver dans une zone. Les réservations vous permettent de vous assurer que les ressources sont disponibles lorsque vous en avez besoin.
Pour créer une réservation, procédez comme suit :
Créez une réservation (ou identifiez les réservations existantes) avec des propriétés identiques aux VM planifiées. Le nombre de VM de la réservation doit être supérieur ou égal au nombre de VM que vous souhaitez modifier. Vous pouvez éventuellement empêcher les autres VM d'utiliser cette réservation en utilisant l'option
specificReservationRequired
.Vérifiez que les VM planifiées pourront utiliser la réservation :
- Vérifiez que les VM ont l'affinité de réservation appropriée.
- Immédiatement avant de modifier les VM, assurez-vous que la réservation dispose d'une capacité suffisante.
Modifier un type de machine
Vous ne pouvez modifier le type de machine d'une VM que si elle est arrêtée. Une VM n'est considérée comme arrêtée que lorsqu'elle possède l'étatTERMINATED
. Il n'est pas possible de modifier le type de machine d'une VM en cours d'exécution.Si vous mettez à niveau votre type de machine vers la dernière génération, consultez la section Évaluer les options de migration de VM avant de continuer.
Console
Dans la console Google Cloud, accédez à la page Instances de VM.
Dans la colonne Nom, cliquez sur le nom de la VM pour laquelle vous souhaitez modifier le type de machine.
Sur la page des détails de l'instance de VM, procédez comme suit :
- Si la VM est en cours d'exécution, sélectionnez Arrêter dans le menu situé en haut de la page afin de l'arrêter.
- Pour modifier la VM, cliquez sur Modifier.
Dans la section Configuration de la machine, sélectionnez le type de machine que vous souhaitez utiliser ou créez un type de machine personnalisé.
Pour enregistrer vos modifications, cliquez sur Enregistrer.
Redémarrez la VM.
gcloud
Arrêtez la VM à l'aide de la commande
gcloud compute instances stop
:gcloud compute instances stop VM_NAME
Remplacez
VM_NAME
par la VM contenant le type de machine à modifier.Modifiez le type de machine à l'aide de la commande
gcloud compute instances set-machine-type
:gcloud compute instances set-machine-type VM_NAME \ --machine-type NEW_MACHINE_TYPE
Remplacez
NEW_MACHINE_TYPE
par le nouveau type de machine pour la VM. Il peut s'agir de l'un des types de machines suivants :-
Exemple :
e2-standard-2
Un type de machine personnalisé
Par exemple, vous pouvez spécifier
--machine-type e2-custom-4-2048
pour définir un type de machine personnalisé comportant 4 processeurs virtuels et 2 Go de mémoire.
-
Arrêtez la VM à l'aide de la commande
gcloud compute instances start
:gcloud compute instances start VM_NAME
Remplacez
VM_NAME
par le nom de la VM que vous avez modifiée.
Java
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 un environnement de développement local.
Python
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 un environnement de développement local.
REST
Arrêtez la VM à l'aide de la méthode
instances.stop
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetZONE
: zone contenant la VM.VM_NAME
: VM contenant le type de machine à modifier.
Modifiez le type de machine à l'aide de la méthode
instances.setMachineType
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
Dans le corps de la requête, indiquez le
machineType
mis à jour :{ machineType: "zones/MACHINE_TYPE_ZONE/machineTypes/NEW_MACHINE_TYPE" }
Remplacez les éléments suivants :
MACHINE_TYPE_ZONE
: zone contenant le type de machine.NEW_MACHINE_TYPE
: nouveau type de machine pour la VM.Il peut s'agir de l'un des types de machines suivants :
-
Exemple :
e2-standard-2
Un type de machine personnalisé
Par exemple, vous pouvez spécifier
--machine-type e2-custom-4-2048
pour définir un type de machine personnalisé comportant 4 processeurs virtuels et 2 Go de mémoire.
-
Démarrez la VM à l'aide de la méthode
instances.start
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetZONE
: zone contenant la VM.VM_NAME
: nom de la VM que vous avez modifiée.
Étape suivante
- Apprenez-en plus sur les recommandations concernant les types de machines.
- Obtenez davantage d'informations sur les groupes d'instances gérés.
- Apprenez-en plus sur les modèles d'applications évolutives et résilientes.
- Pour mettre à jour une VM de première ou deuxième génération afin qu'elle utilise une série de machines de troisième génération ou ultérieure, consultez la section Déplacer votre charge de travail vers une nouvelle instance de calcul.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/22 (UTC).