EC2 with Terraform
Let's create an EC2 instance in Terraform.
File cloudcasts.tf:
 1terraform { 2  required_providers { 3    aws = { 4      source  = "hashicorp/aws" 5      version = "3.41.0" 6    } 7  } 8  9  backend "s3" {10    bucket = "cloudcasts-courses"11    key    = "ec2-basics/terraform.tfstate"12    profile = "cloudcasts"13    region  = "us-east-2"14  }15}16 17provider "aws" {18  profile = "cloudcasts"19  region  = "us-east-2"20}21 22resource "aws_instance" "my_instance" {23  # A community/official AMI we selected24  ami = "ami-00399ec92321828f5"25  instance_type = "t3.small"26 27  root_block_device {28    volume_size = 829    volume_type = "gp3"30  }31 32  # One of our public subnets from the default VPC33  subnet_id = "subnet-69b9ab13"34 35  # A security group we created in an earlier video, allow36  # http, https, and ssh traffic37  vpc_security_group_ids = ["sg-03a0de283057734fb"]38 39  # An ssh key pair we created40  key_name = "cloudcasts-forge"41 42  # Some tags for the instance43  tags = {44    Name = "my ec2 instance"45    Environment = "production"46  }47}