HOME / BLOG / How to Set Up Isaac ...


How to Set Up Isaac Sim on Non-Officially Supported AWS Instances with Remote Desktop Access

2025年10月15日

I needed to set up Isaac Sim on an AWS instance type not officially supported by the NVIDIA’s official Amazon Machine Image (AMI) NVIDIA Isaac Sim Development Workstation (Linux) for the Real World Robotics class- this is my (cleaned up) memo on how to do it.

Why would you want to do this? For us it was because the instance types supported by the official image were:

The tricky part I had to figure out was setting up the remote desktop with Amazon DCV- installing Isaac Sim (& Isaac Lab) was pretty straightforward, as I started out from the NVIDIA GPU-optimzied AMI which has the NVIDIA drivers already installed.

After going through this, you should be able to:

disclaimer: I’m just sharing what worked for me — use this at your own risk! Any AWS costs, instance hiccups, data loss, or other issues that come up from following this guide are completely your responsibility. Double-check your settings and pricing before spinning up anything.

choose the instance type

The website https://instances.vantage.sh/ has a useful table of all available AWS instance types- you can filter by the specs in the Isaac Sim requirements to choose your instance type.

For me, g4dn.2xlarge showed up as the cheapest (at $0.94/hour in eu-central-1) instance type which fulfills the minimum Isaac Sim requirements.

create Security Group

Before creating the instance, we create the security group so it can be chosen during the instance launch (of course you can do this later as well, it’s just “cleaner” for the tutorial if we do this first). The purpose is to set up which ports will allow inbound connections to your instance. In the “Security Groups” menu in EC2, create a new security group (name suggestion: IsaacSimConfiguration) with the inbound rules

Type Protocol Port range Source Description
SSH TCP 22 Anywhere-IPv4 for SSH connections
Custom TCP TCP 8443 Anywhere-IPv4 remote desktop with Amazon DCV
Custom TCP TCP 49100 Anywhere-IPv4 WebRTC streaming for Isaac Sim
Custom UDP UDP 47998 Anywhere-IPv4 WebRTC streaming for Isaac Sim

create the instance

  1. click on Launch instances in the EC2 Instances menu
  2. set some easily distinguishable name
  3. for Application and OS Images (Amazon Machine Image), search for NVIDIA GPU-optimized AMI
  4. select the instance type that you chose earlier (e.g. g4dn.2xlarge)
  5. set your SSH key pair so you can remote access your instance
  6. for Firewall (security groups), select the IsaacSimConfiguration that you made earlier
  7. for the storage I chose 128GB (minimum selectable for this instance type) of gp3 (AWS default storage type) storage.
  8. launch!

Now you should be able to connect to it with ssh -i C:\Users\path\to\key.pem ubuntu@***.***.***.***

set automatic shutdown of instance on low activity

optional but strongly recommended

After you launch the instance, you can set an alarm so that the instance turns off automatically after 1 hour of low activity (< 2% CPU usage)- important to avoid being overcharged when you’re not using the instance at all.

Create alarm as follows (I referred to this article for this), so that it detects that CPU usage has been less than 2 % for 4 consecutive samples, which are sampled every 15 minutes, i.e. instance has low usage for more than 1 hour (if Period is set to 1 hour and Consecutive periods is set to 1, as in the original article it may turn off right after the instance has booted, so use this multi-sample configuration instead)

Use the default name for the “Alarm name”- which ensures it won’t clash with other existing alarms

install Amazon DCV Server

We will mostly follow the official AWS guide for Installing the Amazon DCV Server on Linux with a few changes that I noticed was needed.

install prerequisites

Official tutorial: https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-prereq.html

Run the commands for Ubuntu 20.x, 22.x, and 24.x in the official page. You can skip Verify OpenGL software rendering as we’re on a GPU Linux server

Make sure you also run the step Install GPU drivers for graphics instances- the NVIDIA driver is already installed but you need to generate an updated xorg.conf with the nvidia-xconfig command.

only after this the ps aux | grep X | grep -v grep check worked for the X Server running check.

install the Server

Official tutorial: https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-server.html

Again, run the commands for Ubuntu 20.x, 22.x, and 24.x in the official page. I recommend you also install the options:

post-installation checks

Official tutorial: https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-checks.html

I needed to sudo reboot before the checks worked. I skipped the Verify the Amazon DCV DEB package signature step.

set up access to S3 for the license server

Official tutorial: https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-license.html

The page guides you to create a JSON-based IAM role for the Amazon S3 access policy. Unfortunately this is quite unintuitive- in the AWS console, choose “Modify IAM role” and “Create new IAM role”. Here, you first have to make an empty role in order to define a role with JSON (which I found out thanks to this aws forum post).

Skip the next page, and in the proceeding page set a role name (suggested: DCV-EC2-LicenseAccess)

Then select the DCV-EC2-LicenseAccess role again from the list of all IAM roles, and in there go to “Add permissions” -> “Create inline policy”

choose JSON and copy & paste the JSON (replace region with your instance’s region, e.g. eu-central-1)

{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
       {
           "Effect": "Allow",
           "Action": "s3:GetObject",
           "Resource": "arn:aws:s3:::dcv-license.region/*"
       }
    ]
}

set the DCV server to automatically start

Official tutorial: https://docs.aws.amazon.com/dcv/latest/adminguide/manage-start.html

# to start the DCV server
sudo systemctl start dcvserver
# configure the Amazon DCV server to start automatically on Linux
sudo systemctl enable dcvserver

set the DCV session to automatically start

Unfortunately all this is still not enough, but we are almost there - we need to set it up to start a DCV session automatically (or it needs to be started with dcv create-session session_ID)

https://docs.aws.amazon.com/dcv/latest/adminguide/managing-sessions-start.html

open /etc/dcv/dcv.conf in a text editor and edit its entries:

[session-management]
create-session = true

[session-management/automatic-console-session]
owner="ubuntu"

and relaunch DCV Server.

set password on instance

A password must be set for the ubuntu user before connecting with the DCV.

sudo passwd ubuntu

Connect to DCV Server

To connect through the browser, just go to https://***.***.***.***:8443 (HTTPS is required), ignore the warning, and login.

Or download the DCV client for your environment and connect to ***.***.***.***:8443. You should be able to connect!

If you have any issues about not being able to connect, try the post-installation checks again and make sure all are working.

install Isaac Sim & Lab

The official instructions for Installation using Isaac Sim Pip Package worked perfectly for me, thanks to the preinstalled NVIDIA drivers. Make sure you’re in the remote desktop when you run isaacsim so that the GUI can launch.

Finally: how much does this all cost per month?

Assuming it runs 24×7 (≈730 hours/month)…

i.e. In total, around $715 per month. Note: data-transfer also gets charged but not included.


HOME / BLOG / How to Set Up Isaac ...


New posts


How to Set Up Isaac Sim on Non-Officially Supported AWS Instances with Remote Desktop Access
2025.10/15
About that time we won the mimic / Loki / OpenAI Robotics Hackathon
2025.06/22
Installing ROS2 in a Virtual Environment Using RoboStack
2025.02/15
Forget Microsoft Copilot: Map your PC's Copilot Key to ChatGPT
2024.12/24

more...