DEV Community

Udoh Deborah
Udoh Deborah

Posted on

Day 65 - Working with Terraform Resources

Step 1: Create a Security Group
Open your main.tf file and add the following code:
Terraform

resource "aws_security_group" "web_server" {
  name_prefix = "web-server-sg"

  ingress {
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }
}
Enter fullscreen mode Exit fullscreen mode

Save the file.

Run terraform init to initialize the Terraform project.

Step 2: Initialize Terraform Project
Run terraform init in your terminal:

$ terraform init
Enter fullscreen mode Exit fullscreen mode

This will initialize the Terraform project and download the necessary providers.

Step 3: Create the Security Group
Run terraform apply to create the security group:

$ terraform apply

Enter fullscreen mode Exit fullscreen mode

Review the changes and type yes to confirm.

Step 4: Create an EC2 Instance
Add the following code to your main.tf file:

resource "aws_instance" "web_server" {
  ami           = "ami-0557a15b87f6559cf"
  instance_type = "t2.micro"
  key_name      = "my-key-pair"
  security_groups = [
    aws_security_group.web_server.name
  ]

  user_data = <<-EOF
              #!/bin/bash
              echo "<html><body><h1>Welcome to my website!</h1></body></html>" > index.html
              nohup python -m SimpleHTTPServer 80 &
              EOF
}
Enter fullscreen mode Exit fullscreen mode

Replace the ami and key_name values with your own.
Save the file.

Step 5: Create the EC2 Instance

Run terraform apply to create the EC2 instance:

$ terraform apply
Enter fullscreen mode Exit fullscreen mode

Review the changes and type yes to confirm.

Step 6: Access Your Website

Find the public IP address of your EC2 instance:

  • Go to the AWS Management Console.
  • Navigate to the EC2 dashboard.
  • Find your instance and copy its public IP address.
  • Open a web browser and navigate to http://:80. we should see the website we have created!

Top comments (0)