In the book, The DevOps 2.1 Toolkit: Docker Swarm (https://www.amazon.com/dp/1542468914), I argued that the best way to create a Swarm cluster in AWS is with a combination of Packer (https://www.packer.io/) and Terraform (https://www.terraform.io/). One of the alternatives was to use Docker CE for AWS (https://store.docker.com/editions/community/docker-ce-aws). At that time Docker for AWS was too immature. Today, the situation is different. Docker for AWS provides a robust Docker Swarm cluster with most, if not all the services we would expect from it.
We'll create a Docker for AWS cluster and, while in progress, discuss some of its aspects.
Before we start creating a cluster, we should choose a region. The only thing that truly matters is whether a region of your choice supports at least three Availability Zones (AZ). If there's only...