consul
hashicorp/consul/aws
A Terraform Module for how to run Consul on AWS using Terraform and Packer
 Consul AWS Module This repo contains a set of modules in the modules folder for deploying a Consul cluster on AWS using Terraform. Consul is a distributed, highly-available tool that you can use for service discovery and key/value storage. A Consul cluster typically includes a small number of server nodes, which are responsible for being part of the consensus quorum, and a larger number of client nodes, which you typically run alongside your apps: !Consul architecture How to use this Module This repo has the following folder structure: modules: This folder contains several standalone, reusable, production-grade modules that you can use to deploy Consul. examples: This folder shows examples of different ways to combine
| Name | Type | Description | Default |
|---|---|---|---|
| ssh_key_name | string | The name of an EC2 Key Pair that can be used to SSH to the EC2 Instances in this | required |
| vpc_id | string | The ID of the VPC in which the nodes will be deployed. Uses default VPC if not | required |
| spot_price | number | The maximum hourly price to pay for EC2 Spot Instances. | required |
| ami_id | string | The ID of the AMI to run in the cluster. This should be an AMI built from the Pa | required |
| num_servers | number | The number of Consul server nodes to deploy. We strongly recommend using 3 or 5. | 3 |
| num_clients | number | The number of Consul client nodes to deploy. You typically run the Consul client | 6 |
| cluster_tag_key | string | The tag the EC2 Instances will look for to automatically discover each other and | "consul-servers" |
| enable_https_port | bool | If set to true, allow access to the Consul HTTPS port defined via the https_api_ | false |
| cluster_name | string | What to name the Consul cluster and all of its associated resources | "consul-example" |
security_group_id_clientsaws_regionnum_serversasg_name_serverslaunch_config_name_serversiam_role_id_serversnum_clientsasg_name_clientslaunch_config_name_clientsiam_role_arn_serverssecurity_group_id_serversiam_role_id_clientsiam_role_arn_clientsconsul_servers_cluster_tag_keyconsul_servers_cluster_tag_value