The Tau T2A Arm machine series provides on-demand and Spot VMs for your Arm workloads. This page describes how to create a VM running the Tau T2A machine series.
Before you begin
- If you want to use the command-line examples in this guide, do the following:
- Install or update to the latest version of the Google Cloud CLI.
- Set a default region and zone.
- If you want to use the API examples in this guide, set up API access.
Tau T2A free trial
Until March 31, 2024 Tau T2A VMs are available for a free trial. You
automatically receive a monthly credit of $222 per billing account to
create VM resources in the us-central1
region.
You can create multiple VMs, however once the total cost of your resources
exceeds $222, your account is billed for any additional resources you are using.
This offer covers only VM costs. Other Compute Engine resources and
services are charged to your billing account.
Available regions
This series is available only in select regions and zones.
Supported OS images
The following OS images are supported on Tau T2A VMs:
- Debian 11
- Ubuntu version 22.04, 20.04, or 18.04
- Rocky Linux version 9
- Rocky Linux Optimized for Google Cloud version 9
- RHEL version 9
- SLES 15
- Container-Optimized OS (COS) milestone 101 and above
Create an Arm VM
Use the Google Cloud console, the Google Cloud CLI or the Compute Engine API to create an Arm VM. Use an Arm-supported OS image, which by default, has NVMe and gVNIC enabled. Review the T2A limitations before you create a VM.
During Public preview
certain operating systems do not support all options. For example, if you are
using a Debian OS you must set the secure boot option to
--no-shielded-secure-boot
. Check
which options are supported by your OS. See Troubleshooting Arm VMs for details.
Console
In the Google Cloud console, go to the VM instances page.
Select your project and click Continue.
Click Create instance.
Specify a Name for your VM. For more information, see Resource naming convention.
Choose a Zone for this VM that supports Tau T2A.
Select General-purpose from Machine configuration.
- Select T2A from the Series drop-down menu.
- Choose a T2A Machine type from the drop-down menu.
In the Boot disk section, click Change, and then do the following:
- On the Public images tab, choose the following:
- The default Debian-11-Arm64 image or any other supported Arm OS.
- Boot disk type
- Boot disk size
- To confirm your boot disk options, click Select.
- On the Public images tab, choose the following:
Open the NETWORKING, DISKS, SECURITY, MANAGEMENT, SOLE-TENANCY section.
- Open Networking.
- From Network performance configuration, open the Network interface card drop-down menu and select gVNIC.
To create and start the VM, click Create.
gcloud
- Select a public image. Make a note of the name of the image or image family and the name of the project containing the image.
- Use the gcloud compute instances create command to create a VM from an image family or from a specific version of an Arm OS image.
gcloud compute instances create VM_NAME \ --project=PROJECT_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ [--image=IMAGE | --image-family=IMAGE_FAMILY] \ --network-interface=nic-type=GVNIC
For example:
gcloud compute instances create arm-vm \ --project=my-arm-project \ --zone=us-central1-a \ --machine-type=t2a-standard-1 \ --image-project=debian-cloud \ --image-family=debian-11-arm64 \ --network-interface=nic-type=GVNIC
The gVNIC network interface is automatically set for you during instance creation.
API
Select a public image. Make a note of the name of the image or image family and the name of the project containing the image. Call the instances.insert method to create a VM from an image family or from a specific version of an Arm OS image:
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": { "nicType": "GVNIC" } }
Replace the following:
- PROJECT_ID: the ID of the project in which you are creating your VM.
- ZONE: the zone in which you are creating your VM.
- MACHINE_TYPE: the machine type of your VM. For example:
t2a-standard-2
- VM_NAME: the name for your VM.
- IMAGE_PROJECT: project containing the image.
For example: If you specify
debian-11
as the image family, specifydebian-cloud
as the image project. - IMAGE or IMAGE_FAMILY: specify one of the following:
- IMAGE: a specific version of a public image.
For example: specify the
sourceImage
asprojects/debian-cloud/global/images/debian-11-arm64
- IMAGE_FAMILY: an image family This creates the VM from the most recent, non-deprecated OS image. For example, specify "sourceImage": "projects/debian-cloud/global/images/family/debian-11-arm64", to create a VM from the latest version of the OS image in the Debian 11 Arm image family.
- IMAGE: a specific version of a public image.
For example: specify the
For example:
https://compute.googleapis.com/compute/v1/projects/my-arm-project/zones/us-central1-a/instances { "machineType": "zones/us-central1-a/machineTypes/t2a-standard-2", "name": "arm-vm", "disks": [ { "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-11-arm64" }, "boot": true } ], "networkInterfaces": { "nicType": "GVNIC" } }
What's next?
- Connect to your VM instance.
- Create and attach a non-boot storage disk to your VM to store your data separately from the boot disk.
- Learn how to reserve resources in a specific zone.