When you create a virtual machine (VM) instance, you must specify a name. After creating the VM, you can optionally rename it. Changing a VM name might be useful in the following scenarios:
- To better represent the workload running on the VM.
- To refer to the operating system running on the VM.
- To adhere to any naming conventions required by your organization.
VM uniform resource identifiers (URIs)
Changing the name of a VM might affect your projects. Instead of referencing VM resources by their name, you can reference them by their URI, which is permanent. The URI has the following format:
projects/PROJECT_ID/zones/ZONE/instances/VM_ID
The URI includes the following values:
PROJECT_ID
: the ID of the project where the VM is located.ZONE
: the zone where the VM is located.VM_ID
: the ID of an existing VM. To view the ID of an existing VM, view the details of the VM and then view the value of theid
field.
Pricing
Renaming a VM does not change the amount that you are billed. Also, because your bill shows VMs according to their stock keeping units (SKUs) and not their names, you won't see the names of your VMs on your bill.
Limitations
Limitations on the following apply when renaming a VM:
Automatically named resources:
- When you rename a VM, the names of any resources that were based on the original VM name are not updated. For example, when you create a VM, the name of the boot disk is the same as the name of the VM. If you rename the VM, the name of the boot disk does not change.
DHCP server:
- After renaming a VM, the DHCP server responds to DHCP requests with the
updated hostname with the format
HOSTNAME.c.PROJECT_ID.internal
for global DNS andHOSTNAME.ZONE.c.PROJECT_ID.internal
for zonal DNS. For more information, see Types of internal DNS names.
- After renaming a VM, the DHCP server responds to DHCP requests with the
updated hostname with the format
Google Cloud console:
- You must refresh your browser for the Google Cloud console to update the name of the VM.
Hostnames:
Hostnames are modified when you change the name of the instance. On Windows, hostname updates might require a reboot.
VMs that have custom hostnames are not updated.
Changing the hostname directly on the host does not affect the name of the VM resource.
Managed instance groups:
- You can't rename instances that are in managed instance groups (MIGs)
because these instances automatically and irreversibly inherit their names
from the
base instance name
property of their stateless MIG.
- You can't rename instances that are in managed instance groups (MIGs)
because these instances automatically and irreversibly inherit their names
from the
Naming conventions:
You can't rename a VM with a name that is already in use by another VM in the project.
VM names must adhere to the resource naming conventions.
VM states:
- Stop the instance before
renaming it because you can only rename VMs that are in the
TERMINATED
state. You can't, for example, rename a VM that is in theSUSPENDED
state.
- Stop the instance before
renaming it because you can only rename VMs that are in the
Before you begin
-
Review, and if applicable, update the following:
- Cloud Monitoring groups, charts, and alerts: Monitoring matches strings, and when you rename a VM, these strings are not updated. If you rename a VM, update your Monitoring rules to include the renamed VMs in your reports.
- Console URLs: Renaming a VM changes its console URL. If you rename a VM, you must update links, such as browser bookmarks that reference the VM's console URL.
- Identity and Access Management (IAM) conditional role bindings: Conditional role bindings support granting permissions on the name of the resource. For example, IAM might grant a role to a user if the name of a VM begins with a particular string. These bindings are not updated when you change the name of a VM, so a user's access to the VM resource might be affected because you are changing the set of VMs that the prefixed name applies to. If you rename a VM, update these bindings.
-
Internal DNS service cache: The
internal DNS service assigns internal DNS names to VMs, in which the
hostname is of the format
HOSTNAME.c.PROJECT_ID.internal
for global DNS andHOSTNAME.ZONE.c.PROJECT_ID.internal
for zonal DNS. After renaming a VM, these hostnames change. Then, the internal DNS service begins resolving to the new hostname, and requests to the previous DNS name fail. If you rename a VM, you might need to update your DNS cache to update the hostname. For more information about global DNS and zonal DNS hostnames, see Types of internal DNS names. - Metadata queries: After renaming a VM, the metadata server reports the new name. If you rename a VM, update any scripts or programs that query the metadata server so they query for the VM's new name.
- Organization policies restricting external IP addresses: Constraints against VMs that have an external IP address reference the VM name. When you rename a VM, this constraint is not updated. If you rename a VM, update the external IP organization policy with the VM's new name.
- SQL Server host names: If you rename a VM that hosts SQL Server, you must update the SQL server VM name. For more information, see Rename a computer that hosts a stand-alone instance of SQL Server.
-
If you haven't already, then set up authentication.
Authentication is
the process by which your identity is verified for access to Google Cloud services and APIs.
To run code or samples from a local development environment, you can authenticate to
Compute Engine by selecting one of the following options:
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.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
Required roles
To get the permission that you need to rename a VM,
ask your administrator to grant you the
Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1
) IAM role on the project.
For more information about granting roles, see Manage access to projects, folders, and organizations.
This predefined role contains the
compute.instances.setName
permission,
which is required to
rename a VM.
You might also be able to get this permission with custom roles or other predefined roles.
Rename a VM
You can only rename stopped VMs that are in the TERMINATED
state.
Console
To rename a VM, do the following:
In the Google Cloud console, go to the VM instances page.
In the Name column, click the name of the VM.
If you haven't already, stop the VM by doing the following:
Click
Stop.To confirm, click Stop.
Stopping the VM can take up to 90 seconds to complete.
Click
Edit.In the VM instance name field, enter a new name for the VM.
Click Save.
Renaming the VM can take up to a minute to complete. If, after renaming the VM, you get an error that Google Cloud is unable to find the VM, refresh your browser.
If you need to, restart the VM by clicking
Start / Resume.
gcloud
To rename a VM, do the following:
If you haven't already, stop the VM.
To rename the VM, use the
gcloud compute instances set-name
command.gcloud compute instances set-name VM_NAME \ --new-name=NEW_VM_NAME \ --project=PROJECT_ID \ --zone=ZONE
Replace the following:
VM_NAME
: the name of an existing VM.NEW_VM_NAME
: the new name for the specified VM.PROJECT_ID
: the ID of the project where the VM is located.ZONE
: the zone where the VM is located.
Renaming the VM can take up to a minute to complete.
If you need to, restart the VM.
REST
To rename a VM, do the following:
If you haven't already, stop the VM.
To rename the VM, make a
POST
request to theinstances.setName
method.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setName { "currentName": "VM_NAME", "name": "NEW_VM_NAME" }
Replace the following:
PROJECT_ID
: the ID of the project where the VM is located.ZONE
: the zone where the VM is located.VM_NAME
: the name of an existing VM.NEW_VM_NAME
: the new name for the specified VM.
Renaming the VM can take up to a minute to complete. To monitor the status of the renaming, poll the operation ID returned by the rename API. For more information, see Handling API responses.
If you need to, restart the VM.
What's next
Learn how to view the details of the VM.
Learn how to stop or restart a VM.
Learn how to suspend or resume a VM.
Learn more about VMs lifecycle.