Lorsque vous créez une instance de machine virtuelle (VM), Google Cloud crée un nom DNS interne à partir du nom de la VM. Sauf si vous spécifiez un nom d'hôte personnalisé, Google Cloud utilise le nom DNS interne créé automatiquement en tant que nom d'hôte fourni à la VM.
Vous pouvez créer une VM avec un nom d'hôte personnalisé en spécifiant un nom DNS complet. Les noms d’hôte personnalisés sont utiles pour gérer les conventions ou répondre aux exigences des applications qui nécessitent un nom d’hôte particulier.
Même lorsque vous spécifiez un nom d'hôte personnalisé, Google Cloud crée le nom DNS interne Compute Engine. Vous pouvez vous connecter à votre VM à l'aide de cet enregistrement DNS interne créé automatiquement. L'enregistrement DNS interne correspond au nom DNS interne et non au nom d'hôte personnalisé. Avec les noms d'hôte personnalisés, vous devez toujours créer un enregistrement DNS correspondant dans la zone appropriée, par exemple à l'aide de Cloud DNS.
Avant de commencer
-
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.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 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.
- 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.
- 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.
- 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.
- 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.
-
compute.instances.create
sur le projet -
Pour créer la VM à l'aide d'une image personnalisée :
compute.images.useReadOnly
sur l'image -
Pour créer la VM à l'aide d'un instantané :
compute.snapshots.useReadOnly
sur l'instantané -
Pour créer la VM à l'aide d'un modèle d'instance :
compute.instanceTemplates.useReadOnly
sur le modèle d'instance -
Pour attribuer un ancien réseau à la VM :
compute.networks.use
sur le projet -
Pour spécifier une adresse IP statique pour la VM :
compute.addresses.use
sur le projet -
Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un ancien réseau :
compute.networks.useExternalIp
sur le projet -
Pour spécifier un sous-réseau pour la VM :
compute.subnetworks.use
sur 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.useExternalIp
sur 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.setMetadata
sur le projet -
Pour définir des tags pour la VM :
compute.instances.setTags
sur la VM -
Pour définir des libellés pour la VM :
compute.instances.setLabels
sur la VM -
Pour définir un compte de service à utiliser avec la VM :
compute.instances.setServiceAccount
sur la VM -
Pour créer un disque pour la VM :
compute.disks.create
sur le projet -
Pour associer un disque existant en mode lecture seule ou en mode lecture-écriture :
compute.disks.use
sur le disque -
Pour associer un disque existant en mode lecture seule :
compute.disks.useReadOnly
sur le disque L'enregistrement DNS de votre nom d'hôte personnalisé doit être configuré manuellement. Les noms d'hôte personnalisés ne sont pas résolus par les enregistrements créés automatiquement et fournis par le DNS interne de Compute Engine. Vous pouvez utiliser l’un des moyens suivants pour héberger l’enregistrement DNS correspondant au nom d’hôte personnalisé :
Tout autre serveur de noms DNS public
Vous ne pouvez pas modifier un nom d'hôte personnalisé après avoir créé la VM.
- Le nom d'hôte contient au moins deux libellés décrits comme suit :
- Chaque libellé contient des expressions régulières ne comprenant que les caractères suivants :
[a-z]([-a-z0-9]*[a-z0-9])?
. - Les libellés sont concaténés avec un point.
- Chaque libellé comporte entre 1 et 63 caractères.
- Chaque libellé contient des expressions régulières ne comprenant que les caractères suivants :
- Le nom d'hôte ne doit pas dépasser 253 caractères.
Accédez à la page Créer une instance dans Google Cloud Console.
Spécifiez un nom pour votre VM. Pour en savoir plus, consultez Recommandation pour l'attribution de noms aux ressources.
Développez la section Options avancées et procédez comme suit :
- Développez la section Mise en réseau.
- Dans le champ Nom d'hôte, spécifiez le nom d'hôte personnalisé.
Effectuez des personnalisations supplémentaires de la VM, si nécessaire.
Pour créer et démarrer la VM, cliquez sur Créer.
VM_NAME
: le nom de la VMHOST_NAME
: le nom d'hôte du domaine complet que vous souhaitez attribuer.- Dans Google Cloud Console, 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.
Pour afficher le nom d'hôte personnalisé pour votre VM, accédez à la page Instances de VM.
Cliquez sur le nom de l'instance pour ouvrir la page Informations sur l'instance de VM.
Consultez la section Nom d'hôte. Le champ Hostname (Nom d'hôte) ne s'affiche que si un nom d'hôte personnalisé est défini.
Terraform
Pour utiliser les exemples Terraform 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.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Go
Pour utiliser les exemples Go 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.
Pour en savoir plus, consultez Set up authentication for a local development environment.
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.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Node.js
Pour utiliser les exemples Node.js 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.
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.
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 créer une VM avec un nom d'hôte 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 la section Gérer les accès.Ce rôle prédéfini contient les autorisations requises pour créer une VM avec un nom d'hôte 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 nom d'hôte personnalisé :
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Limites
Convention d'attribution de noms
Les noms d'hôte personnalisés doivent être conformes aux exigences de la RFC 1035 relative aux noms d'hôte valides. Pour satisfaire ces exigences, les noms d'hôte personnalisés doivent respecter les spécifications de format suivantes :
Non valide : contient un seul libellé.
my-host1234
Valide : contient trois libellés concaténés avec des points.
my-host1234.example.com
Créer une VM avec un nom d'hôte personnalisé
Console
Étape suivante : configurer vos enregistrements DNS. Pour en savoir plus, consultez la section Gérer les enregistrements.
gcloud
À l'aide de Google Cloud CLI, suivez les instructions pour créer une instance à partir d'une image ou d'un instantané, ajoutez l'option
--hostname
et utilisez la commandegcloud compute instances create
comme suit :gcloud compute instances create VM_NAME \ --hostname=HOST_NAME
Remplacez les éléments suivants :
Par exemple, pour créer une VM
myinstance
avec le nom d'hôte personnalisétest.example.com
, exécutez la commande suivante :gcloud compute instances create myinstance \ --hostname=test.example.com
Étape suivante : configurer vos enregistrements DNS. Pour en savoir plus, consultez la section Gérer les enregistrements.
Terraform
Vous pouvez utiliser une ressource Terraform pour créer une instance avec un nom d'hôte personnalisé à l'aide de l'argument
Pour générer le code Terraform, vous pouvez utiliser le composant Code équivalent dans la console Google Cloud.hostname
.Étape suivante : configurer vos enregistrements DNS. Pour en savoir plus, consultez la section Gérer les enregistrements.
Go
Java
Node.js
Python
REST
Suivez les instructions de l'API pour créer une instance à partir d'une image ou d'un instantané, puis spécifiez le champ
hostname
dans le corps de la requête.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "hostname": "HOST_NAME", ... }
Remplacez l'élément suivant :
Valider le nom d'hôte personnalisé
Pour les VM Linux, vous pouvez vérifier le nom d'hôte en exécutant la commande
hostname -f
sur la VM.Vous pouvez également vérifier le nom d'hôte personnalisé à l'aide de la console Google Cloud ou de Google Cloud CLI.
Console
gcloud
Pour afficher le nom d'hôte personnalisé de votre VM à l'aide de
gcloud compute
, exécutez la sous-commandeinstances describe
avec l'option--format
afin de filtrer la sortie. RemplacezVM_NAME
par le nom de la VM.gcloud compute instances describe VM_NAME \ --format='get(hostname)'
Par exemple, pour afficher le nom d'hôte personnalisé d'une VM nommée
myinstance
, exécutez la commande suivante :gcloud compute instances describe myinstance \ --format='get(hostname)'
Le résultat devrait ressembler à ceci :
test.example.com
Si aucun nom d'hôte personnalisé n'est défini, le résultat de cette commande est vide.
É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).
-