fediservices.nz-infra/ec2.tf
2023-04-22 14:08:28 +12:00

36 lines
946 B
HCL

# Instance
resource "aws_instance" "instance" {
ami = data.aws_ami.ubuntu.id
instance_type = var.instance_type
iam_instance_profile = aws_iam_instance_profile.profile.name
availability_zone = element(aws_subnet.subnet.*.availability_zone, 1)
user_data = data.template_file.userdata.rendered
subnet_id = element(aws_subnet.subnet.*.id, 1)
key_name = var.ssh_key
vpc_security_group_ids = [aws_security_group.sg.id]
tags = { Name = var.domain }
lifecycle {
ignore_changes = [
tags,
]
}
}
# Elastic IP
resource "aws_eip" "eip" {
instance = aws_instance.instance.id
vpc = true
tags = { Name = var.domain }
}
# EBS Vol for persistance
resource "aws_ebs_volume" "ebs" {
availability_zone = element(aws_subnet.subnet.*.availability_zone, 1)
size = "1"
type = "gp3"
encrypted = true
}