1. Access the AWS Management Console
Sign In: Log in to your AWS account and navigate to the EC2 Dashboard.
Region Selection: Ensure you’re in the correct AWS region where you want your instance deployed.
2. Launch an Instance
Click “Launch Instance”: This opens the instance creation wizard.
Choose an AMI:
Filter by “Ubuntu” and select Ubuntu Server 22.04 LTS.
3. Select the Instance Type
Choose t3.micro:
t3.micro is a burstable instance type ideal for lightweight workloads or testing, and typically qualifies for the Free Tier.
Confirm the selection, knowing that this instance type provides modest compute power.
4. Configure Instance Details
Number of Instances: Usually set to 1 unless you need multiple copies.
IAM Role:
If your instance needs to interact with other AWS services (like S3, DynamoDB, etc.), attach an appropriate IAM role.
Advanced Options:
Leverage User Data scripts for initial automation (e.g., updating the system, installing packages) if desired.
5. Add Storage
6. Tag Your Instance
7. Configure the Security Group
8. Review and Launch
Final Verification: Review all your configuration settings for accuracy.
Key Pair Selection:
Choose an existing key pair or create a new one.
Download and Secure: Ensure you download the .pem file if creating a new key pair—it’s your secure credential to SSH into the instance.
Launch Instance: Initiate the instance creation process.
9. Connect to Your Instance
Locate Public IP: Once the instance is running, find its public IP address in the instance details.
Establish an SSH Connection:
ssh -i "path/to/your-key.pem" ubuntu@
Replace "path/to/your-key.pem" with the actual path to your key file and with your instance’s public IP.
Docker ssh connection
Jenkins ssh Connection
Instead of depending solely on Jenkins, this project became a hands-on deep dive into cloud server setup and security fundamentals. By manually configuring the EC2 instance, I explored every step—from launching the server and installing required services, to linking it with GitHub and replicating a production environment. This approach demonstrated that even without traditional CI/CD tools, core DevOps practices like continuous integration and deployment can still be implemented in a simplified, efficient manner. The process highlighted the importance of understanding the underlying infrastructure, proving that building and automating from the ground up is a powerful way to learn deployment workflows and best practices.