Hosting a website on Amazon Web Services (AWS) can be done at no cost using the AWS Free Tier. Here’s a step-by-step guide to get you started.
Step 1: Sign Up for AWS
- Visit the AWS Free Tier Page: Go to the AWS Free Tier page.
- Create an Account: Click on “Create a Free Account” and follow the prompts to set up your account.
- Enter Payment Information: AWS requires a credit card for account verification, but you won’t be charged if you stay within the Free Tier limits.
Step 2: Launch an EC2 Instance
- Go to the EC2 Dashboard:
- Navigate to the AWS Management Console.
- Search for “EC2” in the services menu and select it.
- Launch an Instance:
- Click on “Launch Instance.”
- Choose an Amazon Machine Image (AMI). For a simple website, select the Amazon Linux 2 AMI.
- Choose an Instance Type. Select the t2.micro instance, which is free tier eligible.
- Configure Instance:
- Click “Next: Configure Instance Details.” The default settings are usually fine for a basic website.
- Click “Next: Add Storage” and proceed with the default settings.
- Add Tags (Optional):
- You can add tags to help identify your instance later. Click “Next: Configure Security Group.”
- Configure Security Group:
- Create a new security group.
- Add rules to allow HTTP (port 80) and SSH (port 22) access. For HTTP, set the source to “Anywhere” (0.0.0.0/0) for public access.
- Review and Launch:
- Review your configuration, then click “Launch.”
- You will be prompted to create a new key pair. Download the key pair (a
.pem
file) and keep it safe.
Step 3: Connect to Your EC2 Instance
- Open a Terminal:
- Navigate to the directory where your
.pem
file is stored.
- Navigate to the directory where your
- Change Permissions:
bash
chmod 400 your-key-file.pem
- Connect to Your Instance:
bash
ssh -i "your-key-file.pem" ec2-user@your-instance-public-dns
Replace
your-instance-public-dns
with your EC2 instance’s public DNS address found in the EC2 dashboard.
Step 4: Install a Web Server
- Update the Package Repository:
bash
sudo yum update -y
- Install Apache:
bash
sudo yum install httpd -y
- Start Apache:
bash
sudo systemctl start httpd
- Enable Apache to Start on Boot:
bash
sudo systemctl enable httpd
Step 5: Upload Your Website Files
- Transfer Files:
Usescp
to transfer files from your local machine to the EC2 instance:bashscp -i "your-key-file.pem" local-file-path ec2-user@your-instance-public-dns:/var/www/html/
- Access Your Website:
Open a web browser and enter your EC2 instance’s public DNS. You should see your website!
Step 6: Configure Domain Name (Optional)
- Register a Domain: Consider using a domain registrar to buy a domain name.
- Point Domain to EC2: Update your domain settings to point to your EC2 instance’s public IP address.
Conclusion
By following these steps, you can successfully host a website on AWS for free using the Free Tier. Remember to monitor your usage in the AWS Management Console to avoid any unexpected charges!