I'm currently using a Windows RDP on an AWS EC2 instance, but the process is pretty tedious. Each time I need to use it, I have to delete the previous RDP file, start the instance, download a new RDP file, add my private key, and then retrieve the password. After I'm done, I stop the instance and delete the file. This back-and-forth is time-consuming, and I want to avoid keeping the instance running to save on costs. Is there a more efficient way to handle this?
4 Answers
You can change the default decrypted password from the PEM key. It’s also possible to create a local user with a password of your choice. Just open the RDP client and type in the instance’s IP directly for quicker access.
Before we dive in, can you share what you’re using RDP for? Knowing that might help in suggesting changes. Also, do you have permission to tweak your current workflow? If you’re always needing RDP, a bastion host could allow for easier Just-In-Time access without all that hassle.
Instead of downloading the RDP file from AWS each time, why not set up your RDP connection manually? You can get the hostname or IP from the EC2 console, and since private IPs stick around through stop/start cycles, it could save you some steps. Just a heads up, exposing your Windows instances to the public internet could be risky unless you have solid security in place.
Have you thought about using Elastic IP addresses? They keep a consistent connection, and if you automate the start and stop of your instance with AWS Lambda or CloudWatch Events, that might streamline your routine a bit!

I’m not sure how Lambda or CloudWatch would help me; I just turn on the instance when I need to use it and stop it when I'm done.