1terraform {
2 required_providers {
3 aws = {
4 source = "hashicorp/aws"
5 version = "~> 5.0"
6 }
7 }
8}
9
10provider "aws" {
11 region = var.aws_region
12}
13
14resource "aws_security_group" "ubuntu_sg" {
15 name = "ubuntu-sg"
16 description = "Allow SSH and HTTP"
17
18 ingress {
19 from_port = 22
20 to_port = 22
21 protocol = "tcp"
22 cidr_blocks = ["0.0.0.0/0"]
23 }
24
25 ingress {
26 from_port = 80
27 to_port = 80
28 protocol = "tcp"
29 cidr_blocks = ["0.0.0.0/0"]
30 }
31
32 egress {
33 from_port = 0
34 to_port = 0
35 protocol = "-1"
36 cidr_blocks = ["0.0.0.0/0"]
37 }
38}
39
40resource "aws_instance" "ubuntu" {
41 ami = var.ami
42 instance_type = var.instance_type
43 key_name = var.key_name
44 vpc_security_group_ids = [aws_security_group.ubuntu_sg.id]
45
46 tags = {
47 Name = "Ubuntu-EC2"
48 }
49}