I started preparing for this certification in Jan 2022 with the help of a course on A Cloud Guru. Thanks to them for wonderful courses and lecture series! Below are my notes for passing AWS certification. I hope this will be helpful for people who are preparing for the exam.
Table of Content
Foundations of Cloud Computing
IAM
Computing Services
Storage Services
Foundations of Cloud Computing
Know the 6 Advantages of Cloud
- Trade Capital expense for Variable expense
- Benefit from massive economies of scale
- Stop guessing about capacity
- Increase speed and agility
- Stop spending money running and maintaining data centers
- Go global in minutes
Know 3 Types of cloud computing
- Infrastructure As A Service (IAAS)
- Platform As A Service (PAAS)
- Software As A Service (SAAS)
Know 3 Types of cloud computing deployments
- Public Cloud — AWS, Azure, GCP
- Hybrid — Mixture of public and private
- Private Cloud (Or On-Premise) — You manage it, in your data center. OpenStack or VMware
Difference between Region, Availability Zone (AZ), and an Edge location
- A region is a physical location in the world that consists of two or more Availability Zones (AZs). (Basically a Datacenter)
- An AZ is one or more discrete data centers, each with redundant power, networking, and connectivity, housed in separate facilities.
- Edge Locations are endpoints for AWS which are used for caching content. Typically this consists of CloudFront, Amazon’s Content Delivery Network (CDN)
Choosing the right AWS Region?
- Data Sovereignty Laws
- Latency to end-users
- AWS Services
Understand the different support packages
- Basic — Free
- Developer — $29 a month (scales based on usage)
- Business — $100 a month (scales based on usage)
- Enterprise — $15,000 a month (scales based on usage) — TAM (Technical Account Manager)
IAM
IAM stands for Identity and Access Management. It is Global, you do not specify a region when dealing with IAM. When you create a user or group, this is created GLOBALLY.
You can access the AWS platform in 3 ways:
- Via the Console
- Programmatically (Using CLI)
- Using the SDK
Your root account is the email address you used to set up your AWS account. The root account always has full admin access. You SHOULD NOT give these account creds away to anyone. Instead, create a user for each individual within your organization. You should always secure this root account using MFA.
To set permissions in a group you need to apply a policy to that group. Policies consist of JSON. These are referred to as key-value pairs. You have your key, such as name and then value. e.g.; {”name” : ”Dev”}
IAM Credential Reports
- You can generate and download a creds report that lists all users in your account. It will show things like Passwords, Access Keys, and MFA.
- Go to
IAM
service. Click on ‘Credential report’ and click on ‘Download Report’.
Computing Services
1. EC2 (Elastic Cloud Compute)
EC2 instance allows you to rent and manage virtual servers in the cloud. AWS virtual servers are called instances.
Things to remember for Exam:
✔️ EC2 pricing options (Understand On-Demand, Spot, Reserved Instances, Dedicated Hosts, and Savings Plans)
✔️ Know the types of load balancers — Classic, Application, Gateway, and Network
✔️ Understand real-world usage of EC2 instances — Deploying a database or web application
✔️ Horizontal scaling vs. vertical scaling — Horizontal scaling (or scaling out) adds or replaces instances, while vertical scaling (or scaling up) upgrades an existing instance.
✔️ Understand the benefits of Auto Scaling — Remember Auto Scaling improves the availability of your applications, and don’t confuse it with load balancing.
✔️ Understand how to connect to an EC2 instance from your local machine — A key pair is needed to access an EC2 instance from your local machine.
2. AWS Lambda
Lambda is a serverless compute service that lets you run code without managing servers.
- You author application code, called functions, using many popular languages.
- Scales automatically
- Serverless means you don’t worry about managing servers like EC2
Serverless simply means AWS manages the servers for you and you cannot access them. You can pretend they don’t exist.
Lambda is a building block for many serverless applications.
Few use-cases:
- Real-time file processing
- Sending email notifications
- Backend business logic
Features:
- Supports popular programming languages like Java, Go, PowerShell, Node.js, C#, Python, and Ruby
- You author code using your favorite development environment or via the console
- Lambda can execute your code in response to events
- Lambda functions have a 15-minute timeout
Pricing Model: You are charged based on the duration and number of requests.
- Compute time: Pay only for compute time used — there is no charge if your code is not running.
- Request count: A request is counted each time it starts execution. Test invokes in the console count as well.
- Always free: The free usage tier includes 1 million free requests each month.
3. Fargate
Fargate is a serverless compute engine for containers
- It allows you to manage containers, like Docker.
- Scales automatically
- Serverless means you don’t worry about provisioning, configuring, or scaling servers.
4. Lightsail
Lightsail allows you to quickly launch all the resources you need for small projects.
- Deploy pre-configured applications, like WordPress websites, at the click of a button
- Simple screens for people with no cloud experience
- Includes a VM, SSD-based storage, data transfer, DNS management, and a static IP
- Provides a low, predictable monthly fee, as low as $3.50
5. Outposts
Outposts allow you to run cloud services in your internal data center.
- Supports workloads that need to remain on-premises due to latency or data sovereignty needs
- AWS delivers and installs servers in your internal data center
- Used for a hybrid experience
- Have access to the cloud services and APIs to develop apps on-premises
6. Batch
Batch allows you to process large workloads in smaller chunks (or batches).
- Runs hundreds and thousands of smaller batch processing jobs
- Dynamically provisions instances based on volume
Storage Services
1. S3 (Simple Storage Service)
S3 is an object storage service for the cloud that is highly available.
- Objects (or files) are stored in buckets (or directories)
- Essentially unlimited storage that can hold millions of objects per bucket.
- Objects can be public or private.
- You can upload objects via the console, CLI, programmatically from within code using SDKs.
- You can set security at the bucket level or individual object level using access control lists (ACLs), bucket policies, or access point policies.
- You can use S3 access logs to track access to your buckets and objects.
- You can enable versioning to create multiple versions of your file in order to protect against accidental deletion and to use a previous version.
- S3 is a regional service, but bucket names must be globally unique.
S3 is an object storage service with several storage classes:
1. S3 Standard
- General-purpose storage
- Data stored across multiple Availability Zones
- Low latency and high throughput
- Recommended for: Frequently access data
2. S3 Intelligent-Tiering
- Automatically moves your data to the most cost-effective storage class
- Automatic cost-savings
- No retrieval fees
- Data stored across multiple Availability Zones
- Recommended for: Data with the unknown or changing access pattern
2. S3 Intelligent-Tiering
- Automatically moves your data to the most cost-effective storage class
- Automatic cost-savings
- No retrieval fees
- Data stored across multiple Availability Zones
- Recommended for: Data with the unknown or changing access pattern
3. S3 Standard-Infrequent Access (IA)
- Data accessed less frequently required rapid access
- Data stored across multiple AZ
- Cheaper than S3 standard
- Recommended for: Long-lived data, Infrequently accessed, Millisecond access when needed
4. S3 One-Zone Infrequent Access (IA)
- Like S3 Standard-IA but data stored in a single AZ
- Costs 20% less than S3 Standard-IA
- Data stored in this storage class can be lost
- Recommended for: Re-creatable data, Infrequently accessed with millisecond access, Availability and durability are not essential
5. S3 Glacier
- Long-term data storage and archival for lower costs
- Data retrieval takes longer
- 3 retrieval options: 1–5 minutes, 3–5 hours, or 5–12 hours
- Data stored across multiple AZ
- Recommended for: Long-term backups, Cheaper storage options
6. S3 Glacier Deep Archive
- Like S3 Glacier but with longer access times
- 2 retrieval options: 12 hours or 48 hours
- Cheapest of all S3 options
- Data stored across multiple AZ
- Recommended for: Long-term data archival accessed once or twice a year, Retaining data for regulatory compliance requirements
7. S3 Outposts
- Provides object storage on-premises
- A single storage class
- Store data across multiple devices and servers
- Recommended for: Data that needs to be kept local, Demanding application performance needs
2. Elastic Block Store (EBS)
- EBS is a storage device (called a volume) that can be attached to (or removed from) your instance.
- Data persists when the instance is not running
- Tied to one AZ
- Can only be attached to one instance in the same AZ
- Recommended for: Quickly accessible data, Running a DB on an instance, Long-term data storage
- Details: https://aws.amazon.com/ebs/
3. EC2 Instance Store
- It is local storage that is physically attached to the host computer and cannot be removed.
- Storage on disks physically attached to an instance
- Faster with higher I/O speeds
- Storage is temporary since loss occurs when the EC2 instance is stopped
- Recommended for: Temporary storage needs, Data replicated across multiple instances
- Details: https://aws.amazon.com/efs/
4. Elastic File System (EFS)
- EFS is a serverless network file system for sharing files.
- Only supports the Linux file system
- More expensive than EBS
- Accessible across different AZ in the same Region
- Recommended for: Main directories for business-critical apps, Lift-and-shift existing enterprise apps
- Details: https://aws.amazon.com/efs/
5. Storage Gateway
- It is a hybrid storage service.
- Connect on-premises and cloud data
- Supports a hybrid model
- Recommended for: Moving backups to the cloud, Reducing costs for hybrid cloud storage, Low latency access to data
- Details: https://aws.amazon.com/storagegateway/
6. AWS Backup
- AWS Backup helps you manage data backups across multiple AWS services.
- Integrates with resources like EC2, EBS, EFS, and more
- Create a backup plan that includes frequency and retention
- Details: https://aws.amazon.com/backup/