Я использовал этот модуль для создания группы безопасности в AWS VP C. Как мне сослаться на созданный из этого ресурс в отдельном файле? Я создаю наш экземпляр бастиона в отдельном каталоге в том же репозитории.
Моя конфигурация бастиона выглядит следующим образом, использует модуль Terraform EC2 и работает, если я жестко кодирую идентификатор группы безопасности vp c, но Я хочу, чтобы он мог принимать его непосредственно с момента создания группы безопасности, поскольку это может измениться в будущем ..
terraform / aws / Layers / bastion / main.tf
provider "aws" {
region = var.region
}
module "ec2-instance" {
source = "terraform-aws-modules/ec2-instance/aws"
name = "bastion"
instance_count. = 1
ami = var.image_id
instance_type = var.instance_type
vpc_security_group_ids = ["${}"]
subnet_id = var.subnet
iam_instance_profile = "aws-example-ec2-role"
tags = {
Layer = "Bastion"
}
}
Вот как я создал группу безопасности: terraform / aws / global / vpc / bastion_sg.tf
module "bastion-sg" {
source = "terraform-aws-modules/security-group/aws"
name = "Bastion"
description = "Bastion example group"
vpc_id = "vpc-12345"
ingress_with_cidr_blocks = [
{
from_port = ##
to_port = ##
protocol = "##"
description = "Bastion SSH"
cidr_blocks = "1.2.3.4/5"
},
{
from_port = ##
to_port = ##
protocol = "##"
description = "Bastion SSH"
cidr_blocks = "1.2.3.4/5"
}
]
egress_with_source_security_group_id = [
{
from_port = ##
to_port = ##
protocol = "##"
description = "Access to default server security group"
source_security_group_id = "sg-12345"
},
{
from_port = ##
to_port = ##
protocol = "##"
description = "Access to db"
source_security_group_id = "sg-12345"
}
]
}
Нужно ли мне выводить Идентификатор группы безопасности в outputs.tf, где я создал с помощью bastion_sg.tf, прежде чем я смогу ссылаться на него в bastion / main.tf, как показано ниже?
module "bastion_sg"
source "../../global/vpc"
, а затем каким-то образом передать идентификатор в vpc_security_group_id =?