security-group.tf 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # The Magic Machine is dependent on this Security Group
  2. data "aws_vpc" "this" {
  3. id = var.vpc_id
  4. }
  5. data "aws_subnet" "this" {
  6. id = var.public_subnets[0]
  7. }
  8. resource "aws_security_group" "this" {
  9. name = "${var.name}_magic_machine_security_group"
  10. description = "Security Group for magic machine ${var.name}"
  11. tags = merge(local.standard_tags, var.tags)
  12. vpc_id = data.aws_vpc.this.id
  13. }
  14. resource "aws_security_group_rule" "this" {
  15. type = "ingress"
  16. cidr_blocks = ["10.0.0.0/8"]
  17. from_port = 22
  18. to_port = 22
  19. protocol = "tcp"
  20. description = "Allows codebuild to access Magic Machine and for troubleshooting"
  21. security_group_id = aws_security_group.this.id
  22. }
  23. resource "aws_security_group_rule" "allow_outbound_mm" {
  24. type = "egress"
  25. cidr_blocks = ["0.0.0.0/0"] #tfsec:ignore:aws-vpc-no-public-egress-sgr
  26. from_port = 443
  27. to_port = 443
  28. protocol = "tcp"
  29. description = "Allow Magic Machine to communicate via HTTPS outbound"
  30. security_group_id = aws_security_group.this.id
  31. }
  32. resource "aws_security_group" "codebuild" {
  33. name = "${var.name}_codebuild_security_group"
  34. description = "Security Group for codebuild ${var.name}"
  35. tags = merge(local.standard_tags, var.tags)
  36. vpc_id = data.aws_vpc.this.id
  37. }
  38. resource "aws_security_group_rule" "allow_outbound" {
  39. type = "egress"
  40. cidr_blocks = ["0.0.0.0/0"] #tfsec:ignore:aws-vpc-no-public-egress-sgr
  41. from_port = 443
  42. to_port = 443
  43. protocol = "tcp"
  44. description = "Allow codebuild to communicate via HTTPS outbound"
  45. security_group_id = aws_security_group.codebuild.id
  46. }
  47. resource "aws_security_group_rule" "allow_ssh_outbound" {
  48. type = "egress"
  49. cidr_blocks = ["10.0.0.0/8"]
  50. from_port = 22
  51. to_port = 22
  52. protocol = "tcp"
  53. description = "Allow codebuild to communicate via SSH outbound"
  54. security_group_id = aws_security_group.codebuild.id
  55. }