Deploys an etcd cluster in AWS on Amazon Linux 2. Outputs node information and LB endpoint. Meant to be used as a module.
Look at examples/test-cluster for an example on how to use this module.
| Name | Version |
|---|---|
| terraform | >= 1.1.0 |
| aws | >= 4.0.0 |
| Name | Version |
|---|---|
| aws | >= 4.0.0 |
| random | n/a |
No modules.
| Name | Type |
|---|---|
| aws_instance.etcds | resource |
| aws_lb.nlb | resource |
| aws_lb_listener.listener_http | resource |
| aws_lb_target_group.group | resource |
| aws_lb_target_group_attachment.etcds | resource |
| aws_route53_record.etcd-lb | resource |
| aws_route53_record.etcds | resource |
| aws_route53_zone.etcd | resource |
| aws_security_group.etcd | resource |
| aws_vpc_security_group_egress_rule.allow_all_egress | resource |
| aws_vpc_security_group_ingress_rule.etcd-from-vpc | resource |
| random_string.random_prefix | resource |
| aws_ami.main | data source |
| aws_subnets.private | data source |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| ami_architecture | The architecture of the AMI to use for the etcd cluster. | string |
"x86_64" |
no |
| ami_name_filter | The name of the AMI to use for the etcd cluster. | string |
"amzn2-ami-hvm*" |
no |
| ami_owner_id | The AMI ID to use for the etcd cluster. | string |
"amazon" |
no |
| cluster_name | The name of the etcd cluster. | string |
n/a | yes |
| disk_iops | IOPS of the EBS volume (e.g. 3000) | number |
3000 |
no |
| disk_size | Size of the EBS volume in GB | number |
30 |
no |
| disk_type | Type of the EBS volume (e.g. standard, gp2, gp3, io1) | string |
"gp3" |
no |
| domain_name | The domain to use for etcd DNS. | string |
"etcd.local" |
no |
| etcd_version | The version of etcd you are deploying | string |
"v3.6.1" |
no |
| instance_type | EC2 Instance Type | string |
"t3.small" |
no |
| node_count | The number of nodes in the cluster. | number |
3 |
no |
| region | The region in which to create the cluster. | string |
"us-east-1" |
no |
| tags | The set of tags to place on the cluster. | map(string) |
n/a | yes |
| vpc_cidr | VPC CIDR block for access to/from etcd | string |
"" |
no |
| vpc_id | The ID of the VPC in which to create the etcd cluster. | string |
n/a | yes |
| Name | Description |
|---|---|
| etcd-endpoint | ALB endpoint |
| etcd_security_group_id | The security group for etcd nodes |
| nodes | ID, public and private IP address, and subnet ID of all nodes of the created cluster. |