Utilisez une image système pour stocker la totalité de la configuration, des métadonnées, des autorisations et des données d'un ou plusieurs disques pour une instance de VM exécutée sur Compute Engine. Pour savoir quand et comment utiliser des images système, consultez la page Images système.
Ce document décrit les étapes à suivre pour importer une image système à partir d'un dispositif virtuel.
Avant de commencer
- Si le projet dans lequel vous souhaitez importer l'image système possède un règlement relatif aux images de confiance, ajoutez
projects/compute-image-import
etprojects/compute-image-tools
à la liste des éditeurs autorisés. - Si vous importez un dispositif virtuel à partir d'un autre projet, consultez la section Importer à partir d'un autre projet.
- Consultez les exigences concernant la VM source et les fichiers OVF dans le guide "Importer des dispositifs virtuels" de Compute Engine.
- Pour savoir comment satisfaire les exigences avant d'importer des images de machines, consultez la section Conditions préalables à l'importation et à l'exportation d'images de VM.
-
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:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Vous pouvez partager une image système entre plusieurs projets. Toutefois, notez que les réseaux VPC partagés ne sont pas compatibles.
- Cette fonctionnalité n'est pas disponible pour les projets protégés par VPC Service Controls.
- Les images système ne peuvent pas être créées à partir de VM sources auxquelles plus de 200 To de disques sont associés.
MACHINE_IMAGE_NAME
: nom de l'image système que vous souhaitez importer.SOURCE_URI
: chemin d'accès à votre fichier OVA ou OVF dans Cloud Storage.OS
: système d'exploitation du fichier OVA. Cette option est par défaut facultative, mais elle peut être obligatoire dans certains cas. Nous vous recommandons de la renseigner.Importez le dispositif virtuel dans Cloud Storage.
Envoyez une requête
POST
à l'API Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Remplacez l'élément suivant :
PROJECT_ID
: ID du projet dans lequel vous souhaitez importer le fichier OVA.MACHINE_IMAGE_NAME
: nom de l'image système à importer. Exemple :my-machine-image
SOURCE_URI
: URI du fichier OVA ou d'un répertoire contenant des packages OVF, hébergé dans Cloud Storage. Exemple :gs://my-bucket/my-instance.ova
OS
: système d'exploitation du fichier OVA. Exemple :ubuntu-1604
. Cette option est par défaut facultative, mais elle peut être obligatoire dans certains cas. Nous vous recommandons de la renseigner.
Pour consulter les autres valeurs
args
que vous pouvez spécifier, reportez-vous à la section des options facultatives de la page GitHub dédiée à l'importation OVF dans Compute Engine.- Système d'exploitation :
Ubuntu 1404
- Processeur :
2 CPUs
- Mémoire :
2048 MB
- Système d'exploitation :
Ubuntu 1404
- Processeur :
2 CPUs
- Mémoire :
2048 MB
- Système d'exploitation :
Ubuntu 1404
- Réseau :
custom-vpc-network
- Sous-réseau :
company-vpc-us-east1-c
- Zone :
us-east1-c
- Système d'exploitation :
Ubuntu 1404
- Réseau :
custom-vpc-network
- Sous-réseau :
company-vpc-us-east1-c
- Zone :
us-central1-c
Ajoutez le dispositif virtuel dans Cloud Storage.
Le processus d'importation nécessite que les gestionnaires de packages soient installés sur le système d'exploitation de l'image système. Ces gestionnaires de packages peuvent avoir besoin d'envoyer des requêtes à des dépôts de packages en dehors de Google Cloud. Pour autoriser l'accès à ces mises à jour, vous devez configurer Cloud NAT. Pour en savoir plus, consultez la page Créer une configuration NAT à l'aide de Cloud Router.
Configurez l'accès privé à Google. Pour plus d'informations, consultez la page Configurer l'accès privé à Google.
Importez l'image système à l'aide de Google Cloud CLI ou de l'API Cloud Build.
Lorsque vous importez une image système à partir d'un dispositif virtuel, des VM temporaires sont créées dans votre projet. Pour vous assurer que ces VM temporaires ne se voient pas attribuer d'adresses IP externes, vous devez spécifier une option ou un argument supplémentaire.
Pour plus d'informations sur l'option ou l'argument requis, cliquez sur les onglets suivants :
MACHINE_IMAGE_NAME
: nom de l'image système que vous souhaitez importer.SOURCE_URI
: l'URI de votre fichier OVA ou OVF sur Cloud Storage. Exemple :gs://my-bucket/Ubuntu.ova
.OS
: système d'exploitation du fichier OVA. Cette option est par défaut facultative, mais elle peut être obligatoire dans certains cas. Nous vous recommandons de la renseigner. Pour obtenir la liste des valeurs acceptées, examinez les options--os
de la commandegcloud compute machine-images import
.ZONE
: zone dans laquelle importer l'image système. Si vous ne renseignez pas ce champ, la zone par défaut du projet est utilisée.PROJECT_ID
: ID du projet dans lequel vous souhaitez importer l'image système.MACHINE_IMAGE_NAME
: nom de l'image système à importer. Exemple :my-machine-image
SOURCE_URI
: l'URI du fichier OVA stocké dans Cloud Storage. Exemple :gs://my-bucket/my-machine.ova
.OS
: le système d'exploitation du fichier OVA. Par exemple,ubuntu-1604
. Cette option est par défaut facultative, mais elle peut être obligatoire dans certains cas. Nous vous recommandons de la renseigner. Pour obtenir la liste des valeurs acceptées, examinez les options--os
de la commandegcloud compute instances import
.ZONE
: zone dans laquelle importer l'image système.Ajoutez le dispositif virtuel dans Cloud Storage.
Créez un compte de service et attribuez les rôles minimaux. Pour en savoir plus sur la création des comptes de service, consultez la page Créer et gérer des comptes de service.
Au minimum, le compte de service Compute Engine spécifié doit avoir les rôles suivants :
roles/compute.storageAdmin
roles/storage.objectViewer
Ces rôles minimaux sont nécessaires pour le compte de service spécifié pour l'option
--compute-service-account
. Pour plus d'informations, consultez la section Attribuer les rôles requis au compte de service Compute Engine.Exécutez la commande
gcloud compute machine-images import
pour importer une image système à partir de dispositifs virtuels.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS \ --compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=SCOPES
Remplacez l'élément suivant :
MACHINE_IMAGE_NAME
: nom de l'image système que vous souhaitez importer.SOURCE_URI
: chemin d'accès à votre fichier OVA ou OVF dans Cloud Storage.OS
: système d'exploitation du fichier OVA. Cette option est par défaut facultative, mais elle peut être obligatoire dans certains cas. Nous vous recommandons de la renseigner.TEMP_SERVICE_ACCOUNT_EMAIL
: adresse e-mail associée au compte de service personnalisé créé à l'étape précédente. Ce compte de service est utilisé par les VM temporaires. S'il n'est pas spécifié, la VM utilise le compte de service Compute Engine par défaut.SERVICE_ACCOUNT_EMAIL
: adresse e-mail associée au compte de service personnalisé qui doit être associé à toute VM créée à partir de cette image système. Il n'existe aucune restriction d'autorisations pour ce compte de service. Vous pouvez le personnaliser si nécessaire. S'il n'est pas spécifié, le compte de service Compute Engine par défaut est associé à la VM.SCOPES
: spécifiez le niveau d'accès de l'option--service-account
. Si aucune valeur n'est spécifiée, les champs d'application par défaut sont utilisés. Pour en savoir plus, consultez la section concernant l'option--scopes
.
Ajoutez le dispositif virtuel dans Cloud Storage.
Créez un compte de service et attribuez les rôles minimaux. Pour en savoir plus sur la création des comptes de service, consultez la page Créer et gérer des comptes de service.
Au minimum, le compte de service Compute Engine spécifié doit avoir les rôles suivants :
roles/compute.storageAdmin
roles/storage.objectViewer
Ces rôles minimaux sont nécessaires pour le compte de service spécifié pour l'argument
-compute-service-account
. Pour plus d'informations, consultez la section Attribuer les rôles requis au compte de service Compute Engine.Envoyez une requête
POST
à l'API Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL", "-service-account=SERVICE_ACCOUNT_EMAIL", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Remplacez l'élément suivant :
PROJECT_ID
: ID du projet dans lequel vous souhaitez importer l'image système.MACHINE_IMAGE_NAME
: nom de l'image système à importer. Exemple :my-machine-image
SOURCE_URI
: l'URI du fichier OVA stocké dans Cloud Storage. Exemple :gs://my-bucket/my-machine.ova
.OS
: le système d'exploitation du fichier OVA. Par exemple,ubuntu-1604
. Cette option est par défaut facultative, mais elle peut être obligatoire dans certains cas. Nous vous recommandons de la renseigner. Pour obtenir la liste des valeurs acceptées, examinez les options--os
de la commandegcloud compute instances import
.ZONE
: zone dans laquelle importer l'image système.TEMP_SERVICE_ACCOUNT_EMAIL
: adresse e-mail associée au compte de service personnalisé créé à l'étape précédente. Ce compte de service est utilisé par les VM temporaires. S'il n'est pas spécifié, la VM utilise le compte de service Compute Engine par défaut.SERVICE_ACCOUNT_EMAIL
: adresse e-mail associée au compte de service personnalisé qui doit être associé à toute VM créée à partir de cette image système. Il n'existe aucune restriction d'autorisations pour ce compte de service. Vous pouvez le personnaliser si nécessaire. S'il n'est pas spécifié, le compte de service Compute Engine par défaut est associé à la VM.SCOPES
: spécifiez le niveau d'accès de l'option--service-account
. Si aucune valeur n'est spécifiée, les champs d'application par défaut sont utilisés. Pour en savoir plus, consultez la section concernant l'option--scopes
.
- En savoir plus sur les images système
- Créer des instances de VM à partir d'images système
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.
Limites et restrictions
Systèmes d'exploitation compatibles
Pour en savoir plus sur la compatibilité des systèmes d'exploitation, consultez la page Détails des systèmes d'exploitation.
Importer des images système
Vous pouvez importer des images système à partir de dispositifs virtuels à l'aide de Google Cloud CLI ou de REST.
gcloud
Exécutez la commande
gcloud compute machine-images import
pour importer une image système à partir de dispositifs virtuels.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS
Remplacez l'élément suivant :
Exemple
Par exemple, vous pouvez utiliser la commande
gcloud
suivante pour importer une image système appeléemy-machine-image
à partir d'un fichier source OVA appelémy-ova
, qui est stocké dans le répertoiregs://my-bucket
et exécutecentos-7
:gcloud compute machine-images import my-machine-image \ --source-uri=gs://my-bucket/my-ova/ \ --os=centos-7
REST
Importer des images système avec des remplacements OVF
CPU et mémoire personnalisés
gcloud
Pour remplacer la configuration du processeur ou de la mémoire spécifiée dans le fichier OVF, suivez les étapes décrites dans Google Cloud CLI pour importer une image système et spécifiez les options
--custom-cpu
et--custom-memory
.Exemple
Les remplacements suivants sont appliqués aux paramètres du fichier OVF pour une image système nommée
my-machine-image
:Pour importer
my-machine-image
avec ces remplacements, exécutez la commande suivante :gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \ --custom-cpu=2 --custom-memory=2048MB
REST
Pour remplacer la configuration du processeur ou de la mémoire spécifiée dans le fichier OVF, suivez les étapes d'importation d'une image système de l'API Compute Engine en spécifiant l'argument
-machine-type
. Cette option-machine-type
représente un type de machine prédéfini ou personnalisé à utiliser.Exemple
Les remplacements suivants sont appliqués aux paramètres du fichier OVF pour une image système nommée
my-machine-image
:Pour importer
my-machine-image
avec ces remplacements, envoyez la requête suivante à l'API Compute Engine.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-machine-type=custom-2-2048", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Remplacez
PROJECT_ID
par l'ID du projet.Réseaux personnalisés
gcloud
Pour configurer un réseau personnalisé, suivez les étapes de Google Cloud CLI pour importer une image système et spécifiez l'option
--network
. Si le réseau est configuré en mode sous-réseau personnalisé, vous devez également spécifier les options--subnet
et--zone
.Exemple
Les remplacements suivants sont appliqués aux paramètres du fichier OVF pour une image système nommée
my-machine-image
:Pour importer
my-machine-image
avec ces remplacements, exécutez l'exemple de commande suivant :gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 \ --source-uri=gs://my-bucket/Ubuntu.ova \ --network=custom-vpc-network \ --subnet=company-vpc-us-east1-c \ --zone=us-east1-c
REST
Pour utiliser un réseau personnalisé, suivez les étapes d'importation d'une image système de l'API Compute Engine en spécifiant l'argument
-network
. Si le réseau est configuré en mode sous-réseau personnalisé, vous devez également spécifier des arguments-subnet
et-zone
.Exemple
Les remplacements suivants sont appliqués aux paramètres du fichier OVF pour une image système nommée
my-machine-image
:Pour importer
my-machine-image
avec ces remplacements, envoyez la requête suivante à l'API Compute Engine.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-zone=us-central1-c", "-network=custom-vpc-network", "-subnet=company-vpc-us-east1-c", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUsILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Remplacez
PROJECT_ID
par l'ID du projet.Importer une image système dans un réseau n'autorisant pas les adresses IP externes
Pour importer une image système à l'aide d'un réseau qui n'autorise pas les adresses IP externes, procédez comme suit :
gcloud
Exécutez la commande
gcloud compute machine-images import
avec l'option--no-address
.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=SOURCE_URI \ --os=OS \ --zone=ZONE \ --no-address
Remplacez l'élément suivant :
REST
Utilisez l'API Cloud Build et spécifiez l'argument
-no-external-ip
.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-no-external-ip", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Remplacez l'élément suivant :
Importer une image système à l'aide de comptes de service personnalisés
Lors de l'importation d'une image système, des instances de machine virtuelle (VM) temporaires sont créées dans votre projet. L'outil d'importation sur ces VM temporaires doit être authentifié.
Un compte de service est une identité associée à une VM. Les jetons d'accès au compte de service sont accessibles via le serveur de métadonnées de VM et permettent d'authentifier l'outil d'importation sur la VM.
Par défaut, le processus d'importation utilise le compte de service Compute Engine par défaut. Toutefois, si le compte de service Compute Engine par défaut est désactivé dans votre projet ou si vous souhaitez utiliser un compte de service Compute Engine personnalisé, vous devez créer un compte de service et le spécifier pour le processus d'importation.
gcloud
REST
Étape suivante
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).
-