---
title: "Quick Start - Instances"
description: "Initialize your first Exoscale VM: set up SSH key pairs, choose OS templates, configure CPU/RAM, disk size and scale your instance effortlessly."
url: https://community.exoscale.com/product/compute/instances/quick-start/
product: "Instances"
section: product
last_updated: 2026-09-30
---
> For AI agents: the documentation index is at https://community.exoscale.com/llms.txt. Every page is available as markdown at `<page URL>index.md` or with `Accept: text/markdown`.

# Quick Start - Instances

In this quick start guide, you will create and access your first instance (sometimes referred to as a virtual machine or VM).

## Prerequisites {#before-instance-creation}
Before you create an instance, if you plan to use a Linux-based or BSD-based operating system, we strongly encourage you to set up an __SSH Key Pair__ for added security and ease of access.

Follow the tutorial on [SSH Key Pair Setup](https://community.exoscale.com/product/compute/instances/how-to/ssh-keypairs/index.md) first before you start this guide.

You also need to have [enough credit](https://community.exoscale.com/platform/quick-start/index.md) to start and run your instance.

## First Steps via CLI

Install and configure the
[Exoscale CLI](https://community.exoscale.com/tools/command-line-interface/index.md), then make sure
you have:

- an SSH key pair registered in Exoscale;
- a Security Group that allows inbound TCP traffic on port 22 from your trusted
  source IP or network;
- the zone, template, and instance type you want to use.

Create a Linux instance:

```bash
exo compute instance create my-first-instance \
  --zone <zone> \
  --template "Linux Ubuntu 24.04 LTS 64-bit" \
  --instance-type standard.medium \
  --disk-size 50 \
  --ssh-key <ssh-key-name> \
  --security-group <security-group-name>
```

The command waits for instance creation to finish and displays the instance
state, IP address, template, instance type, and storage configuration.

Inspect the instance:

```bash
exo compute instance show my-first-instance --zone <zone>
```

When the instance is running, connect through SSH:

```bash
exo compute instance ssh my-first-instance --zone <zone>
```

For all supported creation options, see the
[`exo compute instance create` reference](https://community.exoscale.com/reference/cli/exo/compute/instance/create/index.md).

## First Steps via Portal

Open the [Exoscale Portal](https://portal.exoscale.com/) and complete the
following steps to create and access your first Compute instance.

### Create Your Instance {#create-your-instance}
In the Exoscale Portal, select __COMPUTE__ from the main navigation on the left. Then select __INSTANCES__. From the instance list view, click on the __ADD__ button to start the instance creation wizard.



#### Name Your Instance {#name-your-instance}
Choose a display name for your instance. Only letters, digits and hyphens are allowed. If you leave this field blank, the instance's display name will be the instance's UUID.

A good naming convention for your instances will help you work on them later, because you can filter your instance list by display name. You can also change the display name of your instance later on the instance detail view.

#### Choose Your Template {#choose-your-template}
From the templates list, you can choose operating systems based on Linux, BSD,
or Windows. Windows Server templates are also supported on Storage Optimized
instances. For this guide, we recommend choosing either the latest Ubuntu Linux
or Microsoft Windows Server distribution.

#### Choose Your RAM & CPU Config {#choose-your-ram--cpu-config}
You can choose between different service levels, which are combinations of CPU
cores and RAM memory. Some operating systems may be restricted because of their specifications.

Please note you will be able to modify your service level choice later on by
scaling your instance up or down. You can read 
[more about scaling](https://community.exoscale.com/product/compute/instances/how-to/instance-scaling/index.md) for additional details.

#### Choose Your Instance Volume Size {#choose-your-instance-volume-size}
Like service levels, some disk sizes may be restricted by operating
system limitations.

Consider initial disk size selection as a start point for the size of your volume.
You can adjust disk size values later from the instance detail view, scaling up to as high as 400 GB in increments of 1 GB. 
You can learn more [on volume scaling](https://community.exoscale.com/product/compute/instances/how-to/instance-scaling/index.md) on its documentation page.



#### SSH key pairs for Linux-based instances {#ssh-key-pairs-for-linux-based-instances}
Like we mentioned at the top of this guide, we assume you will use an 
[SSH key pair](https://community.exoscale.com/product/compute/instances/how-to/ssh-keypairs/index.md) if you choose to start a Linux-based instance.

(If you are using a Windows-based instance, you can skip this section.)

Your instance will be automatically provisioned with the key you choose. You
will be able to access it via SSH right away.

#### Firewall rules - Security Groups {#firewall-rules---security-groups}
Security Groups are firewall rules. An empty security group called `default`
is already provided, but you can add more security groups or even combine them.
A security group without defined rules behaves like this:

* All incoming traffic is blocked
* All outgoing traffic is allowed

At least one security group has to be associated with an instance. If you choose no security group, 
`default` is associated automatically. You can also add and
remove [security groups](https://community.exoscale.com/product/networking/security-group/index.md)
later on from the instance details view.

For this guide, choose the `default` security group to continue.



#### Anti-Affinity Groups and User Data {#anti-affinity-groups-and-user-data}
Anti-affinity groups ensure your machines are created on
different hypervisors, and user data is a way to automatically
provision your instance with additional software or settings. For example,
installing Wordpress or importing more SSH keypairs.

However, anti-affinity groups and user data are more advanced features. You can skip them for your first instance creation. If you are interested, you can take a look at:

* [Anti-Affinity Groups](https://community.exoscale.com/product/compute/instances/how-to/anti-affinity/index.md)
* [Cloud-Init and User Data](https://community.exoscale.com/product/compute/instances/how-to/cloud-init-user-data/index.md)

#### Launch the instance creation {#launch-the-instance-creation}
Now click on the __ADD__ button. You will be redirected to the instance
list, where you will see your new instance listed.

The instance will be marked as
`STOPPED` at first. You should see the label change to `STARTING` and then
change to `RUNNING`. Now you can log in to your new Compute instance!



### Access Your Instance

#### Log into a Linux-Based Instance {#log-into-a-linux-based-instance}
If you followed along and you attributed the default empty security group to
your instance, your new server cannot be accessed from outside. Your security
group has no rules defined, so all incoming traffic will be denied.

You will access your instance via SSH. To access via SSH, we have to make sure that
inbound traffic is allowed on port 22.

Click on __COMPUTE__ in the main navigation and select the __SECURITY GROUPS__ section. Then click on the
`default` security group. The first view is the group detail, where all
rules of the group are listed. You will also see the list of instances your group
is attached to.

In the upper right header, you will find buttons to either choose a template (a
shortcut to add the most common rules) or add your own configured rule. Choose
the SSH template. Create a new rule with the following settings:

* Type: inbound
* Source Type: CIDR
* CIDR: `<your-public-ip>/32`
* Protocol: TCP
* Start Port: 22
* End Port: 22

> [!IMPORTANT]
> Restrict SSH access to a trusted source IP or network. Do not use
> `0.0.0.0/0` unless unrestricted public access is explicitly required and you
> understand the security risk.



You should now be able to log into your
instance from a Linux command line with:

`ssh root@<instance IP>`

You can find your server's IP in the instance list view and in the instance
detail.

#### Log into a Windows-Based Instance {#log-into-a-windows-based-instance}
Like we mentioned with security groups, your Windows instance will not be
accessible from outside until you define some rules for the security group.

Click on __COMPUTE__ in the main navigation and select the __SECURITY GROUPS__
section. Then click on the `default` security group. The first view is the
group detail, where all rules of the group are listed. You will also see the
list of instances your group is attached to.

In the upper right header, you will find commands to either choose a template
(a shortcut to add the most common rules) or add your own configured rule.
Choose the Remote Desktop Protocol (or RDP) template, which will create a
new rule with the following settings:

* Type: inbound
* Source Type: CIDR
* CIDR: `<your-public-ip>/32`
* Protocol: TCP
* Start Port: 3389
* End Port: 3389

> [!IMPORTANT]
> Restrict RDP access to a trusted source IP or network. Do not expose port
> 3389 to the entire internet unless it is explicitly required.



After you allow traffic on port 3389, point your remote desktop client to the public IP address of your instance using the 
username `administrator`. You will find your instance password in the instance detail.

> [!NOTE]
> If you do not immediately see the password in the instance detail, wait about 60 seconds for the password to appear on the Portal. 
> The password will be available through the Portal for __a very short period of time__ - just a few hours, so please take note of it. 
> You can reset it from the same instance detail if necessary.



## Next Steps

* [Scale your instance](https://community.exoscale.com/product/compute/instances/how-to/instance-scaling/index.md)
* [Create and manage snapshots](https://community.exoscale.com/product/compute/instances/how-to/snapshot/index.md)
* [Automate configuration with cloud-init and user data](https://community.exoscale.com/product/compute/instances/how-to/cloud-init-user-data/index.md)
* [Manage groups of instances with Instance Pools](https://community.exoscale.com/product/compute/instances/how-to/instance-pools/index.md)

