Using Packer to build Windows Images into Amazon EC2 - windows

I was after some help / advise, we are looking at using packer to build our windows templates, so we could provision locally on our workstations, also into our private-cloud at work and also our public cloud offering "AWS"
Amazon AMI, have a lot of config regarding the EC2config tools and persistant drivers and enabling rdp post sysprep, etc, etc
Do you know what I need to including in my packer templates for my templates to work in EC2
Also how will these hosts be patched ?
regards
James

When using packer, normally only apply the basic setting and software as base image. Adding EC2config tools, persistant drivers and enabling rdp post sysprep, etc, are not bad idea.
As #fmtn07 recommended, go through packer.io documents is the starting and to speed the developing, I recommend to go with the open source repository, there are a lot of samples for your reference.
joefitzgerald/packer-windows

Related

How to create windows docker image with VS test agents?

I couldn't find any windows image with test agents at microsoft's public docker repo. How can i create a windows docker image with Visual Studio Tests agents to run codedui/mstest?
On a general note how to create a windows docker image with any gui based software pre-installed and pre-configured?
Note: This looks like a low research question, but i had to post it here because docker+windows is relatively new thing and there aren't much information available on net as well.
You could have a VM template with the Microsoft Agent Software already installed on the machine. All the GUI setup does is modify an XML, so you could effectively:
Have a VM container with the AGENT already installed.
Stop the TestAgent service
Modify the Agent Configuration XML
Restart the TestAgent service
This could probably be achieved with a PowerShell script or a custom console application.
If you need more help, we could figure this out together. Please feel free to contact me on LinkedIn.
https://www.linkedin.com/in/david-o-neill-8a1aa498/

Recreate SID on Google Cloud VM

I have two virtual machines running in google cloud. They both run MS Server 2012.
It appears that the person who created them used a clone as the machine SID's are the same. This is now causing a problem for things such as WebRoot AV which identify the machines using the SID.
In AWS this is resolved by using the AWS sysprep tool, how can I get solve this s the Google environment?
Thanks all.
Sysprep tool is a built-in tool that comes with windows itself. So i would suggest you run sysprep by following this guide. Note that this wipe out anything installed on your VM.

Clarity on Vagrant usage and provisioning tool

Ok, so I'm a bit late jumping onto the Vagrant band-wagon, but figured it's about time I did.
Brief background: I've been a freelance developer for quite some time now developing solutions based on Magento and Drupal, and have finally gathered enough demand to warrant the need to build up a team. Previously, whenever I started development on any new project, I use to clone a preconfigured base VM in Virtualbox, and use that. Of course there were still configurations to do on it until I could start with actual development. Every project's web files therefore all resided inside /var/www/projectname on an Ubuntu VM.
Now I've read up on why I should be Vagrant, especially considering that I now have a team of 4 developers working with me, but I would appreciate any feedback on the following questions I have:
Moderator note: I know this isn't exactly asking a programming question, so please advise if this could be turned into a wiki, as I'm sure that feedback into this will help someone just like me.
I am still reading through the Vagrant docs, so please be kind...noob questions ahead!
I now work on a Mac. Does it matter if I use Parallels, and another developer uses VirtualBox on Windows if we need to share or collaborate on projects?
When I issue the command, vagrant up for an existing project, will it start the VM up as I would in VirtualBox or will it recreate the VM?
Is the command vagrant halt the same issuing sudo poweroff in Ubuntu, for example?
I currently use PhpStorm and its SFTP feature for project files synchronization with the option to exclude certain files on the remote server (VM) from being imported and sync'ed...will I be able to specify the same using Vagrant folder sharing?
Could I easily zip or archive a Vagrant VM, move it to a file server, and then "re-import" when and if needed? (example bug fixes, or new feature enhancements)
What do we use to easily provision VMs for common projects? Should we being using Puppet, Chef, Puphpet or Salt? I've seen that Puphpet provides a nice GUI to create a vagrantfile which I'm sure once generated, we could customize for future projects. At a very basic level, we need to ensure that certain applications are installed onto the server (zip, phpmyadmin, OpenSSL, etc.), certain PHP settings, PHP and PEAR modules, and Apache settings. I already have base VMs set up as I'd like them for both Magento projects as well as Drupal projects.
EDIT: I should also add that I use to enable Host Adapter in VirtualBox (on Windows), configure the VHost inside Ubuntu, and then update my host machine's hosts file with something like 192.168.56.3 drupalsite1.dev. So I'm unsure if Port Forwarding would be better to use? I'm not very clued up on that I must admit.
Like i said - noob questions! However, I would really appreciate any feedback on these questions. My deepest thanks!
Most of what you are asking is subjective so common sense and experience are the best tools.
I recommend all team members use the same provider (parallels isn't officially supported) and virtualbox is readily available. The base boxes, by provider, could have slight variances, you never know.
Vagrant will start the vm similarly but vagrant also does other things like configuration the network, hostname, shared folders, etc. Not quite the same. The big power lies in the capability to be able to teardown the environment and bring it back in a cleanly provisioned state.
Basically, yes.
Yes, your vagrant VMs are just like your own mini cloud. You would interact the servers similar to the way you'd interact with external boxes.
Yes, the simple answer is that it's called packaging and you can share the resultant .box. However, it's good practice to keep the base box and provisioning scripts under CM so you can rebuild and modify as needed.
For provisioners, I think it is dependent upon your experience and your familiarity with the provisioner language and how much you want to invest in learning them. Look through the provisioner support and see what fits your need and budget. Chef has a very steep learning curve, in my experience, but also has a lot of thought built in. Most provisioners have wide libraries of available installation "scripts".
The host adapter can be handled identically in vagrant.
Learn by doing, I recommend going down the table of contents (navbar) of the vagrant docs and trying each step where it makes sense. Then make your decisions.
That is my 2 cents. Hope this helps!

How should I select a Windows Server AMI image for use with the AWS free tier as a WAMP stack?

I recently realized that Amazon's AWS free tier allows you to use both a micro Linux and a micro Windows server free for one year. I've only been running Linux instances so far, but I'm curious to give the Windows server a try since it's free.
Ubuntu has a sweet cloud portal which shows you what AMI images they have available for use with EC2, but I haven't found anything like that for Windows.
I realize that the launch instance wizard gives you a few options:
But I dont' see any pre-built WAMP stacks. Also, bitnami has a WAMP stack but I can't seem to find an AMI image for it.
Is launching a Windows instance similar to Linux? I'm assuming I can find a reputable WAMP AMI somewhere where, put the AMI number into the launch console, and then RDP to the box. So, if that's the case, how can I find a reputable WAMP stack AMI to use?
First of all, yes. Launching a Windows AMI is exactly like launching a Linux one. Except for the fact that you RDP, and not SSH to the instance, and you have to wait a couple of minutes to connect to your instance, in order for the Admin password to be generated.
For your second question, I would recommend you to start at the Bitnami site, but I saw that they are only providing LAMP instances as of today. I don't know what is your concept of reputable, but I found out two public AMIs (from Bitnami as well, but a little older, as it seems) that might help you. Just launch (on your EC2 Management Console) the Classic Wizard, Community AMIs, and search for WAMP and you will find them out.
Hope it helps.

Run Amazon EC2 AMI in Windows

Is there a way to run an Amazon EC2 AMI image in Windows? I'd like to be able to do some testing and configuration locally. I'm looking for something like Virtual PC.
If you build your images from scratch you can do it with VMware (or insert your favorite VM software here).
Build and install your linux box as you'd like it, then run the AMI packaging/uploading tools in the guest. Then, just keep backup copies of your VM image in sync with the different AMI's you upload.
Some caveats: you'll need to make sure you're using compatible kernels, or at least have compatible kernel modules in the VM, or your instance won't boot on the EC2 network. You'll also have to make sure your system can autoconfigure itself, too (network, mounts, etc).
If you want to use an existing AMI, it's a little trickier. You need to download and unpack the AMI into a VM image, add a kernel and boot it. As far as I know, there's no 'one click' method to make it work. Also, the AMI's might be encrypted (I know they are at least signed).
You may be able to do this by having a 'bootstrap' VM set up to specifically extract the AMI's into a virtual disk using the AMI tools, then boot that virtual disk separately.
I know it's pretty vague, but those are the steps you'd have to go through. You could probably do some scripting to automate the process of converting AMI's to vdks.
The Amazon forum is also helpful. For example, see this article.
Oh, this article also talks about some of these processes in detail.
Amazon EC2 with Windows Server - announced this morning, very exciting
http://aws.amazon.com/windows/
It's a bit of a square peg in a round hole ... kind of like running MS-Office on Linux.
Depending on how you value your time, it's cheaper to just get another PC and install Linux and Xen.

Resources