.net AWS非web应用程序的部署

.net AWS非web应用程序的部署,.net,deployment,amazon-web-services,amazon-cloudformation,.net,Deployment,Amazon Web Services,Amazon Cloudformation,我正在研究将控制台应用程序和可能的windows服务应用程序部署到AWS的最佳方案。我所读到的关于CloudFormation的所有内容都让我觉得这是一条可行之路,但我看到的所有示例都是针对web应用程序的。有人知道是否可以将CloudFormation用于非web应用程序吗?如果是这样的话,有没有人知道一个示例模板可以展示它是如何完成的?为什么不使用Windows Server EC2?CloudFormation只是一种管理云资源的方法,但您仍然在使用好的ol'EC2实例(这是可用的资源之一

我正在研究将控制台应用程序和可能的windows服务应用程序部署到AWS的最佳方案。我所读到的关于CloudFormation的所有内容都让我觉得这是一条可行之路,但我看到的所有示例都是针对web应用程序的。有人知道是否可以将CloudFormation用于非web应用程序吗?如果是这样的话,有没有人知道一个示例模板可以展示它是如何完成的?

为什么不使用Windows Server EC2?CloudFormation只是一种管理云资源的方法,但您仍然在使用好的ol'EC2实例(这是可用的资源之一)

在单个实例中,您可以同时部署console应用程序和Windows服务

更新:您可以使用文章中的信息从当前帐户中的资源生成CloudFormation模板。通过这种方式,您可以手动设置它,然后生成模板


希望这有帮助是的,你可以将CloudFormation用于任何类型的应用程序。您可以基于任何AMI和(如果您使用Linux实例,请使用cloud init在引导时安装并运行软件)创建实例

使用预先安装的软件创建自己的AMI也很容易,并且可以使用CloudFormation基于该AMI启动实例


没有任何特定于CloudFormation的web应用程序;这只是描述一组AWS资源的一种方式。

我最近遇到了一个类似的问题。我实际上是在尝试安装一个包装器MSDeploy包,其中包含多个子包和一个runCommand来安装它们

我发现AWSDeploy将失败,除非传递给CloudFormation的MSDeploy包本身就是一个iisApp包。经过调查发现,这是因为AWSDeploy使用-setParam执行MSDeploy脚本:“IIS Web应用程序名称”=“配置中设置的值”,这就是它失败的原因

要避免此错误并成功安装带有AWSDeploy和CloudFormation的非网站,只需将参数文件打包到包含此参数的MSDeploy包中

下面是一个示例文件

<parameters>
  <parameter name="IIS Web Application Name" defaultValue="Default Web Site/" tags="isIisApp" />
</parameters>

然后,您可以将其成功地用于CloudFormation模板。如果不运行站点,请不要忘记禁用实例的运行状况监视。

我想这是我的问题,我看到的所有示例都是将asp.net应用程序推送到EC2,但没有一个示例提到推控制台应用程序。那么,根据您的回答,我认为我可以通过某种方式配置CloudFormation来推送控制台应用程序,这是正确的吗?@ChrisDellinger-我实际上是说,除非您想要组织复杂的部署,否则您不需要CloudFormation。如果只是一个实例,我认为使用CloudFormation是过分的,但是如果你真的想,我想你可以,但是我以前没有做过。我会用一种方法更新我的答案。。。
msdeploy -verb:sync -source:contentPath=C:\ConsoleApp\ -dest:package=deploy.zip -declareParamFile=parameters.xml