Terraform-provider-aws: AWS рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рдирд┐рдпрдо рдкреНрд░реЛрдЯреЛрдХреЙрд▓ / рдкреЛрд░реНрдЯ рддреНрд░реБрдЯрд┐ред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рдЬреБрд▓ре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: hashicorp/terraform-provider-aws

рдирдорд╕реНрддреЗ,

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╡рд░реНрдЬрди

рдЯреЗрд░рд╛рдлреЙрд░реНрдо v0.9.11

рдкреНрд░рднрд╛рд╡рд┐рдд рд╕рдВрд╕рд╛рдзрди

  • aws_security_group_rule

Terraform рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ

variable "ports_logstash" {
  description = "Ports used by logstash and graphite"
  default     = ["40000", "40001", "40002", "40003", "40004", "40005", "40006", "40007", "40008", "40009", "40010", "2003", "2005", "8125", "80", "443"]
}

resource "aws_security_group_rule" "Logstash" {
  count       = "${length(var.ports_logstash)}"
  depends_on  = ["aws_security_group.SG-Logstash"]
  type        = "ingress"
  from_port   = "${var.ports_logstash[count.index]}"
  to_port     = "${var.ports_logstash[count.index]}"
  protocol    = -1
  cidr_blocks = ["10.0.1.0/8"]

  security_group_id = "${aws_security_group.SG-Logstash.id}"
}

resource "aws_security_group" "SG-Logstash" {
  name        = "SG-Logstash"
  description = "Access to all ports required for Logstash communication"
  vpc_id      = "${aws_vpc.default.id}"

  tags {
    Name = "SG-Logstash"
  }
}

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░

рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ -1 рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ from_port рдФрд░ to_port рдХреЛ рд╕реЗрдЯ рдХрд░рддреА рд╣реИ, рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ рдпрд╛ tcp рдФрд░ udp рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдмрдирд╛рдПрдВред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреБрд░реЛрдзрд┐рдд рдирд┐рдпрдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ CIDR рдХреЗ рд▓рд┐рдП рд╕рднреА рдирд┐рдпрдо рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

  1. рдПрдХ рд╣реА CIDR рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ SG рдирд┐рдпрдо рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред
  2. рдЯреЗрд░рд░рдлреЙрд░реНрдо рд▓рд╛рдЧреВ рдХрд░реЗрдВред
  3. рдиреАрдЪреЗ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
    `` `* aws_security_group_rule.Logstash [3]: 1 рддреНрд░реБрдЯрд┐:
  • aws_security_group_rule.Logstash.3: [WARN] рдПрдХ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рдирд┐рдпрдо (sg-xxxxxxxx) рдкрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
    рдПрдХ рдЕрдм-рдирд┐рд╢реНрдЪрд┐рдд рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореБрджреНрджреЗ рдХрд╛ рдПрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рджреЛ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рд╣реИрдВ
    рд╕рдорд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ source_security_group_ids
    рд░рд╛рдЬреНрдп рдореЗрдВ рдЕрдиреНрдпред рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП https://github.com/hashicorp/terraform/pull/2376 рджреЗрдЦреЗрдВ
    рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рд╡рд╕реВрд▓реА рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ред рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢: рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рдпрдо "рд╕рд╣рдХрд░реНрдореА: 10.0.1.0/8, ALL, ALLOW" рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж рд╣реИ `` `
bug servicec2 stale

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрджрд┐ рдЖрдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓ = -1 рдХреЛ aws_security_group_rule рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ AWS API рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдбреЙрдХреНрд╕ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдЙрдЪрд┐рдд рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рджреЛ aws_security_group_rule рджреЛрдиреЛрдВ tcp рдФрд░ udp fe рдХреЗ рд▓рд┐рдП рдмрдирд╛рдПрдВ

resource "aws_security_group_rule" "tcpLogstash" {
  count       = "${length(var.ports_logstash)}"
  depends_on  = ["aws_security_group.SG-Logstash"]
  type        = "ingress"
  from_port   = "${var.ports_logstash[count.index]}"
  to_port     = "${var.ports_logstash[count.index]}"
  protocol    = "tcp"
  cidr_blocks = ["10.0.1.0/8"]

  security_group_id = "${aws_security_group.SG-Logstash.id}"
}

resource "aws_security_group_rule" "udpLogstash" {
  count       = "${length(var.ports_logstash)}"
  depends_on  = ["aws_security_group.SG-Logstash"]
  type        = "ingress"
  from_port   = "${var.ports_logstash[count.index]}"
  to_port     = "${var.ports_logstash[count.index]}"
  protocol    = "udp"
  cidr_blocks = ["10.0.1.0/8"]

  security_group_id = "${aws_security_group.SG-Logstash.id}"
}

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрджрд┐ рдЖрдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓ = -1 рдХреЛ aws_security_group_rule рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ AWS API рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдбреЙрдХреНрд╕ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдЙрдЪрд┐рдд рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рджреЛ aws_security_group_rule рджреЛрдиреЛрдВ tcp рдФрд░ udp fe рдХреЗ рд▓рд┐рдП рдмрдирд╛рдПрдВ

resource "aws_security_group_rule" "tcpLogstash" {
  count       = "${length(var.ports_logstash)}"
  depends_on  = ["aws_security_group.SG-Logstash"]
  type        = "ingress"
  from_port   = "${var.ports_logstash[count.index]}"
  to_port     = "${var.ports_logstash[count.index]}"
  protocol    = "tcp"
  cidr_blocks = ["10.0.1.0/8"]

  security_group_id = "${aws_security_group.SG-Logstash.id}"
}

resource "aws_security_group_rule" "udpLogstash" {
  count       = "${length(var.ports_logstash)}"
  depends_on  = ["aws_security_group.SG-Logstash"]
  type        = "ingress"
  from_port   = "${var.ports_logstash[count.index]}"
  to_port     = "${var.ports_logstash[count.index]}"
  protocol    = "udp"
  cidr_blocks = ["10.0.1.0/8"]

  security_group_id = "${aws_security_group.SG-Logstash.id}"
}

рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрд╛рд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ред рдпрд╣ рд╣рдорд╛рд░реЗ рд░рдЦрд░рдЦрд╛рд╡рдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдЧрд▓реЗ 30 рджрд┐рдиреЛрдВ рдореЗрдВ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдорд┐рд▓реА рддреЛ рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд░рдЦрд╡рд╛рд▓реЗ рднреА рдмрд╛рд╕реА рд▓реЗрдмрд▓ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рд╣реЛ рдЧрдИ рдереА рдФрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рд╣рдо рдПрдХ рдирдП рд╕рдВрджрд░реНрдн рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ _30 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ тП│ред рдпрд╣ рд╣рдорд╛рд░реЗ рд░рдЦрд░рдЦрд╛рд╡рдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рд╣рдо рдПрдХ рдирдП рд╕рдВрджрд░реНрдн рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

hashibot picture hashibot  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hashibot picture hashibot  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

joelittlejohn picture joelittlejohn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hashibot picture hashibot  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hashibot picture hashibot  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ