Size: a a a

2021 July 12

A

Anya in terraform_ru
источник

A

Anya in terraform_ru
Может кто-то сталкивался и подскажет решение?
источник

MY

Mihail Yakubiv in terraform_ru
используй self = true
источник

MY

Mihail Yakubiv in terraform_ru
в доке по сг есть
источник

MY

Mihail Yakubiv in terraform_ru
а
разные сг
тогда как вариант рулу отдельно
источник

MY

Mihail Yakubiv in terraform_ru
источник

Y

Yks in terraform_ru
есть у поднятой вмки такая тема как Guest OS Customisation и возможность залить скрипт. Не знаешь, можно ли на основании того, какой вид сети сетится при разворачивании - скриптом настраивать нетплан?
источник

OB

Oleksii Borodai in terraform_ru
Без понятия. Даже если и знал, то забыл. Для меня опыт VMware закончился на vSphere 6.0
источник

Y

Yks in terraform_ru
логически скрипт проваливается и исполняется внутри ос. ТОгда должны быть каие то факторы извне при разворачивании, на основании которых будет стетемент
источник

Y

Yks in terraform_ru
н лан, спасибо
источник

A

Anya in terraform_ru
делал так, не выходит
все равно пишет про error: cycle
источник

MY

Mihail Yakubiv in terraform_ru
попробуй еще, аккуратней пропиши где чья рула
это работает 100процентов
у меня работало пару версий назад даже без depends_on (на крайняк можно заюзать депендс_он и вручную зависимости прописать)
источник

A

Anya in terraform_ru
Вот так прописывал рулы к коду выше. Нужно, чтобы группа sg1 ходила на sg2, и наоборот

######## Allow access from SG2 to SG1 ########
resource "aws_security_group_rule" "extra_rule_sg2" {
 type                     = "ingress"
 from_port                = 0
 to_port                  = 65535
 protocol                 = "all"
 security_group_id        = "${aws_security_group.sg2.id}"
 source_security_group_id = "${aws_security_group.sg1.id}"
}

######## Allow access from SG1 to SG2 ########
resource "aws_security_group_rule" "extra_rule_sg1" {
 type                     = "ingress"
 from_port                = 0
 to_port                  = 65535
 protocol                 = "all"
 security_group_id        = "${aws_security_group.sg1.id}"
 source_security_group_id = "${aws_security_group.sg2.id}"
}
источник

MY

Mihail Yakubiv in terraform_ru
to_port можно тоже 0 указывать
если не канает - добавь еще depends_on на рулах
чтоб  рулы создавались после секурити групп

вообще использование рулов как отдельных ресурсов чревато проблемами (нужно полностью рулы выносить из сг, чтоб не конфликтовало + если добавляется вручную рул в амазоне мимо тф, то терраформ этого не видит)
но в этой ситуации вариантов других вроде нет
источник

A

Anya in terraform_ru
что-то все равно не фурычит с depends_on, та же ошибка с циклом
источник

MY

Mihail Yakubiv in terraform_ru
покажи код, с обеими сг и рулами
источник

A

Anya in terraform_ru
## ------ Creating security group for VPC1 ------
resource "aws_security_group" "sg1" {
 name        = "SG1"
 vpc_id      = aws_vpc.vpc1.id

 ingress {
   description      = "Allow for SG2"
   from_port        = 0
   to_port          = 0
   protocol         = "all"
   security_groups  = [aws_security_group.sg2.id]
 }

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

 tags = {
   Name = "SG1"
 }
}

######## Allow access from SG1 to SG2 ########
resource "aws_security_group_rule" "extra_rule_sg2" {
 type                     = "ingress"
 from_port                = 0
 to_port                  = 0
 protocol                 = "all"
 security_group_id        = "${aws_security_group.sg2.id}"
 source_security_group_id = "${aws_security_group.sg1.id}"
 depends_on = [aws_security_group.sg1]
}

## ------ Creating security group for VPC2 ------
resource "aws_security_group" "sg2" {
 name        = "SG2"
 vpc_id      = aws_vpc.vpc2.id

 ingress {
   description      = "Allow for SG1"
   from_port        = 0
   to_port          = 0
   protocol         = "all"
   security_groups  = [aws_security_group.sg1.id]
 }

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

 tags = {
   Name = "SG2"
 }
}

######## Allow access from SG1 to SG2 ########
resource "aws_security_group_rule" "extra_rule_sg1" {
 type                     = "ingress"
 from_port                = 0
 to_port                  = 0
 protocol                 = "all"
 security_group_id        = "${aws_security_group.sg1.id}"
 source_security_group_id = "${aws_security_group.sg2.id}"
 depends_on = [aws_security_group.sg2]
}
источник

MY

Mihail Yakubiv in terraform_ru
ингресы в ресурсе aws_security_group зачем?
они ж определяются извне, другим ресурсом
сг должна создаваться пустой, без рулов

также я бы egress вытянул в отдельный ресурс, чтоб одинаково управлялось все (в этом кейсе)
источник

MY

Mihail Yakubiv in terraform_ru
версия тф какая? почему в aws_security_group_rule синтаксис от 0.11 ? (с фигурными скобками и долларом)
источник

A

Anya in terraform_ru
Terraform v1.0.1
источник