AWS Non-Web Application Deployment

I'm looking for the best to deploy a console application, and possibly a Windows application for AWS. Everything I read about CloudFormation seems like a way out, but all the examples that I see are for web applications. Does anyone know if CloudFormation can be used for non-web applications? If so, do you know an example template that shows how this is done?

+4
source share
3 answers

I recently had a similar problem. I really tried to install the MSDeploy package for a shell containing several child packages and runCommand to install them.

I found that AWSDeploy will fail if the MSDeploy package submitted to CloudFormation is itself an iisApp package. After research, it turns out that AWSDeploy runs an MSDeploy script with -setParam: "IIS Web Application Name" = "value set in config", and that is why it failed.

To avoid this error and successfully install a non-website with AWSDeploy and CloudFormation, you just need to pack the settings file into the MSDeploy package that contains this setting.

Here is an example file.

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

You can then create the MSDeploy package with a manifest or contentPath, as shown in the file below.

 msdeploy -verb:sync -source:contentPath=C:\ConsoleApp\ -dest:package=deploy.zip -declareParamFile=parameters.xml 

You can use this with the CloudFormation template successfully. Remember to disable health monitoring for the instance if the site is not running.

+2
source

Why not use Windows Server EC2? CloudFormation is just a way to manage your cloud resources, but you still use a good instance of EC2 (which is one of the available resources).

In one instance, you can deploy the console application and the Windows service.

UPDATE: You can use the information on THIS article about creating a CloudFormation template from the resources of your current account. This way you can manually configure it and then generate the template.

Hope this helps

+1
source

Yes, you can use CloudFormation for any application. You can create instances based on any AMI and (if you use Linux instances, use cloud-init to install and run the software at boot time).

It's also easy to create your own AMI with preinstalled software and use CloudFormation to run instances based on this AMI.

There is no special web application in CloudFormation; it's just a way to describe an AWS resource set.

+1
source

All Articles