security-group-elbs.tf 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. ## Indexer Security Group
  2. #
  3. # Summary:
  4. # Ingress:
  5. # tcp/8088 - Splunk HEC - (local.data_sources) Entire VPC + var.additional_source + var.splunk_legacy_cidr
  6. # Egress:
  7. # tcp/8088 - Splunk HEC
  8. # Defined in security-group-indexers.tf:
  9. #locals {
  10. # splunk_vpc_cidrs = toset(concat(var.splunk_legacy_cidr, [ var.vpc_cidr ]))
  11. # access_cidrs = toset(concat(var.cidr_map["bastions"], var.cidr_map["vpns"]))
  12. # data_sources = toset(concat(tolist(local.splunk_vpc_cidrs), var.splunk_data_sources))
  13. #}
  14. resource "aws_security_group" "hec_elb_security_group" {
  15. name = "hec_elb_security_group"
  16. description = "Security Group for HEC ELBs (both ack and non-ack)"
  17. vpc_id = var.vpc_id
  18. tags = merge(var.standard_tags, var.tags, { "Name" = "hec_elb_security_group" })
  19. }
  20. ## Ingress
  21. resource "aws_security_group_rule" "hec-https-in" {
  22. count = local.is_moose ? 1 : 0
  23. description = "HEC port - HTTPS for moose only"
  24. type = "ingress"
  25. from_port = 443
  26. to_port = 443
  27. protocol = "tcp"
  28. cidr_blocks = [ "0.0.0.0/0" ]
  29. security_group_id = aws_security_group.hec_elb_security_group.id
  30. }
  31. resource "aws_security_group_rule" "hec-in" {
  32. description = "HEC port in"
  33. type = "ingress"
  34. from_port = 8088
  35. to_port = 8088
  36. protocol = "tcp"
  37. cidr_blocks = [ "0.0.0.0/0" ]
  38. security_group_id = aws_security_group.hec_elb_security_group.id
  39. }
  40. ## Egress
  41. resource "aws_security_group_rule" "hec-out" {
  42. description = "HEC to the indexers"
  43. type = "egress"
  44. from_port = 8088
  45. to_port = 8088
  46. protocol = "tcp"
  47. cidr_blocks = local.splunk_vpc_cidrs
  48. security_group_id = aws_security_group.hec_elb_security_group.id
  49. }