Как сказано в заголовке, если я использую terraform / aws / sizes / bastion / main.tf для создания экземпляра EC2, я знаю, что могу также создать группу безопасности в том же файле main.tf для использования экземпляром бастиона, но что, если я хочу создать группу безопасности, которую можно будет использовать в другом файле?
Например, если terraform / aws / Layers / worker / main.tf должен использовать ту же группу безопасности, что и bastion / main.tf, как я могу это сделать?
bastion/main.tf
provider "aws" {
region = var.region
}
resource "aws_instance" "bastion" {
name = "bastion"
ami = var.image_id
instance_type = var.instance_type
vpc_security_group_ids = [aws_security_group.bastion.id]
subnet_id = var.subnet
iam_instance_profile = "aws-example-ec2-role"
tags = {
Layer = "Bastion"
}
}
resource "aws_security_group" "bastion_from_ssh" {
name = "Bastion"
description = "Bastion example group"
vpc_id = "vpc-12345"
}
resource "aws_security_group_rule" "allow_ssh" {
from_port = ##
to_port = ##
protocol = "##"
description = "Bastion SSH"
cidr_blocks = ["1.2.3.4/5"]
}
resource "aws_security_group_rule" "bastion_to_db" {
from_port = ##
to_port = ##
protocol = "##"
description = "Access to default server security group"
source_security_group_id = "sg-12345"
}