security.tf 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. resource "aws_security_group" "re" {
  2. name = "RedisEnterprise"
  3. description = "Redis Enterprise Security Group"
  4. vpc_id = "${var.vpc-id}"
  5. tags = merge({ Name = "RedisEnterprise-${var.vpc-name}" }, var.common-tags)
  6. }
  7. resource "aws_security_group_rule" "internal_rules" {
  8. count = length(var.internal-rules)
  9. type = "${lookup(var.internal-rules[count.index], "type")}"
  10. from_port = "${lookup(var.internal-rules[count.index], "from_port")}"
  11. to_port = "${lookup(var.internal-rules[count.index], "to_port")}"
  12. protocol = "${lookup(var.internal-rules[count.index], "protocol")}"
  13. cidr_blocks = [var.vpc-cidr]
  14. security_group_id = "${aws_security_group.re.id}"
  15. }
  16. resource "aws_security_group_rule" "external_rules" {
  17. count = length(var.external-rules)
  18. type = "${lookup(var.external-rules[count.index], "type")}"
  19. from_port = "${lookup(var.external-rules[count.index], "from_port")}"
  20. to_port = "${lookup(var.external-rules[count.index], "to_port")}"
  21. protocol = "${lookup(var.external-rules[count.index], "protocol")}"
  22. cidr_blocks = "${lookup(var.external-rules[count.index], "cidr")}"
  23. security_group_id = "${aws_security_group.re.id}"
  24. }
  25. resource "aws_security_group_rule" "open_nets" {
  26. type = "ingress"
  27. from_port = "0"
  28. to_port = "65535"
  29. protocol = "all"
  30. cidr_blocks = var.open-nets
  31. security_group_id = "${aws_security_group.re.id}"
  32. }