---
title: "Creating virtual machines"
description: "A complete guide to creating VMs on Edge Network: choosing a region and operating system, sizing resources, selecting SSH keys and advanced options."
url: "https://edge.network/docs/compute/creating-vms"
section: "Compute"
---

# Creating virtual machines

Everything you need to know about deploying new VMs, from region selection to configuration options.

## Choosing a region

Edge currently offers VMs in two regions (Europe and USA), with many more coming soon. Choose the region closest to your users for the lowest latency.

- **Europe:** London, UK
- **North America:** Miami, FL

> [!TIP]
> You can deploy VMs across multiple regions for redundancy. Private networks work within a single region, but VMs can communicate across regions via their public IPs.

![Create VM form with configuration options](/media/docs/control-compute-create.svg)

## Operating systems

Choose from a range of pre-configured operating system images. All images are optimised for Edge infrastructure and include cloud-init for automated provisioning.

| Operating system | Available versions |
|---|---|
| Ubuntu | 24.04 LTS, 22.04 LTS, 20.04 LTS |
| Debian | 12, 11, 10 |
| CentOS | Stream 9, Stream 8 |
| Alma Linux | 9, 8 |
| Rocky Linux | 9, 8 |
| Fedora | 39, 38 |
| FreeBSD | 14.0, 13.2 |
| Alpine Linux | 3.19, 3.18 |

> [!WARNING]
> **Custom ISOs.** You can boot VMs from your own installer ISO. To set this up:
>
> 1. Create a Storage bucket named `iso` and upload your `.iso` file (up to 10 GB) to it.
> 2. Contact support to have the ISO reviewed and attached to your account.
> 3. Once attached, "Custom ISO" appears as an operating system option when creating a VM.
>
> The VM boots your installer on a blank disk. Complete the installation via the browser Console, configuring networking manually with the network details shown on the VM's **Networking** tab. Because ISO installs run entirely under your own OS, panel features that operate inside the guest are unavailable: SSH keys, passwords, hostname changes, setup scripts and enhanced monitoring. Manage these within your operating system instead.

## VM configuration

Configure your VM's resources using the sliders. Each resource is priced individually and billed hourly from your prepaid balance.

### vCPUs (1–32)

Virtual CPU cores for your VM. More cores allow better parallel processing and handling of concurrent requests.

- **1–2 vCPUs:** small applications, development, low-traffic websites
- **4–8 vCPUs:** production workloads, databases, medium traffic
- **16–32 vCPUs:** high-performance applications, data processing

### Memory (1–64 GB)

RAM available to your VM. Important for applications that cache data in memory.

- **1–2 GB:** minimal applications, static sites
- **4–8 GB:** most web applications, small databases
- **16–64 GB:** large databases, caching servers, in-memory processing

### NVMe storage (10 GB – 2 TB)

High-performance NVMe SSD storage. All storage is provisioned on fast NVMe drives.

- **25–50 GB:** small applications, containers
- **100–250 GB:** databases, file storage
- **500 GB – 2 TB:** large datasets, media storage

## SSH key selection

Select one or more SSH keys to enable access to your VM. You must add SSH keys to your account before creating a VM.

**No SSH keys yet?** Add SSH keys in **Resources → SSH Keys** before creating a VM. [Learn more about SSH keys](/docs/compute/ssh-keys).

> [!NOTE]
> You can select multiple SSH keys. This is useful when several team members need access to the same VM.

## Advanced options

### Hostname

The hostname identifies your VM in the console and sets the system hostname. Use lowercase letters, numbers and hyphens, for example `web-server-1`, `api-prod` or `database-eu`.

### Tags (coming soon)

Organise your VMs with custom tags for easier filtering and management.

### User data (coming soon)

Pass cloud-init scripts or configuration to automate VM setup on first boot.

## Next steps

- [Managing VMs](/docs/compute/managing-vms) — Start, stop, resize and delete your VMs
- [Configure firewall](/docs/compute/firewall) — Secure your VM with firewall rules
