An Instance on Atlas Cloud is one virtual machine. You launch it with four ingredients: a Compute Offering (size), a Template (OS image), a Network, and an SSH key.
The fastest path is the Quickstart — five steps with copy-paste code for Console, CLI, Terraform, or curl. This page is the longer reference if you want to dive into any one step.
Compute Offerings
Atlas offerings follow the pattern Atlas.aN[w]:
| Name | vCPU | RAM | Family |
|---|---|---|---|
Atlas.a4 | 1 | 4 GiB | Linux |
Atlas.a5 | 2 | 8 GiB | Linux |
Atlas.a6 | 4 | 16 GiB | Linux |
Atlas.a7 | 8 | 32 GiB | Linux |
Atlas.a7w | 8 | 32 GiB | Windows |
Atlas.a8w | 16 | 64 GiB | Windows |
Pick the smallest that fits — you can resize later. For first-time experiments, Atlas.a4 is the cheapest. For real workloads, Atlas.a5 is the default.
# List the current set
cmk list serviceofferings filter=name,id,cpunumber,memoryTemplates
A Template is the OS image your instance boots from. Atlas ships a featured set (Ubuntu 24.04 LTS by default). You can also import your own templates from a URL via Images → Templates → Register Template.
cmk list templates templatefilter=featured filter=name,id,ostypenameLaunch the instance
The Quickstart shows this in four interfaces. The shortest path:
SO=$(cmk list serviceofferings name=Atlas.a4 | jq -r '.serviceoffering[0].id')
TMPL=$(cmk list templates templatefilter=featured name="Ubuntu 24.04 LTS" | jq -r '.template[0].id')
NET=$(cmk list networks name=my-network | jq -r '.network[0].id')
ZONE=$(cmk list zones name=is1 | jq -r '.zone[0].id')
cmk deploy virtualmachine \
serviceofferingid=$SO templateid=$TMPL networkids=$NET zoneid=$ZONE \
keypair=mykey name=hello-atlasNetwork and SSH-key prerequisites are covered in Guest networks and SSH keys.
Lifecycle actions
Once running, an instance has these states and transitions:
| Action | Effect |
|---|---|
| Stop | Powers down the OS. Compute is no longer billed; root volume still is. |
| Start | Powers back up. Same root volume, same private IP. |
| Reboot | Restarts the OS (equivalent to reboot inside the VM). |
| Destroy | Powers off and marks the instance for deletion. Root volume goes too. With Terraform’s expunge = true, the record is removed immediately. |
| View console | Opens a VNC console via the web UI — useful when SSH is broken. |
CLI:
cmk stop virtualmachine id=<vm-id>
cmk start virtualmachine id=<vm-id>
cmk reboot virtualmachine id=<vm-id>
cmk destroy virtualmachine id=<vm-id> expunge=trueConnecting
After the instance starts and you’ve forwarded a public port (see Public IPs):
ssh ubuntu@<public-ip>Default user. Most Atlas Linux templates expose a cloud-init user that matches the OS:
| Template | User |
|---|---|
| Ubuntu | ubuntu |
| Debian | debian |
| AlmaLinux / Rocky | almalinux / rocky (sometimes cloud-user) |
root login is disabled by default. If SSH fails, see Can’t SSH to a VM.
Network attachment
An instance lives on one or more networks. The two shapes you’ll see:
- Guest Network — a simple flat L2 network with NAT. Good for one-off VMs.
- VPC tier — a subnet inside a routed VPC with its own ACL. Good for multi-tier architectures.
Inbound traffic from the public internet is controlled by:
- Firewall rules on the Public IP (stateful) — used with Guest Networks.
- Network ACLs on the VPC tier (stateless) — used inside VPCs.
See Public IPs and Network ACLs. Atlas does not use AWS-style Security Groups.
Advanced
- User data — pass a cloud-init script at launch to bootstrap software unattended. See User data & cloud-init.
- Snapshots — point-in-time copies of the root volume. See Snapshots.
- Resize — upgrade or downgrade the Compute Offering of a running instance. Requires a stop/start. From the Console: Compute → Instances → click the VM → Service Offering → pick a new size.
Common failures
- Stuck in
Starting→ Troubleshooting: VM stuck pending - SSH refused / times out → Troubleshooting: Can’t SSH to VM
- Public IP allocated but unreachable → check firewall rule + port-forward; see the SSH troubleshooting page for the full checklist