instances.tf 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. resource "aws_instance" "re" {
  2. count = var.data-node-count
  3. ami = data.aws_ami.re-ami.id
  4. instance_type = var.re-instance-type
  5. availability_zone = "${element(var.vpc-azs, count.index)}"
  6. subnet_id = "${element(var.vpc-subnets, count.index)}"
  7. vpc_security_group_ids = [aws_security_group.re.id]
  8. source_dest_check = false
  9. key_name = "${var.vpc-name}"
  10. tags = merge({ Name = "${var.vpc-name}-private-${element(var.vpc-azs, count.index)}" }, var.common-tags)
  11. }
  12. resource "aws_ebs_volume" "re-ephemeral" {
  13. count = var.data-node-count
  14. availability_zone = "${element(var.vpc-azs, count.index)}"
  15. size = "${var.re-volume-size}"
  16. }
  17. resource "aws_volume_attachment" "re-ephemeral" {
  18. count = var.data-node-count
  19. device_name = "/dev/sdh"
  20. volume_id = "${element(aws_ebs_volume.re-ephemeral.*.id, count.index)}"
  21. instance_id = "${element(aws_instance.re.*.id, count.index)}"
  22. }
  23. resource "aws_ebs_volume" "re-persistant" {
  24. count = var.data-node-count
  25. availability_zone = "${element(var.vpc-azs, count.index)}"
  26. size = "${var.re-volume-size}"
  27. }
  28. resource "aws_volume_attachment" "re-persistant" {
  29. count = var.data-node-count
  30. device_name = "/dev/sdj"
  31. volume_id = "${element(aws_ebs_volume.re-persistant.*.id, count.index)}"
  32. instance_id = "${element(aws_instance.re.*.id, count.index)}"
  33. }