Creating a VM instance with a custom hostname

When you create a VM instance, Google Cloud Platform (GCP) creates an internal DNS name from the instance name. Unless you specify a custom hostname, GCP uses the automatically created internal DNS name as the hostname it provides to the VM.

You can create a VM with a custom hostname by specifying any fully-qualified DNS name. Custom hostnames are useful to maintain conventions or to support requirements for applications that expect a particular hostname.

Limitations

  • You must manually configure the DNS record for your custom hostname. Custom hostnames are not resolved by the automatically created records provided by Compute Engine internal DNS. You can use any of the following to host the DNS record for the custom hostname:

  • You cannot change a custom hostname after you have created the VM.

  • Even when you specify a custom hostname, GCP still creates the Compute Engine internal DNS name. You can still contact your VM by using this automatically created DNS record.

Requirements

The hostname must conform to RFC 1035 requirements for valid hostnames. To meet this requirement, hostnames must contain a series of labels matching the regular expression [a-z]([-a-z0-9]*[a-z0-9])?, and each label is concatenated with a dot. Each label can be 1-63 characters long, and the entire sequence must not exceed 253 characters.

Before you begin

Create a VM with a custom hostname

Console

  1. Go to the Create instance page

    Go to the Create instance page

  2. Expand the Management, security, disks, networking, sole tenancy section.
  3. Under Hostname in the Networking tab, set the custom hostname.
  4. Continue with the rest of the instance creation process.

gcloud

Follow the same instructions to create an instance from an image or a snapshot, add the --hostname=[HOST_NAME] flag and use the gcloud compute instances create command:

gcloud compute instances create [INSTANCE_NAME] \
    --hostname=[HOST_NAME]

where:

  • [INSTANCE_NAME] is the name of the instance.
  • [HOST_NAME] is the fully qualified domain hostname that you want to assign.

For example, to create an instance called myinstance with the custom hostname test.example.com. You can run the following command:

gcloud compute instances create myinstance \
    --hostname=test.example.com

API

Follow the API instructions to create an instance from an image or a snapshot, and specify the hostname field in the request body.

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

{
 "name": "[INSTANCE_NAME]",
 "hostname": "[HOST_NAME]",
 ...
}

where:

  • [INSTANCE_NAME] is the name of the instance.
  • [HOST_NAME] is the fully qualified domain hostname that you want to assign.
  • [ZONE] is the zone where you want to create the instance.

Verifying the custom hostname

For Linux VM instances, you can verify the custom hostname by running the hostname -f command on the VM instance.

You can also verify the custom hostname by using the Google Cloud Platform Console or the gcloud command-line tool.

Console

  1. To view the custom hostname for your instance, go to the VM instances page.

    Go to the VM instances page

  2. Click the instance name to open the VM instance details page.
  3. Review the Hostname section.

    Screenshot of the VM instances page showing hostname

gcloud

To view the custom hostname for your instance using gcloud compute, use the instances describe sub-command with a --format flag to filter the output.

gcloud compute instances describe [INSTANCE_NAME] \
    --format='get(hostname)'

where [INSTANCE_NAME] is the name of the instance.

For example, to view the custom hostname for an instance named myinstance, run the following command.

gcloud compute instances describe myinstance --format='get(hostname)'
Trang này có hữu ích không? Hãy cho chúng tôi biết đánh giá của bạn:

Gửi phản hồi về...

Compute Engine Documentation