Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AWS Cloud Infrastructure Deployment Lab

Project Overview

This project was developed as part of the Cloud Computing Fundamentals module at CCT College Dublin.

The objective of the assignment was to complete a series of hands-on cloud computing tasks using Amazon Web Services (AWS).

The project focuses on building and configuring a cloud-based infrastructure environment including:

  • Cloud storage using Amazon S3
  • Compute resources using Amazon EC2
  • Auto Scaling infrastructure
  • Application Load Balancer configuration
  • Cloud monitoring with CloudWatch
  • Database hosting with Amazon RDS
  • Web application deployment using Elastic Beanstalk
  • Containerisation using Docker

Through this project, a complete workflow of deploying and managing cloud infrastructure was implemented and documented.


Project Objectives

The assignment aimed to develop practical skills in cloud computing by completing several infrastructure tasks.

The main objectives included:

  • Creating cloud storage using AWS S3
  • Configuring Auto Scaling Groups
  • Deploying a website on Amazon EC2
  • Implementing Application Load Balancing
  • Monitoring infrastructure using CloudWatch
  • Hosting a SQL database in the cloud
  • Deploying applications using Elastic Beanstalk
  • Containerising a web application using Docker

These tasks simulate real-world responsibilities of cloud engineers and DevOps professionals.


Part 1 – Amazon S3 Storage Configuration

The first task involved creating and configuring an Amazon S3 bucket.

Steps performed

  • Created a new S3 bucket
  • Uploaded website files
  • Configured bucket permissions
  • Enabled public access
  • Applied a bucket policy
  • Verified that objects could be accessed from the browser

Outcome

The DigiTech website files stored in the bucket could be accessed directly through the public URL.

This task demonstrated the use of cloud storage for hosting static web content.


Part 2 – Auto Scaling and Cloud Monitoring

The second task involved implementing Auto Scaling infrastructure.

Auto Scaling Group Configuration

The following scaling configuration was created:

Minimum instances: 2

Desired instances: 3

Maximum instances: 4

This configuration ensures that the system automatically adjusts server capacity depending on workload demand.

AWS Services Used

  • Amazon EC2
  • Auto Scaling Groups
  • Security Groups
  • AWS CloudWatch

Monitoring

CloudWatch was used to monitor:

  • CPU usage
  • Network activity
  • Instance health
  • System performance metrics

This allowed basic infrastructure monitoring and performance analysis.


Part 3 – EC2 Web Server Deployment

In this task a virtual machine was created in AWS.

EC2 Instance

Instance name:

DigiZilla

Configuration:

  • Amazon Linux server
  • Public IP enabled
  • Security groups configured

Website Deployment

The DigiTech website was uploaded using FileZilla FTP client.

Steps included:

  • Connecting to the EC2 instance via SSH
  • Uploading website files to /var/www/html
  • Configuring file permissions
  • Verifying that the website loads via the public IP address

This task demonstrated manual deployment of a web application on a cloud server.


Part 4 – Application Load Balancer

A Load Balancer was created to distribute traffic across multiple servers.

Infrastructure Setup

  • 5 Amazon Linux EC2 instances
  • Target group created
  • Health checks configured
  • Application Load Balancer deployed

Server Bootstrapping

The User Data feature was used to automatically configure servers during startup.

Bootstrapping allows:

  • automatic server configuration
  • automatic software installation
  • faster environment provisioning

This improves scalability and infrastructure automation.


Challenge Task 1 – Cloud SQL Database

This task demonstrated how to host a database in the cloud using Amazon RDS.

Database Setup

Steps performed:

  • Created a database instance
  • Configured database credentials
  • Generated database endpoint
  • Connected using MySQL client

Benefits of Managed Databases

Amazon RDS provides:

  • automated backups
  • high availability
  • automatic patching
  • simplified database management

This allows developers to focus on applications instead of infrastructure maintenance.


Challenge Task 2 – Elastic Beanstalk Deployment

The DigiTech web application was deployed using AWS Elastic Beanstalk.

Elastic Beanstalk simplifies application deployment by automatically handling:

  • server provisioning
  • scaling
  • load balancing
  • monitoring
  • infrastructure configuration

This platform is ideal for developers who want to deploy applications quickly without managing infrastructure manually.


Challenge Task 3 – Docker Containerisation

The final challenge involved containerising the DigiTech website using Docker.

Steps Performed

  1. Navigated to the project directory
  2. Created a Dockerfile
  3. Defined base image and configuration
  4. Built the Docker image

docker build -t digitech-web-app .

Ran the container

docker run -p 4000:80 --name digitech-container -d digitech-web-app

Accessed the application via:

http://localhost:4000

Outcome

The DigiTech web application successfully ran inside a Docker container.

This demonstrates containerised deployment, which enables applications to run consistently across environments.

Technologies and Services Used

Cloud Platform

  • Amazon Web Services (AWS)

AWS Services

  • Amazon S3
  • Amazon EC2
  • Auto Scaling Groups
  • Application Load Balancer
  • Amazon RDS
  • Elastic Beanstalk
  • CloudWatch

Other Tools

  • Docker
  • FileZilla
  • Linux command line
  • SSH

Learning Outcomes

This project demonstrates practical experience with:

  • Cloud infrastructure deployment
  • AWS resource management
  • Web application hosting
  • Load balancing
  • Auto scaling systems
  • Cloud monitoring
  • Containerisation
  • DevOps deployment workflows

These skills are essential for careers in:

  • Cloud Engineering
  • DevOps
  • Infrastructure Engineering
  • Site Reliability Engineering

Author

This project was developed by Thiago Goncalves da Costa as part of the Bachelor of Science in Computing and Information Technology at CCT College Dublin.

During my studies, I used the institutional GitHub account associated with my student email:

2022161@student.cct.ie

Since institutional accounts and student emails may be deactivated after graduation, this repository was migrated to my personal GitHub account:

https://github.com/ThiagoGoncos

This ensures long-term preservation of the project, commit history, and academic work completed during the degree program.

About

Hands-on cloud computing project implementing AWS infrastructure including S3 storage, EC2 deployment, Auto Scaling groups, Application Load Balancer configuration, RDS database hosting, Elastic Beanstalk deployment, and Docker containerisation for the Cloud Computing Fundamentals module at CCT College Dublin.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors