Recently, I’ve received quite a few inquiries about running Windows Server 2008 R2 and MS SQL Server on Amazon Web Services. Windows presents quite a few challenges on Amazon EC2, given that it wasn’t originally designed with a cloud computing platform in mind. Such challenges include:

– Amazon EC2 instances are assigned IP addresses by DHCP. This can cause massive problems if your Domain Controller goes down, as if you restore from a snapshot, it will launch back up with a new IP address which causes havoc with Active Directory.

One solution is to run two Domain Controllers in separate availability zones. That way, if one DC goes down, you can transfer the FSMO roles over the secondary DC and keep the domain running.

Another option is to deploy your servers in Amazon’s Virtual Private Cloud, where you can assign private IP addresses and avoid DHCP. However, VPC adds an additional layer of routing complexity.

Autoscaling IIS web servers isn’t straight forward. You need to script new IIS instances to join a domain when launched, and may have to manually remove scaled-down instances from Active Directory.

IIS provides you with a few different options for autoscaling your instances, such as Shared Configuration, or the Web Farm Framework.

Microsoft SQL Server redundancy. Your safest bet is to have a primary SQL server, and a Witness (mirror) server. Another option is to use the newly released RDS option for Microsoft SQL server.

While Windows presents quite a few issues when deployed to Amazon EC2, there are always workarounds and solutions to these problems. Have any questions, or need help with your Windows and SQL servers on Amazon Web Services? E-mail Casey Labs, we’ll be happy to help!