Does EC2 Support Windows Server Core Deployments?
Brien shows how to perform Windows Server core deployments in AWS without having to build your own custom Amazon Machine Image (AMI).
If you have ever deployed a Windows instance in Amazon EC2, then you know that the instance deploys with a full GUI environment, as shown in Figure 1. This is in spite of the fact that Microsoft recommends that most Windows Server deployments be configured as Server Core.
Presumably, Amazon has a reason for configuring Windows Server instances to boot to the Windows desktop, but oftentimes a server core deployment is preferable. At one time, it was possible to convert a Windows Server deployment that had the Desktop Experience enabled into a Server Core deployment, but Microsoft no longer supports such conversions. Even so, there is a way to perform Windows Server core deployments in AWS without having to build your own custom Amazon Machine Image (AMI).
Normally when you create a new EC2 instance, you open the EC2 console, choose the option to create a new instance, and then pick an AMI from the list, as shown in Figure 2. Unfortunately, the default AMIs are not set up for Server Core.
Even though none of the AMIs on the list support server core deployments, there is a workaround. Rather than using the list of default AMIs, open the AWS Marketplace and search on the phrase "server core." As an alternative, you can just Google the phrase "EC2 server core" and the AWS Marketplace will be listed among the top results. You can see what this looks like in Figure 3.
To deploy a server core AMI from the AWS Marketplace, click on the Continue to Subscribe button, shown in the figure above. Upon doing so, you will need to click the Accept Terms button, followed by the Continue to Configuration button.
At this point, you will be taken to a screen that allows you to select the configuration options that you want to use. There aren't initially as many options available as when you create an EC2 instance from scratch (other options are made available later in the process). You will need to choose the AMI that you want to use from the Fulfillment Option drop down. You will also need to select the software version and your preferred region, as shown in Figure 4.
Once you have selected the basic configuration options that you want to use, click the Continue to Launch button. This will take you to the Launch This Software screen, which provides you with some additional configuration options that are more along the lines of what you might expect if you were creating an EC2 instance from scratch. This screen lets you choose an instance type, and pick the VPC and subnet that you want to use, among other things. Even so, this screen is still a bit sparse as compared to the process that is normally used to deploy an EC2 instance.
The advantage to deploying a new instance in this way is that the process is greatly simplified. You can literally launch a new instance with a few clicks. Of course the disadvantage is that you don't have quite as much control over the deployment process.
If you need more granular control over the deployment, then there is a way to launch the instance in the usual way. The Choose Action dropdown defaults to "Launch from Website", but you can choose the Launch Through EC2 option instead. When you do, a Launch button appears, as shown in Figure 5. Clicking this button takes you into the EC2 interface and allows you to launch an instance in the usual way. The only real difference between this method and manually launching a new instance is that you don't have to select an AMI because the Server Core AMI is automatically selected on your behalf.
You can opt to launch the new instance through the EC2 console rather than using the simplified deployment.
Using AWS Marketplace images is definitely the easiest option for performing a server core deployment, but it is not the only option. If you prefer to avoid the Marketplace, then your other option is to build your own custom image by using the EC2 Image Builder tool.
About the Author
Brien Posey is a 21-time Microsoft MVP with decades of IT experience. As a freelance writer, Posey has written thousands of articles and contributed to several dozen books on a wide variety of IT topics. Prior to going freelance, Posey was a CIO for a national chain of hospitals and health care facilities. He has also served as a network administrator for some of the country's largest insurance companies and for the Department of Defense at Fort Knox. In addition to his continued work in IT, Posey has spent the last several years actively training as a commercial scientist-astronaut candidate in preparation to fly on a mission to study polar mesospheric clouds from space. You can follow his spaceflight training on his Web site.