공식문서를 참고한는 것이 제일 좋다!

SG 생성하기

resource "aws_security_group" "nat_instance" {
    name = "nat_instance"
    description = "Allow private subnet outbound traffic"
    vpc_id      = aws_vpc.main.id

    ingress {
        description      = "nat"
        from_port        = 0
        to_port          = 0
        protocol         = "-1"
        cidr_blocks      = [aws_subnet.private_subnet_a.cidr_block]
    }

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

    tags = {
        Name = "nat-instance"
    }
}

EC2 생성하기⭐

resource "aws_instance" "nat_instance" {
    ami                         = "ami-00295862c013bede0"
    instance_type               = "t2.micro"
    key_name                    = "bastion"
    associate_public_ip_address = true
    source_dest_check           = false

    subnet_id               = aws_subnet.public_subnet_a.id
    vpc_security_group_ids  = [
				aws_security_group.ssh.id, 
				aws_security_group.nat_instance.id,
		]
    
    tags = {
        Name = "prod-nat-instance"
    }
}