Как настроить описание правил группы безопасности с помощью Terraform?

Похоже, теперь вы можете установить описание правил группы безопасности. Это очень полезно для поддержки белых списков для административного доступа.

Я могу установить описание в консоли AWS, но не могу понять, как установить его с помощью Terraform.

Я предполагал, что если API-интерфейс AWS позволяет это сделать, Terraform может сделать это без явной поддержки в коде Terraform. Возможно, это желаемое за действительное, и нам придется подождать, пока Terraform поддержит новую функцию, или, возможно, я просто делаю это неправильно.

Я попытался просто объявить свойство description в объявлении правила (как и в случае описания самой группы безопасности):

    ingress {
        from_port       = 22
        to_port         = 22
        protocol        = "tcp"
        cidr_blocks     = ["123.456.789.123"]
        description     = "some rule description"
        }

Terraform поручительств на стадии планирования с:

aws_security_group.somegroup: ingress.0: неверный или неизвестный ключ: описание

Я также попытался установить теги в объявлении правила (как вы сделали бы для установки имени группы безопасности):

     ingress {
         from_port       = 22
         ...
      tags {
           "Description" = "some rule description"
           }
      }

Terraform поручительств на стадии планирования с:

aws_security_group.somegroup: ingress.0: неверный или неизвестный ключ: теги

2 ответа

Решение

На данный момент это возможно, и ваш код должен быть действительным.

Кажется, что вы не используете Apra Terraform правильно.

Вы не можете установить description в aws_security_group_rule ресурс.

aws_security_group_rule на Terraform.io

resource "aws_security_group_rule" "allow_all" {
  type            = "ingress"
  from_port       = 0
  to_port         = 65535
  protocol        = "tcp"
  cidr_blocks     = ["0.0.0.0/0"]
  prefix_list_ids = ["pl-12c4e678"]

  security_group_id = "sg-123456"
}

Вы можете установить description в aws_security_group ресурс.

aws_security_group на Terraform.io

Из их документов:

resource "aws_security_group" "allow_all" {
  name        = "allow_all"
  description = "Allow all inbound traffic"

  ingress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port       = 0
    to_port         = 0
    protocol        = "-1"
    cidr_blocks     = ["0.0.0.0/0"]
    prefix_list_ids = ["pl-12c4e678"]
  }
}

aws_security_group"s description собственность должна быть объявлена ​​за пределами ingress а также egress декларации в корневой области видимости

Другие вопросы по тегам