Module 1: AWS Fundamentals - Understanding the Cloud Landscape
- What is AWS?
- Explanation of Amazon Web Services as a comprehensive and broadly adopted cloud platform, offering over 200 fully featured services from data centers globally.
- Discussion of the benefits of cloud computing: agility, elasticity, cost savings, global reach, innovation.
- Global Infrastructure: Regions and Availability Zones (AZs)
- Regions: Geographically isolated areas where AWS clusters its data centers. Emphasize the importance of choosing the right region based on latency, compliance, and cost.
- Availability Zones (AZs): One or more discrete data centers within a Region, equipped with redundant power, networking, and connectivity. Explain how using multiple AZs provides high availability and fault tolerance. (Diagram: A simple diagram showing Regions containing multiple AZs connected by low-latency networks).
- IAM (Identity and Access Management): Users, Roles, Groups, and Policies
- Users: Represent individual people or systems that interact with AWS. Best practice: Enable Multi-Factor Authentication (MFA).
- Roles: Provide temporary security credentials for users, applications, or services to access AWS resources. Emphasize the principle of least privilege.
- Groups: Collections of IAM users that can be assigned permissions collectively. Useful for managing permissions for teams.
- Policies: Define permissions in JSON format, specifying what actions an identity (user, role, group) or resource is allowed or denied to perform on which resources.
- Hands-on Lab:
- Sign up for an AWS Free Tier account (if you haven't already).
- Create an IAM user with a strong password and enable MFA.
- Create an IAM group for "Developers" and attach a policy that allows read-only access to S3.
- Add the IAM user to the "Developers" group.
- Create an IAM role that allows an EC2 instance to read objects from a specific S3 bucket.
- AWS Console Walkthrough: Navigating the AWS Management Console, understanding the service dashboard, and searching for services.
- Cost Optimization Tip: Understand the AWS Free Tier and how to leverage it for learning.
Module 2: Core Compute Services - The Engines of Your Applications
- EC2 (Elastic Compute Cloud): Instance Types, Security Groups, Key Pairs
- Instance Types: Explain the different instance families (e.g., general-purpose, compute-optimized, memory-optimized, storage-optimized) and their use cases. Discuss instance sizing and the importance of choosing the right type for your workload.
- Security Groups: Virtual firewalls that control inbound and outbound traffic at the instance level. Explain the concept of allowing traffic on specific ports and protocols.
- Key Pairs: Secure way to log in to your Linux-based EC2 instances using SSH. Emphasize the importance of storing the private key securely.
- Hands-on Lab:
- Launch a t2.micro instance (Free Tier eligible) in your preferred region.
- Configure a security group to allow inbound SSH traffic from your IP address and HTTP traffic from anywhere.
- Create a new key pair and download the private key file.
- Connect to your EC2 instance using SSH.
- Install a web server (e.g., Nginx or Apache) on the instance and verify it's accessible via the public IP address.
- Auto Scaling and Load Balancers
- Auto Scaling: Automatically adjust the number of EC2 instances based on demand or defined metrics (e.g., CPU utilization). Explain the benefits of scalability and availability. Discuss scaling policies (e.g., target tracking, step scaling).
- Load Balancers: Distribute incoming traffic across multiple EC2 instances to improve application availability and performance. Introduce the different types of Elastic Load Balancers (Application Load Balancer, Network Load Balancer, Classic Load Balancer) and their use cases. (Diagram: An architecture diagram showing multiple EC2 instances in different AZs behind an Application Load Balancer, with an Auto Scaling group managing the instances).
- Hands-on Lab:
- Create a simple web application that can be deployed on multiple EC2 instances.
- Create a Launch Template or Launch Configuration for your EC2 instances.
- Set up an Auto Scaling group based on your Launch Template/Configuration, specifying minimum, maximum, and desired capacity.
- Create an Application Load Balancer and configure it to route traffic to your EC2 instances.
- Test the scalability by manually increasing the load on your application and observing the Auto Scaling group launching new instances.
- AWS Lambda (Basics of Serverless)
- Introduction to AWS Lambda as a serverless compute service that lets you run code without provisioning or managing servers. Explain the concept of event-driven computing and common use cases (e.g., processing S3 events, responding to API Gateway requests).
- Basic understanding of Lambda functions, triggers, and execution roles.
- Hands-on Lab:
- Create a simple Lambda function using the AWS Management Console that prints "Hello from Lambda!".
- Configure an S3 bucket to trigger your Lambda function when a new object is created.
- Upload a file to the S3 bucket and observe the Lambda function execution in CloudWatch Logs.
- Cost Optimization Tip: Choose the right EC2 instance type and size for your workload. Utilize Auto Scaling to scale down during off-peak hours. Leverage Lambda for event-driven tasks to avoid running idle instances.
Module 3: Networking Essentials - Connecting Your Cloud Resources
- VPC (Virtual Private Cloud)
- Your logically isolated section of the AWS cloud where you can launch AWS resources in a virtual network that you define. Explain the concept of network isolation and control.
- Subnets: Ranges of IP addresses within your VPC. Differentiate between public and private subnets and their typical use cases.
- Route Tables: Contain rules (routes) that determine where network traffic from your subnets or gateway is directed.
- NAT (Network Address Translation) Gateway: Allows instances in a private subnet to connect to the internet or other AWS services, but prevents the internet from initiating a connection with those instances.
- Internet Gateway: A horizontally scaled, redundant, and highly available VPC component that allows communication between instances in your VPC and the internet.
- Security Groups vs NACLs (Network Access Control Lists)
- Security Groups: Stateful firewalls that operate at the instance level, allowing or denying traffic to and from instances.
- NACLs: Stateless firewalls that operate at the subnet level, allowing or denying traffic entering and leaving subnets. Emphasize the differences in scope and statefulness.
- Elastic IPs (EIPs): Static, public IPv4 addresses designed for dynamic cloud computing. You can associate an EIP with an instance and re-map it to another instance if the first one fails.
- VPC Peering: Enables you to connect one VPC with another VPC in the same or different AWS accounts, allowing resources in either VPC to communicate with each other as if they were within the same network.