EC2 Instance

Create an EC2 instance on AWS and connect to it using SSH.

Start building, submit solution and get feedback from the community.
2Submit Solution·
5 upvotes10 upvotes

The goal of this project is to create an AWS account, set up a Linux server on AWS EC2, and deploy a simple static website. This project will help you gain hands-on experience with cloud computing, specifically with Amazon Web Services (AWS).

Requirements

You are required to complete the following tasks:

  • Create an AWS account if you don’t have one already.
  • Familiarize yourself with the AWS Management Console.
  • Launch an EC2 instance with the following specifications:
    • Use Ubuntu Server AMI.
    • Choose a t2.micro instance type (eligible for AWS Free Tier).
    • Use the default VPC and subnet for your region.
    • Configure the security group to allow inbound traffic on ports 22 (SSH) and 80 (HTTP).
    • Create a new key pair or use an existing one for SSH access.
    • Assign a public IP address to your instance.
  • Connect to your EC2 instance using SSH and the private key.
  • Update the system packages and install a web server (e.g., Nginx).
  • Create a simple HTML file for your static website.
  • Deploy the static website to your EC2 instance.
  • Access your website using the public IP address of your EC2 instance.

Stretch Goals

If you want to challenge yourself further, try these additional tasks:

  • Set up a custom domain name for your website using Amazon Route 53.
  • Implement HTTPS using a free SSL/TLS certificate from Let’s Encrypt.
  • Create a simple CI/CD pipeline using AWS CodePipeline to automatically deploy changes to your website.

Learning Outcomes

After completing this project, you will have gained practical experience in:

  • Creating basic AWS resources
  • Learn about AWS instances, types and differences
  • Launching and configuring EC2 instances
  • Connecting to Linux servers using SSH
  • Basic server administration and web server setup
  • Deploying static websites to cloud infrastructure

After finishing this project you should have a good understanding of launching and connecting to EC2 instances, basic knowledge of security groups, and be able to deploy any of the projects from previous tasks using AWS EC2. Future project ideas will be based on these concepts.

Found a mistake? Help us improve.

Actively Maintained

We are always improving our content, adding new resources and adding features to enhance your learning experience.

Join the Community

roadmap.sh is the 7th most starred project on GitHub and is visited by hundreds of thousands of developers every month.

Rank 7th  out of 28M!

302K

GitHub Stars

Star us on GitHub
Help us reach #1

+90k every month

+1.5M

Registered Users

Register yourself
Commit to your growth

+2k every month

30K

Discord Members

Join on Discord
Join the community

Roadmaps Best Practices Guides Videos FAQs YouTube

roadmap.sh by @kamrify

Community created roadmaps, best practices, projects, articles, resources and journeys to help you choose your path and grow in your career.

© roadmap.sh · Terms · Privacy · Advertise ·

ThewNewStack

The top DevOps resource for Kubernetes, cloud-native computing, and large-scale development and deployment.