46 lines
840 B
HCL
46 lines
840 B
HCL
resource "aws_security_group" "app" {
|
|
name = "tinycommerce-app-sg"
|
|
description = "Allow app and SSH traffic"
|
|
|
|
ingress {
|
|
from_port = 22
|
|
to_port = 22
|
|
protocol = "tcp"
|
|
cidr_blocks = ["180.191.0.0/16"]
|
|
}
|
|
|
|
ingress {
|
|
from_port = 443
|
|
to_port = 443
|
|
protocol = "tcp"
|
|
cidr_blocks = ["0.0.0.0/0"]
|
|
}
|
|
|
|
ingress {
|
|
from_port = 80
|
|
to_port = 80
|
|
protocol = "tcp"
|
|
cidr_blocks = ["0.0.0.0/0"]
|
|
}
|
|
|
|
egress {
|
|
from_port = 0
|
|
to_port = 0
|
|
protocol = "-1"
|
|
cidr_blocks = ["0.0.0.0/0"]
|
|
}
|
|
}
|
|
|
|
resource "aws_instance" "app" {
|
|
ami = "ami-0abcdef1234567890"
|
|
instance_type = "t3.small"
|
|
security_groups = [aws_security_group.app.name]
|
|
|
|
tags = {
|
|
Name = "tinycommerce-app-01"
|
|
}
|
|
|
|
lifecycle {
|
|
prevent_destroy = true
|
|
}
|
|
}
|