我有一个.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用作策略的简单方法?有任何想法吗?建议?
答案 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来启动所有服务。