# Google Cloud

### Here are some logistics you will need to prepare before hand:

1. Laptop
2. Google Cloud account with free trial activated. Credit card details are needed but don’t have to charge it
   * <https://cloud.google.com/free>
3. Go into your Google Cloud console&#x20;

   <figure><img src="https://1628445806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoML8XLjdWBoYbtGBoQ9R%2Fuploads%2F5WuJW84kDgivWRe3Zo6X%2Fimage.png?alt=media&#x26;token=0bf04042-f7f0-4b80-99ea-555533b4f900" alt=""><figcaption></figcaption></figure>
4. Go to **Create a VM**&#x20;

   <figure><img src="https://1628445806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoML8XLjdWBoYbtGBoQ9R%2Fuploads%2Fnoiv6Ipf3ryJoyFoWUzw%2Fimage.png?alt=media&#x26;token=6141723c-a1b6-4ea7-b568-df5bbb7d48a0" alt=""><figcaption></figcaption></figure>
5. Enable the **Compute Engine API**&#x20;

   <figure><img src="https://1628445806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoML8XLjdWBoYbtGBoQ9R%2Fuploads%2FchErCG1L9zrCJmXfc5PU%2Fimage.png?alt=media&#x26;token=bf472506-d4a8-4a56-b702-dec17dab9d28" alt=""><figcaption></figcaption></figure>

## Create a new VM

Go to your google cloud console and create a new VM.

<figure><img src="https://content.gitbook.com/content/oML8XLjdWBoYbtGBoQ9R/blobs/zu3HmYBz4s8Gg3I5voie/image.png" alt=""><figcaption></figcaption></figure>

Choose the following settings:

1. **Name:** Choose your own name or leave it as the default setting
2. **Region:** Choose your preferred region but it is recommended to diversify away from the popular regions (e.g. US, EU) for mainnet setups to minimise the risk of <mark style="color:red;">correlated downtime.</mark> I am going with Singapore in this example.
3. **Zone:** Choose any
4. **Machine configuration:** E2
5. **Machine type:** e2-standard-2, 8GB memory

<figure><img src="https://1628445806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoML8XLjdWBoYbtGBoQ9R%2Fuploads%2FyDnGay46O4AzQX7jqX0u%2Fimage.png?alt=media&#x26;token=4cd1f426-606a-4b39-90f3-9aa36fceae24" alt=""><figcaption></figcaption></figure>

Under **OS and Storage**>>**Boot disk**, click on the **"change"** button.

<figure><img src="https://content.gitbook.com/content/oML8XLjdWBoYbtGBoQ9R/blobs/ShiBGOKzBy9JqqwQcBk6/image.png" alt=""><figcaption></figcaption></figure>

Select `Ubuntu` for the operating system, `Ubuntu 24.04 LTS x86` for the version, `SSD persistent disk` for the boot disk type, and `300 GB` for the size of the storage. <mark style="color:blue;">**Note:**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">Use</mark> <mark style="color:blue;"></mark><mark style="color:blue;">`250 GB`</mark> <mark style="color:blue;"></mark><mark style="color:blue;">storage if 300 GB does not work for you.</mark>

<figure><img src="https://1628445806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoML8XLjdWBoYbtGBoQ9R%2Fuploads%2FYwIIBJaCA966ezNA2So5%2Fimage.png?alt=media&#x26;token=7ea2fe73-e0ba-4033-b1ad-7d337545ba31" alt=""><figcaption></figcaption></figure>

Select `No service account` under **Security**>>**Identity and API access**.

<figure><img src="https://1628445806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoML8XLjdWBoYbtGBoQ9R%2Fuploads%2FYfbZQTf4JHbl5zVXayL3%2FScreenshot%202024-09-02%20at%202.55.20%E2%80%AFPM.png?alt=media&#x26;token=edc894bf-d102-4be1-9bcc-b3ff2839d407" alt=""><figcaption></figcaption></figure>

Check the first 2 boxes under the **"Firewall"** section.

<figure><img src="https://1628445806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoML8XLjdWBoYbtGBoQ9R%2Fuploads%2FauhtuR8RFFuvSNBIsHYH%2Fimage.png?alt=media&#x26;token=fa1bc013-420f-441f-968d-92fe40e4b1f6" alt=""><figcaption></figcaption></figure>

Once you are done, click on the **"Create"** button at the bottom of the screen.

**Expected output:** You should see your VM instance coming online after loading for a few seconds

<figure><img src="https://content.gitbook.com/content/oML8XLjdWBoYbtGBoQ9R/blobs/d2RvuOp5KBWjY7ENwrzT/image.png" alt=""><figcaption></figcaption></figure>

&#x20;Click on the dropdown beside the **"SSH"** column and select **"Open in browser window".** Click on **"Authorize"** when prompted.

<figure><img src="https://content.gitbook.com/content/oML8XLjdWBoYbtGBoQ9R/blobs/2Q2YLvmx1mbGgZ94FI8O/image.png" alt=""><figcaption></figcaption></figure>

**Expected output:** Wait for the new window to load and your Ubuntu terminal will appear.

<figure><img src="https://content.gitbook.com/content/oML8XLjdWBoYbtGBoQ9R/blobs/ffOailZ336whxXaTrYX7/image.png" alt=""><figcaption></figcaption></figure>

Once you are logged into your VM via SSH, run a general update using the command below.

```sh
sudo apt update -y && sudo apt upgrade -y
```

## Next Steps:

1. Lido CSM
   1. [Eth-Docker](https://dvt-homestaker.stakesaurus.com/bonded-validators-setup/lido-csm/automations/csm-with-eth-docker)
   2. [Ethpillar](https://dvt-homestaker.stakesaurus.com/bonded-validators-setup/lido-csm/automations/csm-with-ethpillar)
   3. [Dappnode](https://dvt-homestaker.stakesaurus.com/bonded-validators-setup/lido-csm/automations/csm-with-dappnode)
2. [Obol Techne Bronze Speedrun](https://dvt-homestaker.stakesaurus.com/dvt-setup/obol/techne-bronze-speedrun-launchpad)
3. [SSV Operator](https://dvt-homestaker.stakesaurus.com/dvt-setup/ssv/ssv-operator)
4. **"Vanilla" Solo Staking:** Jump to the [Device level security setup](https://dvt-homestaker.stakesaurus.com/linux-os-networking-and-security/device-level-security-setup) section


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dvt-homestaker.stakesaurus.com/hardware-and-systems-setup/practicing-for-free-on-cloud-vms/google-cloud.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
