【问题标题】:Deploying .NET application on AWS在 AWS 上部署 .NET 应用程序
【发布时间】:2016-06-23 19:14:43
【问题描述】:
我正在尝试使用 Elastic Beanstalk 在 AWS 上部署我的 .NET 应用程序。
该应用程序包含多个项目。这些项目映射到 IIS 中一个公共父目录下的不同子目录。
AWS ToolKit for Visual Studio 允许一次发布一个项目。
如何将多个项目打包在一起然后部署?
我是 AWS 新手,非常感谢任何帮助!
【问题讨论】:
标签:
.net
amazon-web-services
deployment
amazon-elastic-beanstalk
【解决方案1】:
不幸的是,这在 VS 插件中是不可能的。我们有一个稍微不同的设置,我们在同一个 EB 实例上有一个 IIS 项目和一个普通的控制台项目。为了安装控制台项目(实际上是一个 Windows 服务),我们使用.ebextensions 结构从 S3 下载包,并在每次部署 Web 应用程序时执行脚本来安装它。
在你的情况下,它可能是相似的;您的构建脚本将所有 Web 应用程序部署到 S3(Zip 文件),然后您使用 .ebextensions 结构安装它们。但是我还没有真正尝试过 Web 项目,所以我不知道你的脚本会是什么样子。
您可能需要根据自己的情况考虑 CodeDeploy AWS 服务。 Elastic Beanstalk 确实面向单一环境单一项目(这本身并没有错)。
【解决方案3】:
一种可行的方法是使用提供的示例代码为 Windows 创建一个 Elastic Beanstalk 环境,然后在您的 EB 环境中为 Windows 创建一个 EC2 服务器实例,尽管需要使用更多资源。然后通过远程连接 RDP 桌面门户(它是一个虚拟机实例)在 EC2 实例中使用 IIS。像在本地一样使用 IIS 发布应用程序解决方案(压缩应用程序,然后使用剪贴板将其从本地桌面 c + p 到 RDP 门户桌面)。之后需要一些基本的网络才能使应用程序在网络上获得域名。如果您有点创意,这样做还有一些安全优势。