如何将我的.NET应用程序部署到Amazon EC2?

时间:2010-03-22 14:33:23

标签: .net deployment amazon-s3 amazon-ec2 hamachi

我有一个.NET Windows服务和一个.NET Web应用程序,我想将其部署到我的Amazon EC2 Windows 2008实例。此时,我需要做的就是将压缩文件复制到EC2框,将远程桌面复制到EC2实例,然后完成部署。

为了做到这一点,我尝试了LogMeIn Hamachi2来创建P2P VPN并使用RoboCopy来复制文件,但是看起来Hamachi在Windows EC2上不起作用。

将.NET应用程序部署到Windows EC2实例的解决方案是什么?我想避免在盒子上运行FTP服务器,只是为了让我的文件在服务器上运行,并且没有运行VPN服务器(如OpenVPN)来运行基于云的VPN解决方案。

也许我可以找到一种将Amazon S3用作策略的简单方法?有任何想法吗?建议?

4 个答案:

答案 0 :(得分:5)

我们使用http://filezilla-project.org/。您可以使用SFTP并在备用端口上运行,这不应该太糟糕。

理论上,您可以使用像WebDrive这样的S3客户端。我已经将WebDrive用于WebDAV并且它运行良好。没试过S3。

我想,这让我有另一种选择。您可以使用IIS [http://learn.iis.net/page.aspx/350/installing-and-configuring-webdav-on-iis-7/ ]运行WebDAV。 WebDAV可以通过HTTPS运行,因此应该相当安全。

修改

另外How to gain access to local files in a remote desktop...。然后,您可以使用Beyond Compare推送更改。请注意,Beyond Compare也支持FTP比较。

答案 1 :(得分:1)

我目前正在研究这个问题,并且有很多我们正在部署到亚马逊的项目(Windows服务X2,IIS网站X 3(开发,测试,产品),MSSQL服务器等),我们正在研究RSync用于部署。目前,RSync服务器存在于每个盒子上,但计划将是一个Small Linux盒子(可能是免费的teir)并将文件推送到那个盒子。然后使用samba共享,我们应该能够从服务器中提取。

我的计划是批处理或PowerShell文件将终止Windows服务,从linux框中复制文件,然后启动Windows服务。

答案 2 :(得分:0)

我最终选择了基于JungleDisk的解决方案,使用S3存储桶作为两端的驱动器。

答案 3 :(得分:0)

我们正在Elastic Beanstalk上运行我们的网络应用,并使用awsdeploy.exe进行部署。它使用AutoScaling轻松部署到环境,这可能很难,因为您不知道所有服务器的IP。它还使您的环境管理和监控变得更加容易。请参阅之前关于here的讨论。

部署Windows服务更复杂。我们使用PowerShell Remoting来停止服务,然后使用Web Deploy来同步服务器之间的文件,然后使用Remoting来启动所有服务。