-
Notifications
You must be signed in to change notification settings - Fork 28
Design Decisions
These are the design decisions that were made so far but may change in the future.
-
Do not bother with a [application] load balancer that is provided by AWS.
There is an extra cost (8760 hours/year x ($0.0225/h + $0.008/h) = $267.18/year minimum cost vs $0) and the work can be put into a Docker service such as Traefik or Nginx or Apache. In addition, using the AWS provided load balancers will lock us into AWS infrastructure. In addition because the load balancing is done by Docker swarm it prevents having to do any further Terraform configuration changes.
-
Allow remote SSH connectivity on nodes from 0.0.0.0/0
This is a limitation on Terraform which does not provide a way of doing
"remote_exec"
provisioning with SSH and does not provide an easy way of provisioning bastion hosts. -
Use EFS as a shared provisioning store
Unfortunately this occurs as a ($3.60/year) cost. However, it is the most portable way of storing the join tokens as Terraform does not support copying files from remote.
-
Use Amazon Linux 2 as the base
It is closer to CentOS which is readily available and we can ensure we get the latest versions of Docker and other tools because it is updated on provisioning.