Skip to content

isovalent/terraform-aws-etcd

Repository files navigation

terraform-aws-etcd

Deploys an etcd cluster in AWS on Flatcar Linux. Outputs node information and ALB endpoint. Meant to be used as a module.

Requirements

Name Version
terraform >= 1.1.0
aws >= 4.0.0
ct 0.10.0

Providers

Name Version
aws >= 4.0.0
random n/a
tls n/a

Modules

No modules.

Resources

Name Type
aws_instance.etcds resource
aws_key_pair.ssh_access_etcd resource
aws_lb.alb 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
random_id.index resource
random_string.random_prefix resource
tls_private_key.ssh_key_etcd resource
aws_ami.main data source
aws_subnets.private data source
aws_subnets.public data source

Inputs

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
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_id The ID of the VPC in which to create the etcd cluster. string n/a yes

Outputs

Name Description
etcd-endpoint ALB endpoint
etcd_security_group_id The security group for etcd nodes
etcd_ssh_private_key n/a
nodes ID, public and private IP address, and subnet ID of all nodes of the created cluster.