RustDesk on AWS means running your own ID and relay server instead of routing every remote session through RustDesk's public servers (or paying TeamViewer per seat). The server is two small processes and a handful of ports, so the AWS side is cheap. The fiddly part is the security group and getting each client to trust your server's key, and that's where most first installs go wrong.
This guide covers what the RustDesk server actually is, the AWS side (instance, ports, DNS), and how to get clients using it.
What is RustDesk?
RustDesk is an open source remote desktop tool written in Rust, licensed AGPL-3.0 for both the client and the server. Out of the box the client uses RustDesk's public servers to find and connect to other machines, which works but means a third party brokers every session. Running your own server changes that: your clients register with your ID server, and any traffic that can't go peer to peer goes through your relay.
What you get with a self-hosted server
- Remote control, file transfer and clipboard sync across Windows, macOS, Linux, Android and iOS, with sessions end-to-end encrypted between clients.
- No per-seat licence for the open source server, however many machines you add.
- Sessions that stay on infrastructure you chose, which is usually the actual reason people move off TeamViewer.
- What you don't get without Server Pro: a web console, shared address book, audit log, access control or SSO. Small teams rarely miss them; IT departments do.
RustDesk vs TeamViewer and AnyDesk
While tools like TeamViewer and AnyDesk are popular, RustDesk offers unique advantages that make it a compelling alternative.
| Feature | RustDesk | TeamViewer / AnyDesk |
|---|---|---|
| Privacy & Control | Full control with self-hosting capabilities, ensuring your data stays yours. | Data is processed through third-party servers, raising potential privacy concerns. |
| Pricing Model | Client and open source server are free (AGPL-3.0); Server Pro from $11.88/month for admin features. | Often requires expensive subscriptions for commercial use. |
| Simplicity | Clients install in a minute; a self-hosted server needs a few ports and a key. | Nothing to host; install and sign in. |
| Customization | Open-source nature allows for deep customization to meet your specific needs. | Limited customization options available. |
What the RustDesk AMI Sets Up on AWS
A self-hosted RustDesk server is two programs from the rustdesk-server project. hbbs is the ID (rendezvous) server: clients register with it and it helps them punch a direct connection through NAT. hbbr is the relay that carries the session when a direct connection isn't possible. The Meetrix AMI installs both as services and generates the server key pair, so you get a working server instead of a Docker compose file to debug.
Put the server in the AWS region closest to the people using it. Relayed sessions pass through it, and the RustDesk docs put a relayed 1080p session at roughly 30 KB/s to 3 MB/s depending on how much of the screen is changing, about 100 KB/s for office work. A small instance handles that easily; the region matters more than the size.
Ports to Open in the AWS Security Group
| Port | Used by | Open it? |
|---|---|---|
| 21115/tcp | hbbs, NAT type test | Yes |
| 21116/tcp and 21116/udp | hbbs, ID registration and hole punching | Yes, both protocols |
| 21117/tcp | hbbr, relay | Yes |
| 21118/tcp, 21119/tcp | WebSocket for the web client | Only if you use the web client |
| 21114/tcp | Server Pro web console and API | Only on Server Pro |
| 22/tcp | SSH | Your own IP only |
Forgetting UDP 21116 is the classic mistake. hbbs uses it for registration and hole punching, so without it clients either never show as online or end up sending everything through the relay.
How to Install Rustdesk in AWS: Developer Guide
Quick Video Guide
Installation Process
The whole launch takes about 15 minutes, most of it waiting for CloudFormation.
Step 1: Find the RustDesk AMI in the AWS Marketplace
In the AWS Marketplace, search for "RustDesk" and open the Meetrix listing. If this is a new AWS account, check your EC2 vCPU quota in the target region first; our vCPU quota guide covers the request if it's too low.
Step 2: Subscribe and Accept Terms
Click Continue to Subscribe, accept the terms, then Continue to Configuration and pick the region closest to your users.
Step 3: Choose the Instance Size
The server itself needs very little: the RustDesk docs say a basic cloud server is enough. A t3a.micro or t3a.small is plenty for a small team. What grows with use is relay bandwidth, not CPU, so watch data transfer on the bill if many sessions end up relayed.
Step 4: Launch the CloudFormation Stack
Launch through CloudFormation, fill in the stack name, key pair and VPC/subnet, and wait for CREATE_COMPLETE. The security group it creates should match the port table above; check it before you move on.
Step 5: Get the Server Key
SSH in and read the public key the server generated (id_ed25519.pub in the RustDesk server's data directory). You'll paste it into every client in Step 7.
Step 6: Configure Your DNS
If you're using a custom domain, configure AWS Route 53 to point your domain to the new instance by updating your DNS records.
Step 7: Point Your Clients at the Server
In each RustDesk client, open Settings, then Network, and enter your server's address in the ID Server field and its public key (the contents of id_ed25519.pub on the server) in the Key field. Get the key wrong and connections fail with a key mismatch. Do this on both ends of every connection.
Using RustDesk as an AWS Remote Desktop for Linux
A common follow-up question: can the same setup give you a desktop on an EC2 Linux instance? Yes, with one catch. A standard Ubuntu or Amazon Linux AMI has no desktop at all, so install one first (Xfce is the light option), then install the RustDesk client on that instance and point it at your server like any other machine. If you only need a shell, SSH or Session Manager is simpler; RustDesk earns its place when someone needs a real GUI on a cloud box. For AnyDesk on AWS the story is different, since its traffic goes through AnyDesk's own network; our RustDesk vs TeamViewer vs AnyDesk comparison covers that trade-off.
Is Self-Hosting RustDesk on AWS Worth It?
For a small team, yes. The open source server costs you a small EC2 instance and an afternoon, and nobody is metering seats. Once you need an address book, audit logs or SSO, look at RustDesk Server Pro (from $11.88 a month billed yearly) rather than building those yourself. The full launch walkthrough with screenshots is in our RustDesk developer guide, and the RustDesk on Google Cloud article covers the same setup on GCP.
Frequently Asked Questions
What is RustDesk?
RustDesk is an open source (AGPL-3.0) remote desktop app for Windows, macOS, Linux, Android and iOS. Its main difference from TeamViewer or AnyDesk is that you can run your own ID and relay server, so sessions don't depend on a vendor's network.
Is RustDesk free?
The client and the open source server (hbbs and hbbr) are both AGPL-3.0 and free, including for business use. RustDesk Server Pro is the paid part: from $11.88 a month billed yearly, it adds a web console, address book, audit log, access control and SSO.
Why choose RustDesk over competitors like TeamViewer or AnyDesk?
Mainly control and cost. With your own server, sessions are brokered by infrastructure you run and there's no per-seat fee. TeamViewer and AnyDesk are more polished and easier for non-technical users, so for a family helpdesk they may still be the simpler choice.
Which ports does a RustDesk server need on AWS?
TCP 21115, 21116 and 21117, plus UDP 21116. Add TCP 21118 and 21119 only if you use the web client, and 21114 only for Server Pro's web console. SSH on 22 should be limited to your own IP.
Can RustDesk work as an AWS remote desktop for Linux instances?
Yes, if the instance has a desktop session. Install a desktop environment such as Xfce, install the RustDesk client on the instance, and point it and your laptop at your own RustDesk server. Headless servers with no display have nothing to share.
What are the benefits of deploying RustDesk on AWS with Meetrix?
The AMI installs hbbs and hbbr as services, generates the server key and sets up the security group, so you skip the Docker setup. You pick the region, so relayed sessions stay close to your users, and Meetrix support is there if the stack fails.