I posted a few weeks ago about exposing a Silverlight application in the cloud. The VM is a Windows server and uses IIS to host the application. I was playing around with another Silverlight app that I also wanted to expose publicly via IIS so I decided to host it on port other than 80. I ran into some trouble.
I first created the Silverlight application and tested it locally. The application successfully ran in the Visual Studio test dev server, ran successfully in when I hosted it locally in IIS (I even tested from another computer on my home network). Since everything was working fine I moved it to the cloud. The app was hosted in the VM and I tested it locally (local to the VM) and everything again worked perfectly. The problem started when I tried to access the app externally.
My first thought was to open up the port I was using through the firewall. Although this would have been needed eventually, did not solve the immediate problem that the VM was unresponsive to connections. Wireshark indicated that the remote server was not responding at all. The problem as it turns out, after some googling, was that Amazon’s cloud platform has it’s own “firewall” of sorts called a security group. When I originally setup the VM I used all the default settings which only opens port 80. I went in through the Ec2 management console and added my unique port to the security group.
After much headache the port was opened and everything worked fine. So hopefully someone can come across this post and figure out why they can’t access a non standard port in their Ec2 cloud. You also need to open up that port via a security group.