AWS Zero to Hero is a structured, project-based learning repository designed to take you from understanding the basics of cloud computing all the way through deploying secure, scalable, and highly available architectures on Amazon Web Services.
Every section is organized into its own folder with a dedicated README.md covering in-depth explanations, diagrams, AWS Console walkthroughs, and hands-on labs. The content progresses logically — from foundational cloud concepts to advanced AWS networking and security.
By the end of this course, you will be able to:
- ✅ Explain cloud computing concepts, deployment models, and service models
- ✅ Navigate the AWS global infrastructure — Regions, AZs, and Edge Locations
- ✅ Implement fine-grained access control using IAM users, roles, policies, and Organizations
- ✅ Store, secure, and manage data at scale with Amazon S3
- ✅ Design isolated, secure cloud networks using AWS VPC
- ✅ Connect and protect VPCs using Peering, Transit Gateway, Endpoints, and DNS Firewall
This section introduces the fundamentals of cloud computing — what it is, why it exists, and how it differs from traditional on-premises IT infrastructure. It covers key characteristics, business benefits, and real-world use cases that form the foundation for understanding modern cloud platforms like AWS.
📂 Explore → Introduction to Cloud Computing
This section explains how cloud environments are architected and consumed. It covers cloud deployment models — Public, Private, Hybrid, and Community — alongside cloud service models — IaaS, PaaS, and SaaS — helping you understand the architectural and usage choices available in cloud computing.
📂 Explore → Cloud Deployment and Service Models
This section provides an overview of Amazon Web Services — its global infrastructure, how AWS organizes compute and storage capacity across Regions and Availability Zones, and a high-level introduction to the essential AWS services that power modern cloud applications.
📂 Explore → Introduction to AWS
This section provides a detailed understanding of AWS IAM — how authentication and authorization work in AWS, and how to implement the principle of least privilege at every layer of your environment.
📂 Explore → AWS Identity and Access Management
| # | Sub-Topic | Description |
|---|---|---|
| 4.1 | Introduction to AWS IAM | IAM overview, users, groups, and foundational concepts |
| 4.2 | Roles and Policies in IAM | IAM roles, managed vs inline policies, and policy structure |
| 4.3 | Policy Evaluation and Cross Account Access | How AWS evaluates policies and enables cross-account resource access |
| 4.4 | AWS Organizations, SCPs and Identity Center | Managing multiple accounts, Service Control Policies, and AWS Identity Center |
| 4.5 | Single Sign-On (SSO) | Centralized access to AWS accounts and business applications |
This section provides a detailed understanding of Amazon S3 — how to store, manage, secure, and retrieve data at scale. It covers everything from core concepts to advanced features like encryption, replication, lifecycle policies, and attribute-based access control.
📂 Explore → AWS Simple Storage Service
| # | Sub-Topic | Description |
|---|---|---|
| 5.1 | Cloud Storage & S3 Fundamentals | What S3 is, core storage concepts, durability, and availability |
| 5.2 | S3 Bucket Types & Architecture | General-purpose vs directory buckets, flat namespace architecture |
| 5.3 | Objects, Storage Classes & Cost Optimization | Object structure, versioning, storage tiers, and cost management |
| 5.4 | S3 Limits, Multipart Upload & Replication | Service quotas, uploading large files, and cross-region replication |
| 5.5 | Object Ownership and Bucket ACLs | Controlling object ownership and access using ACLs |
| 5.6 | S3 Static Website Hosting | Hosting static websites directly from an S3 bucket |
| 5.7 | Requester Pays & Server Access Logging | Cost attribution for data transfer and auditing bucket access |
| 5.8 | Lifecycle Configuration | Automating object transitions and expirations to reduce costs |
| 5.9 | Bucket Policy | Resource-based policies for controlling access to S3 buckets |
| 5.10 | S3 Encryption | SSE-S3, SSE-KMS, SSE-C, and client-side encryption |
| 5.11 | Transfer Acceleration | Faster uploads using CloudFront edge locations |
| 5.12 | S3 ABAC | Attribute-Based Access Control for dynamic, tag-driven permissions |
This section provides a detailed understanding of Amazon VPC — how to design, secure, and connect isolated cloud networks on AWS. It covers core networking components and progresses through advanced connectivity and security topics.
📂 Explore → AWS Virtual Private Cloud
| # | Sub-Topic | Description |
|---|---|---|
| 6.1 | Introduction to AWS VPC | What VPC is, CIDR blocks, and the default VPC |
| 6.2 | Components of VPC | Subnets, route tables, internet gateways, NAT gateways, and Elastic IPs |
| 6.3 | Bastion Host and Private Subnet Connectivity | Securely accessing private subnet instances using a bastion host |
| 6.4 | Security Groups vs Network ACLs | Stateful vs stateless traffic filtering — when to use each |
| 6.5 | VPC Peering | Direct, private connectivity between two VPCs |
| 6.6 | Virtual Private Network (VPN) | Site-to-Site VPN for connecting on-premises networks to AWS |
| 6.7 | Transit Gateway | Hub-and-spoke routing for connecting multiple VPCs and on-premises networks |
| 6.8 | VPC Endpoints | Private access to AWS services without internet or NAT — Gateway and Interface endpoints |
| 6.9 | DNS Firewall | Filtering outbound DNS queries to block malicious and unauthorized domains |
| 6.10 | VPC FLOWLOG | Creation and Accessing logs of network traffic to and from the VPC |
| 6.11 | VPC PrivateLink and Lattice | Explaining the different methods of private communications - Lattice and PrivateLink |
This section covers Amazon EC2 — the backbone of AWS compute. You'll learn how to launch and manage virtual machines, understand instance types and pricing models, configure networking interfaces, control placement and tenancy, and set up web servers on EC2 instances.
📂 Explore → AWS Elastic Compute Cloud
| # | Sub-Topic | Description |
|---|---|---|
| 7.1 | Introduction to EC2 | What EC2 is, AMIs, instance lifecycle, and launching your first instance |
| 7.2 | Instance State and Actions | Describes different Instance States in Lifecycle and Different Actions to execute |
| 7.3 | Elastic Network Interface | ENIs — attaching, detaching, and managing network interfaces on EC2 |
| 7.4 | Instance Types and Purchase Options | On-Demand, Reserved, Spot, and Savings Plans — choosing the right option |
| 7.5 | Key-Pair and SSH Clients | Generating key pairs, connecting via SSH, and managing access |
| 7.6 | Placement Groups | Cluster, Spread, and Partition placement strategies for performance and HA |
| 7.7 | Tenancy and Tenancy Types | Shared, Dedicated Instance, and Dedicated Host — isolation and compliance |
| 7.8 | Webservers | Installing and configuring web servers (Apache/Nginx) on EC2 instances |
| 7.9 | Multi-Website in Single Ec2 | Installing and configuring Multiple websites in a single ec2 machine using multiple ips |
| 8.0 | ssh-keygen | Generating New key-pair incase we lose private key in our machine |
| 8.1 | LoadBalancers | Introduction to loadbalancers , Loadbalancing Algorithms and Types of Loadbalancers in aws |
| 8.2 | Network LoadBalancer -Handson | Lab demonstrating the Network Loadbalancer setup |
| 8.3 | Application-LoadBalancer -Handson | Lab demonstrating the Application Loadbalancer setup |
| 8.4 | Introduction to Autoscaling | Introduction to autoscaling and scaling policies |
| 8.5 | AutoScaling-Hands-on | Hands-on Lab on autoscaling in aws |
| 8.5 | Autoscaling+SNS+S3 | Hands-on Lab on Autoscaling+SNS+S3 |
This section provides a detailed understanding of Amazon EBS — how to create, manage, and optimize persistent block storage for EC2 instances. It covers core storage concepts, volume types, performance tuning, snapshots, and security features.
📂 Explore → AWS Elastic Block Store (EBS)
| # | Sub-Topic | Description |
|---|---|---|
| 8.1 | Introduction to AWS EBS | Block Storage Introduction, EBS and filesystem Types and Hands-on Lab |
| 8.2 | EBS Permanent Mounting | Hands-on Lab on Permanent mouting of ebs volume |
| 8.3 | Keypair Recovery using EBS | Hands-on Lab on keypair recovery using ebs root volume swapping |
| 8.4 | Disk-Partition-using-fdisk | Disk Partitioning using fdisk commandlet |
| 8.5 | Logical Volume Management | logical volume management and hands-on labs |
This section provides a detailed understanding of Amazon EFS — how to create, mount, manage, and optimize scalable shared file storage for EC2 instances. It covers core file storage concepts, performance modes, throughput modes, mount targets, security, lifecycle management, and hands-on labs.
📂 Explore → AWS Elastic File System (EFS)
| # | Sub-Topic | Description |
|---|---|---|
| 9.1 | Introduction to AWS EFS | File Storage Introduction, EFS architecture, features, and hands-on lab |
| 9.2 | Creating and Mounting EFS | Create EFS, mount targets, attach to EC2 Linux instances |
This section provides a detailed understanding of Amazon Lambda — how to create, deploy, manage, and optimize serverless functions for event-driven workloads. It covers core serverless concepts, function creation, triggers, execution roles, environment variables, versions and aliases, scaling behavior, monitoring, security, and hands-on labs.
| # | Sub-Topic | Description |
|---|---|---|
| 10.1 | Introduction to AWS Lambda | Introduction to AWS Lambda and hands-on lab |
| 10.2 | Containerized Lambda Function | Create a container image, push to ecr and create a containerized lambda function |
This section provides a detailed understanding of Amazon RDS — how to create, deploy, manage, and optimize relational databases in the cloud. It covers core database concepts, DB instance creation, engine selection, connectivity, backups, Multi-AZ deployments, read replicas, scaling behavior, monitoring, security, maintenance, and hands-on labs.
| # | Sub-Topic | Description |
|---|---|---|
| 11.1 | Introduction to AWS RDS | Introduction to AWS RDS |
| 11.2 | DB Creation and Connecting | Creating a RDS MySQL database and Connecting it through client from an ec2 machine |
This section provides a detailed understanding of AWS Elastic Beanstalk — how to deploy, manage, monitor, and scale applications in the cloud without manually managing infrastructure. It covers core Elastic Beanstalk concepts, environment creation, deployment workflows, application versions, deployment policies, scaling, load balancing, monitoring, security, Docker support, configuration management, and hands-on labs.
📂 Explore → AWS Elastic Beanstalk
| # | Sub-Topic | Description |
|---|---|---|
| 12.1 | Introduction to Elastic Beanstalk | Introduction to AWS Elastic Beanstalk |
| 12.2 | Creating and Deploying an Application | Creating an Elastic Beanstalk environment and deploying an application |
This section provides a detailed understanding of AWS Route 53 — how to manage DNS, create hosted zones, register domains, configure routing policies, and route internet traffic efficiently. It covers core DNS concepts, hosted zones, DNS records, routing policies, health checks, domain registration, private and public hosted zones, failover mechanisms, and hands-on labs.
| # | Sub-Topic | Description |
|---|---|---|
| 13.1 | Introduction to Route 53 | Introduction to AWS Route 53 and DNS concepts |
| 13.2 | Creating a Hosted Zone | Creating Public and Private Hosted Zones and configuring DNS records |
- Basic understanding of AWS networking (VPC, Subnets, Security Groups)
- Knowledge of EC2 instances and SSH access
- Familiarity with Linux commands
- AWS account with permissions to create EFS and EC2 resources
- Key pair for connecting to EC2 instances
Before diving in, make sure you have:
| Requirement | Details |
|---|---|
| AWS Account | Free tier account is sufficient for most labs |
| AWS CLI | Installed and configured (aws configure) |
| Basic Linux | Comfortable with terminal commands |
| IAM User | With appropriate permissions for each service |
| Text Editor | VS Code or similar for editing policy documents |
# Clone this repository
git clone https://github.com/bhuvan-raj/AWS-Zero-to-Hero.git
# Navigate into the project
cd AWS-Zero-to-Hero
# Start with the first section
cd "Introduction to cloud computing"Each folder contains its own README.md with step-by-step explanations, diagrams, AWS Console walkthroughs, and CLI commands. Work through the topics in order for the best learning experience.
Contributions are welcome! If you have suggestions for improvements, new examples, or find any issues, feel free to open an issue or submit a pull request.
Happy Cloud Building! ☁️
If this repo helped you, please consider giving it a ⭐
