How to deploy ASP.NET app to Amazon EC2 using MS WebDeploy?

RredCat picture RredCat · Jul 9, 2012 · Viewed 7.5k times · Source

I have an ASP.NET MVC site that is hosted on an Amazon EC2 service. I want to establish auto deploy with MS WebDeploy to this site. I've found a great article about this: Automating Deployment with Microsoft Web Deploy.

I can't reach https://mySite:8172/MsDeploy.axd because port 8172 is closed on Amazon by default. I am not very familiar with EC2 service configuration so I can't find out how to open this port over https protocol. I've reconfigured IIS to use default port (433) and I was open this port on the Amazon security group that is used for my site.

Now I've tried to open https://mySite/MsDeploy.axd in a web browser. IE requests credentials, makes note of a certificate error (I clicked "Continue..") and forwards me to 404.

Just to be sure, I tried to deploy via VS 2010, and of course it doesn't work.

Can anybody who has experience using MS Web Deploy in Amazon EC2 tell me what I'm doing wrong?

Answer

Viccari picture Viccari · Aug 1, 2012

Two things.
First: in order to open port 8172, you need to
a)Open it in the security group of your EC2 instance, on the AWS Control Panel/EC2/Security Groups:
In the Create a new rule dropdown, select Custom TCP rule. This way you will be able to specify which port you are opening. Then, choose port 8172 and enter the client IP address in the Source field.
b)Open Windows Firewall.

Second: The certificate error happens because most likely there is no certificate on your instance, or because its Common Name does not match the instance FQDN. The 404 is a symptom that the deployment is not available on IIS.