AWS Step-by-Step

Setting Up a Windows EC2 File Server Backed by Amazon S3, Part 1

One of the things that I have always liked about hyperscale clouds such as Amazon AWS is that these clouds give you unprecedented flexibility. When it comes to building a file server in the cloud for instance, you could deploy the server as a managed service using Amazon's Elastic File Service. Another option might be to deploy an EC2 instance and build a file server on top of Amazon's block storage. Still another option is to create an EC2 instance and then attach it to S3 storage. Of course the big question is why would you want to do that?

Every organization has different needs and admittedly an S3 backed Windows file server in the cloud is not going to be the best option for everyone. Even so, there can be some distinct advantages to using this approach. This is can be particularly true for those who are currently operating Windows file servers on-premises and who are looking for a similar experience in the cloud.

In that type of situation, the Amazon Elastic File Service (EFS) would probably be a poor fit for the organization. For one thing, AWS EFS is based on the NFS (not NTFS) file system. This is a file system that is commonly used in Linux environments. While there are some relatively straightforward ways to migrate Windows file server data to an NFS share, doing so might not be desirable if the organization wants to be able to continue managing its file servers in the same way that it always has.

Of course, there are also the storage costs to consider. There are numerous pricing options for EFS storage, but standard SSD pricing is $0.30 per gigabyte per month. By way of comparison, the S3 standard tier costs $0.023 per gigabyte per month, and the price decreases once you have accumulated more than 50 TB of data. Of course, you do have to factor in the cost of your EC2 instance as well. Generally speaking, EFS will probably be the less expensive option for smaller datasets, with S3 being far more cost effective for larger datasets.

OK, so building a Windows file server on top of an EC2 instance and using S3 for data storage gives you a familiar Windows management experience and it might also be less expensive than using AWS EFS. That's great, but why not just use Elastic Block Storage (EBS)? After all, Windows EC2 instances use EBS storage by default and EBS is also the preferred storage type for Windows virtual machine instances.

Let me answer this question by going back to something that I said earlier. Near the beginning of this article, I mentioned that one of the great things about AWS is that it allows organizations to build cloud-based solutions in the manner that best aligns with its own unique needs. If your goal is to build a Windows-based file server within AWS EC2 and you want to do it in the easiest way possible without relying on any non-native components, then I would definitely recommend that you provision your instance with EBS storage. Using S3 storage is not a "normal" thing to do and you do have to jump through a few hoops to make it work. Even so, there are some compelling reasons for using S3 storage.

One such reason is that using S3 storage is probably going to be cheaper. General purpose SSD (GP3) storage based on EBS costs $0.08 per gigabyte per month, not counting charges related to storage IOPS. However, the main benefits to using S3 storage are not tied to cost.

The primary reason why an organization might want to use S3 storage for its Windows file servers is that doing so allows you to leverage the S3 architecture. As an example, S3 storage offer infinite scalability. Admittedly, the NTFS file system used by Windows Server has a maximum volume size of 8 PB. However, you cannot install a file system onto object storage. As such, Windows is theoretically going to be able to benefit from S3's unlimited capacity.

Using S3 storage also gives you other benefits such as storage persistence, even if the instance stops and native support for versioning and data lifecycle policies. S3 storage also supports cross region replication and is designed to provide durability across availability zone failures.

Building a cloud-based Windows file server and linking it to S3 storage is not going to be a good fit for every organization, but there are some compelling reasons to at least consider this approach. In Part 2 of this series, I will show you how to set up such a file server.

About the Author

Brien Posey is a 22-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.

Featured

Subscribe on YouTube