This repo contains some resources for getting acquainted with AWS and then a number of progressive AWS challenges. After the Inital Setup, you will find challenges grouped by AWS service. Each challenge describes what is to be accomplished in broad terms and is followed by a link to step by step instructions.
As a reminder, be sure to delete any resources you create in AWS to avoid unexpected charges.
Don't know where to start? These videos are a great introduction to cloud computing and AWS.
- What is Cloud Computing?
- What is AWS?
- AWS Global Cloud Infrastructure
- AWS Global Infrastructure Explainer Video | Amazon Web Services
- What is Generative AI and How Does it Work?
- Containerization Explained
Get familiar with AWS best practices and documentation. You'll come back to these resources again and again.
- Start with The Well Architected Framework
- AWS Documentation
- AWS CLI Documentation
- CloudTrail supported services and integrations
Keep the following tools handy to help you evaluate your architecture and estimate costs.
Keep up with the latest AWS news and announcements.
Check out these videos to get a quick overview of some key AWS services.
- Introduction to Amazon Simple Storage Service (S3) - Cloud Storage on AWS
- What is Amazon EC2?
- Amazon RDS Custom Overview
- What is Amazon DynamoDB?
- AWS Lambda explained in 90 seconds
- Introduction to AWS Elastic Beanstalk
- Introduction to Amazon Elastic Container Service (ECS) | Amazon Web Services
- Simplify Your Infrastructure Management Using AWS CloudFormation
- AWS Shield Animated Explainer Video | Amazon Web Services
- What is AWS Transit Gateway - Design and Build Your Network Around a Central Hub
- Introduction to Data Warehousing on AWS with Amazon Redshift | Amazon Web Services
I've found the following resources to be particularly helpful.
- Adrian Cantrill's Tech Fundamentals course is a fantastic resource.
- AWS Skill Builder
- AWS Certified Solutions Architect Assciate Study Guide (SAA-C03)
If you alredy have an AWS account, have configured an IAM user with AdministratorAccess, have built a budget, and have configured the AWS CLI, you can skip this section. Consult the following step by step instructions if you need a hand.
- What are the differences between Security Groups and Network ACLs?
- Describe S3 lifecycle policies and how they can be used to optimize cost.
- Give AWS examples of vertical and horizontal scaling
- Contrast RDS, DynamoDB, and Redshift. Describe use cases for each.
- What happens to EBS volumes and billing when you stop vs terminate an instance?
- In DynamoDB, what is a partition key and a sort key?
- In RDS, what is Multi-AZ and Read Replicas?
- In DynamoDB, what are GSIs and LSIs?
- How do you choose between on-demand and provisioned capacity in DynamoDB?
- Describe the difference between high availability and fault tolerance.
- What's the difference between IAM roles and IAM users? Provide an example of when you'd use each.
- A web application experiences unpredictable traffic spikes throughout the day. Design a solution using EC2, ELB, and Auto Scaling that handles this efficiently and cost-effectively.
- What are the differences between Application Load Balancer (ALB) and Network Load Balancer (NLB)? When would you choose one over the other?
- Compare Lambda and EC2. What factors would influence your choice between them for a given workload?
- Explain the difference between stopping and terminating an EC2 instance. What happens to EBS volumes and billing in each case?
- A company needs to reduce costs for predictable, steady-state workloads running 24/7. Compare Reserved Instances, Savings Plans, and Spot Instances as solutions.
- How would you use CloudWatch to automatically scale an Auto Scaling Group based on application performance?
- What are the different EBS volume types (gp3, io2, st1, sc1), and what use cases is each optimized for?
- A company needs to make their S3-hosted static website faster for global users. What AWS services would you recommend and why?
- Explain the difference between S3 bucket policies and IAM policies. When would you use each to control access to S3 objects?