SAA-C03

This is a digital copy of my physical notes taken while studying for AWS Certifications. Not all content is here since I've only taken notes on services which I haven't actively used during my time with AWS. I've given every service a heading but notes may be terse if I am already familiar with the service.

EC2 - Elastic Compute Cloud

flowchart LR
    start(Start Here) --> instanceClass
    instanceClass[M] --> generation[5]
    generation --> size[2xLarge]  
    
    
    instanceLabel("Instance Class") --> instanceClass
    generationLabel("Instance Generation (Improves over time)") --> generation
    sizeLabel("Size within instance class") --> size

Fundamentals

Security Groups

AWS SDK Setup

Purchasing Options

Spot Instances

Placement Groups

Elastic Network Interface

Hibernation

AMI - Amazon Machine Image

EC2 Instance Store

EBS - Elastic Block Store

Volume Types

EBS MultiAttach

EBS Encryption

EFS - Elastic Filesystem

ELB - Elastic Load Balancer

flowchart
    user[User] -- "Allow 80/443 from 0.0.0.0" --> ELB
    ELB -- "Allow 80/443 from ELB" --> EC2 
    user -- "Blocked" --> EC2

CLB - Classic Load Balancer

ALB - Application Load Balancer

NLB - Network Load Balancer

GWLB - Gateway Load Balancer

flowchart LR
   user -- "Request" --> GWLB 
   GWLB <-- "First" --> Appliance[Firewalls ETC on EC2/ELB/ALB]
   GWLB -- "Second" --> EC2
   EC2 --> user

Sticky Sessions

Cross Zone Load Balancing

flowchart
    User --> enabled[With CZB]
    User --> disabled[Without CZB]
    
    subgraph Zone 3 
      EC21[EC2] 
      EC25[EC2] 
    end
    
    subgraph Zone 2
      EC22[EC2]
      EC26[EC2]
    end
    
    subgraph Zone 1
      EC23[EC2]
      EC24[EC2]
    end
    
    enabled --> EC21
    enabled --> EC22
    
    disabled --> EC23
    disabled --> EC24

SSL/TLS on ELB

Connection Draining

ASG - Auto Scaling Groups

RDS - Relational Database Service

Read Replicas

RDS Multi AZ

RDS Custom

RDS Backups

Aurora

Aurora Serverless

Global Aurora

Aurora ML

Aurora Backups

Aurora Clones

RDS Security

RDS Proxy

Elasticache

Elasticache Security

Route 53

Elastic Beanstalk

S3 - Simple Storage Service

S3 Replication

Requester Pays

S3 Transfer Acceleration

S3 Byte Range Fetching

S3 Encryption Options

S3 MFA Delete

S3 Glacier Vault Lock

S3 Access Points

S3 Object Lambda

Cloudfront

Cloudfront Pricing

Global Accelerator

Amazon FSx

Hybrid Cloud

AWS Storage Gateway

AWS Transfer Family

AWS DataSync

SQS - Simple Queue Service

SQS Message visibility

Long Poling

FIFO queue

SQS and ASG

SNS - Simple Notification Service

SNS Fan Out Pattern

SNS FIFO

SNS Filters

Kinesis

Kinesis Data Streams

Kinesis Data Stream security

Kinesis Data Firehose

Data Streams vs Firehose

Data Streams Data Firehose
Streaming for ingest at scale Load stream data into other services
Write custom producer/consumer code Fully Managed
Real time (~200ms) Near real time
User manages sharding Auto scaling
1 to 365 days data retention No storage or data retention
Supports data replay No replay capability

Ordering Kinesis data

Kinesis vs SQS - FIFO

SQS vs SNS vs Kinesis

SQS SNS Kinesis
Consumers Pull data Push data to many subscribers Standard: 2MB per shard
Delete after consume Up to 12.5m subscribers Enhanced: 2MB per shard per consumer
Can have as many consumers as we want Data lost if not delivered Can replay data
No need to provision Up to 100k topics Meant for Real Time big data
Only Ordered if using FIFO No need to provision Shard level ordering
Supports individual message delay Integrates with SQS for "Fan out" Retention for 1 - 365 days
FIFO capability with SQS FIFO Provisioned or on demand available

Kinesis Data Analytics

Amazon MQ

Containers

Amazon ECR

flowchart LR
  File[Docker File] -- Build --> Image[Docker Image]
  Image -- Run --> Container[Docker Container]
  Image -- Push --> Repo[ECR]
  Repo -- Pull --> Image
 
  subgraph Docker Repository
    Repo[ECR]
    Repo2[Docker Hub]
  end

Amazon ECS

flowchart TD
  subgraph ECS - EC2 launch type
    New[New Request]
  
    subgraph EC2 Instance 1 
      ECSTask1[ECS Task]
      
      subgraph Docker One
        ECSAgent1[ECS Agent] 
      end
    end
    
    subgraph EC2 Instance 2 
      ECSTask2[ECS Task]
      
      subgraph Docker Two
        ECSAgent2[ECS Agent] 
      end
    end
    
    New -- Creates --> ECSTask1
    New -- Creates --> ECSTask2
  end

ECS IAM Roles

flowchart 
  subgraph IAM - EC2 Instance Profile
    subgraph EC2
      ECSAgent[ECS Agent]
      
      subgraph IAM - Task Role 1
        Task1[Task 1]
      end
      
      subgraph IAM - Task Role 2
        Task2[Task 2]
      end
    end
  end
  
  ECSAgent --> CloudWatch
  ECSAgent --> ECR
  ECSAgent --> ECS
  Task1 --> S3
  Task2 --> DynamoDB

ECS Load Balancing

ECS Data Volumes (EFS)

ECS Autoscaling

EC2 Launch Type Scaling

Amazon EKS

EKS Data Volumes

AWS App Runner

Lambda

Lambda Limits

Lambda Snap Start

Edge Functions

Cloudfront Functions

Lambda@Edge

Cloudfront Functions vs Lambda@Edge

Cloudfront Functions Lambda@Edge
Cache Key Normalisation Server ms execution time available
Header Manipulation Adjustable CPU/Memory
URL Rewriting Allows 3rd party libraries
Network access for external services
Access to request body

Lambda in a VPC

Lambda with RDS Proxy

Invoking Lambda from Aurora & RDS

DynamoDB

DynamoDB capacity modes

DynamoDB accelerator (DAX)

DynamoDB Stream processing

Global tables

DynamoDB TTL

DynamoDB Backups

API Gateway

API Gateway endpoint types

API Gateway Security

Step Functions

Cognito

Choosing the right Database

EXAM will likely ask about all of these from a high level

Amazon KeySpaces

Athena

Athena Federated Query

Redshift

Redshift Spectrum

Amazon Elastic Map Reduce (EMR)

QuickSight

AWS Glue

Glue Crawler

Lake Formation

Amazon Managed Streaming for Apache Kafka (MSK)

Kinesis vs Kafka

Kinesis Data Streams MSK
1MB Size limit on messages 1mb default but up to 10MB
Data streams with shards Kafka topics use partitions
Shard splitting and merging Can only add patterns to topics
TLS inflight & KMS at rest Plaintext or TLS inflight & KMS at rest

Amazon Rekognition

Rekognition moderation

AWS Transcribe

AWS Polly

Translate

Lex + Connect

AWS Comprehend

Comprehend medical

Sagemaker

Forecast

Amazon Personalise

Cloudwatch

Cloudwatch Metrics

Cloudwatch Agent

Cloudwatch unified agent

Cloudwatch Alarms

Cloudwatch container insights

Cloudwatch Contributor Insights

Event Bridge

CloudTrail

AWS Config

CloudWatch vs Cloudtrail vs Config

AWS organizations

IAM Conditions

IAM Roles vs Resource based policies

flowchart 
  subgraph Account A
    User1[User]
    User2[User]
  end
  
  subgraph Account B
    User1 -- Assume Role --> IAM
    User2 --> Policy
  
    IAM[IAM Role] --> S3
    Policy[S3 Policy] --> S3
  end

IAM Permission Boundaries

AWS IAM Identity Center

AWS Active Directory services

AWS Control tower

flowchart TD
  subgraph Control Tower 
    Guardrail[Detective Guard Rail] <--> Acc1[Account 1]
    Guardrail <-- Detect issue --> Acc2[Account 2]
    Guardrail <-- Detect issue --> Acc3[Account 3]
  end
  
  Guardrail -- Trigger --> SNS
  SNS -- Trigger --> Lambda
  
  Lambda -- Remediate --> Acc3
  Lambda -- Remediate --> Acc2

KMS

Multi-region KMS

S3 Replication Encryption

Sharing encrypted AMIs

SSM Parameter Store

Secrets Manager

Amazon Certificate Manager (ACM)

Web Application Firewall (WAF)

AWS Shield

AWS Firewall Manager

Guard Duty

Amazon Inspector

Macie

VPCs

Default VPC

Subnets

Internet Gateway

Bastion Hosts

flowchart LR
  User -- SSH --> Bastion
  
  subgraph VPC
    subgraph Public Subnet
      Bastion[Bastion Host]
    end
    
    subgraph Private Subnet
      Private[Private EC2]
    end
    
    Bastion -- SSH --> Private
  end 

NAT Instances

NAT Gateway

NACL & Security Groups

Security Groups vs NACLs

Security Groups NACL
Instance level Subnet level
Stateful (Return Allowed) Stateless (Always checked)
All rules evaluated Weighted Rules

VPC Peering

VPC Flow Logs

AWS Site to Site VPN

AWS VPN Cloudhub

Direct Connect (DX)

Site to Site VPN as a backup

Transit Gateway

VPC Traffic Mirroring

IPv6 for VPC

Egress Only Internet Gateway

flowchart LR
  subgraph VPC
    IG[Internet Gateway]
    EOIG[Egress Only Internet Gateway]
    
    subgraph Public Subnet
      NAT[Nat Gateway]
    end
    
    subgraph Private Subnet
      EC2 <-- IPv4 --> NAT
    end
   
    NAT <--> IG 
    EC2[Private EC2] -- IPv6 --> EOIG
  end
  
  IG <--> Internet
  EOIG --> Internet

Disaster Recovery

Database Migration Service (DMS)

AWS Backup

Elastic Network Adapter (ENA)

Elastic Fabric Adapter (EFA)

AWS Parallel Cluster

Amazon Pinpoint

Footnotes

  1. This is an assumption

  2. Technically yes, but it pains me so much to see containers & this be described as Serverless, some of these diagrams that are given as examples are terrifying. So much infrastructure and layers of complexity for what could be a lambda function... I get we're not up to it yet in the course but man.



Updated 324 days ago (27 Nov 2024)