# Create a Google Cloud C4A instance

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/)
- [Learn about PAC/BTI security features and OpenJDK support](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/background/)
- [Create a Google Cloud C4A instance](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/instance/)
- [Test PAC/BTI support with SUSE OpenJDK](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/jvm-testing/)
- [Test PAC/BTI support with Oracle JDK](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/jvm-testing-2/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/_next-steps/)

## Provision an Arm Neoverse VM on Google Cloud
In this section, you provision a Google Axion C4A VM on Google Cloud Platform (GCP) using the `c4a-standard-4` machine type, which provides 4 vCPUs and 16 GB of memory.

> **Note**  
> For general guidance on setting up a Google Cloud account and project, see the Learning Path [Getting started with Google Cloud Platform](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/google/).

## Provision a Google Axion C4A VM in the Google Cloud Console
Open the [Google Cloud Console](https://console.cloud.google.com/) and go to **Compute Engine** > **VM instances**, then select **Create instance**. Give the instance a name, and choose your preferred **Region** and **Zone**.

Under **Machine configuration**, set the series and machine type:
- Set **Series** to **C4A**
- Set **Machine type** to **c4a-standard-4**

![Creating a Google Axion C4A VM in the Google Cloud Console](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/images/gcp-vm.png)  
*Creating a Google Axion C4A VM in the Google Cloud Console*

Under **OS and storage**, select **Change** and choose an Arm64-based image. For this Learning Path, select **SUSE Linux Enterprise Server** with the **Pay as you go** license type, then select **Select** to apply.

Under **Networking**, enable **Allow HTTP traffic** and **Allow HTTPS traffic**, then select **Create** to launch the VM.

After the instance starts, select **SSH** next to the VM in the instance list to open a browser-based terminal session.

Alternatively, if you have the [gcloud CLI](https://learn.arm.com/install-guides/gcloud/) installed, you can connect from a local terminal using `gcloud`. From the **SSH** dropdown, select **View gcloud command** and run that command from your terminal.

![Connecting to a running C4A VM using SSH](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/images/gcp-ssh.png)  
*Connecting to a running C4A VM using SSH*

A new browser window opens with a terminal connected to your VM.

![Terminal session connected to the VM](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openjdk-pacbti-gcp/images/gcp-shell.png)  
*Terminal session connected to the VM*

## What you’ve learned and what’s next
You’ve successfully created a Google Cloud C4A virtual machine running on Arm Neoverse-V2 and opened an SSH session. Next, you’ll install OpenJDK and run a comprehensive PAC/BTI validation script.
