AWS Solutions Certified Architect Associate Course by Stephane Maarek

Lessons

  • Section 01: Introduction - AWS Certified Solutions Architect Associate (13 min) [2024-01-09]
    • Lesson 001 - Course Introduction [2024-01-09]
    • Lesson 002 - Creating an AWS Account [2024-01-09]
    • Lesson 003 - Important Message [2024-01-09]
    • Lesson 004 - About your instructor [2024-01-09]
  • Section 02: Getting Started with AWS (14 min) [2024-01-09]
    • Lesson 005 - AWS Cloud Overview - Regions & AZ [2024-01-09]
    • Lesson 006 - Tour of the AWS Console & Services in AWS [2024-01-09]
    • Lesson 007 - About the UI changes in the course [2024-01-09]
  • Section 03: IAM & AWS CLI (55 min) [2024-01-09]
    • Lesson 008 - IAM Introductions: Users, Groups, Policies [2024-01-09]
    • Lesson 009 - IAM Users & Groups Hands On [2024-01-09]
    • Lesson 010 - IAM Policies [2024-01-09]
    • Lesson 011 - IAM Policies Hands On [2024-01-09]
    • Lesson 012 - IAM MFA Overview [2024-01-09]
    • Lesson 013 - IAM MFA Hands On [2024-01-09]
    • Lesson 014 - AWS Access Keys, CLI, and SDK [2024-01-09]
    • Lesson 015 - AWS CLI Setup on Windows [2024-01-09]
    • Lesson 016 - AWS CLI Setup on Mac OS X [2024-01-09]
    • Lesson 017 - AWS CLI Setup on Linux [2024-01-09]
    • Lesson 018 - AWS CLI Hands ONn [2024-01-09]
    • Lesson 019 - AWS CloudShell [2024-01-09]
    • Lesson 020 - IAM Roles for AWS Services [2024-01-09]
    • Lesson 021 - IAM Roles Hands On [2024-01-09]
    • Lesson 022 - IAM Security Tools [2024-01-09]
    • Lesson 023 - IAM Security Tools Hands On [2024-01-09]
    • Lesson 024 - IAM Best Practices [2024-01-09]
    • Lesson 025 - IAM Summary [2024-01-09]
  • Section 04: EC2 Fundamentals (100 min) [2024-01-10]
    • Lesson 026 - AWS Budget Setup [2024-01-09]
    • Lesson 027 - EC2 Basics [2024-01-09]
    • Lesson 028 - Create an EC2 Instance with EC2 User Data to have a Website Hands On [2024-01-09]
    • Lesson 029 - EC2 Instance Types Basics [2024-01-09]
    • Lesson 030 - Security Groups & Classic Ports Overview [2024-01-10]
    • Lesson 031 - Security Groups Hands On [2024-01-10]
    • Lesson 032 - SSH Overview [2024-01-10]
    • Lesson 033 - How to SSH using Linux or Mac [2024-01-10]
    • Lesson 034 - How to SSH using Windows [2024-01-10]
    • Lesson 035 - How to SSH using Windows 10 [2024-01-10]
    • Lesson 036 - EC2 Instance Connect [2024-01-10]
    • Lesson 037 - EC2 Instance Roles Demo [2024-01-10]
    • Lesson 038 - EC2 Instance Purchasing Options [2024-01-10]
    • Lesson 039 - Spot Instances & Spot Fleet [2024-01-10]
    • Lesson 040 - EC2 Instances Launch Types Hands On [2024-01-10]
  • Section 05: EC2 Solutions Architect Level (33 min) [2024-01-12]
    • Lesson 041 - Private vs Public vs Elastic IP [2024-01-11]
    • Lesson 042 - Private vs Public vs Elastic IP Hands On [2024-01-11]
    • Lesson 043 - EC2 Placement Groups [2024-01-11]
    • Lesson 044 - EC2 Placement Groups - Hands On [2024-01-11]
    • Lesson 045 - Elastic Network Interfaces (ENI) Overview [2024-01-11]
    • Lesson 046 - Elastic Network Interfaces (ENI) Hands On [2024-01-11]
    • Lesson 047 - EC2 Hibernate [2024-01-12]
    • Lesson 048 - EC2 Hibernate Hands On [2024-01-12]
  • Section 06: EC2 Instance Storage (59 min) [2024-01-15]
    • Lesson 049 - EBS Overview [2024-01-12]
    • Lesson 050 - EBS Hands On [2024-01-12]
    • Lesson 051 - EBS Snapshots [2024-01-12]
    • Lesson 052 - EBS Snapshots Hands On [2024-01-12]
    • Lesson 053 - AMI Overview [2024-01-15]
    • Lesson 054 - AMI Hands On [2024-01-15]
    • Lesson 055 - EC2 Instance Store [2024-01-15]
    • Lesson 056 - EBS Volume Types [2024-01-15]
    • Lesson 057 - EBS Multi-Attach [2024-01-15]
    • Lesson 058 - EBS Encryption [2024-01-15]
    • Lesson 059 - Amazon EFS [2024-01-15]
    • Lesson 060 - Amazon EFS Hands On [2024-01-15]
    • Lesson 061 - EFS vs EBS [2024-01-15]
    • Lesson 062 - EBS & EFS Section Cleanup [2024-01-15]
  • Section 07: High Availability and Scalability: ELB & ASG (95 min) [2024-01-17]
    • Lesson 063 - High Availability and Scalability [2024-01-15]
    • Lesson 064 - Elastic Load Balancing (ELB) Overview [2024-01-15]
    • Lesson 065 - Application Load Balancer (ALB) [2024-01-15]
    • Lesson 066 - Application Load Balancer (ALB) Hands On - Part 1 [2024-01-15]
    • Lesson 067 - Application Load Balancer (ALB) Hands On - Part 2 [2024-01-15]c
    • Lesson 068 - Network Load Balancer (NLB) [2024-01-15]
    • Lesson 069 - Network Load Balancer (NLB) Hands On [2024-01-15]
    • Lesson 070 - Gateway Load Balancer (GWLB) [2024-01-15]
    • Lesson 071 - Elastic Load Balancer - Sticky Sessions [2024-01-16]
    • Lesson 072 - Elastic Load Balancer - Cross Zone Load Balancing [2024-01-16]
    • Lesson 073 - Elastic Load Balancer - SSL Certificates [2024-01-16]
    • Lesson 074 - Elastic Load Balancer - SSL Certificates Hands On [2024-01-16]
    • Lesson 075 - Elastic Load Balancer - Connection Draining [2024-01-16]
    • Lesson 076 - Auto Scaling Groups (ASG) Overview [2024-01-16]
    • Lesson 077 - Auto Scaling Groups Hands On [2024-01-16]
    • Lesson 078 - Auto Scaling Groups - Scaling Policies [2024-01-17]
    • Lesson 079 - Auto Scaling Groups - Scaling Policies Hands On [2024-01-17]
  • Section 08: AWS Fundamentals: RDS + Aurora + ElastiCache (1h 9min) [2024-01-18]
    • Lesson 080 - Amazon RDS Overview [2024-01-17]
    • Lesson 081 - RDS Read Replicas vs Multi AZ [2024-01-17]
    • Lesson 082 - Amazon RDS Hands On [2024-01-17]
    • Lesson 083 - RDS Custom for Oracle and Microsoft SQL Server [2024-01-17]
    • Lesson 084 - Amazon Aurora [2024-01-17]
    • Lesson 085 - Amazon Aurora Hands On [2024-01-17]
    • Lesson 086 - Amazon Aurora Advanced Concepts [2024-01-17]
    • Lesson 087 - RDS & Aurora - Backup and Monitoring [2024-01-18]
    • Lesson 088 - RDS Security [2024-01-18]
    • Lesson 089 - RDS Proxy [2024-01-18]
    • Lesson 090 - ElastiCache Overview [2024-01-18]
    • Lesson 091 - ElastiCache Hands On [2024-01-18]
    • Lesson 092 - ElastiCache for Solutions Architects [2024-01-18]
  • Section 09: Route 53 (1h 22min) [2024-01-23]
    • Lesson 093 - What is a DNS? [2024-01-19]
    • Lesson 094 - Route 53 Overview [2024-01-19]
    • Lesson 095 - Route 53 - Registering a domain [2024-01-19]
    • Lesson 096 - Route 53 - Creating our first records [2024-01-19]
    • Lesson 097 - Route 53 - EC2 Setup [2024-01-19]
    • Lesson 098 - Route 53 - TTL [2024-01-23]
    • Lesson 099 - Route 53 CNAME vs Alias [2024-01-23]
    • Lesson 100 - Routing Policy - Simple [2024-01-23]
    • Lesson 101 - Routing Policy - Weighted [2024-01-23]
    • Lesson 102 - Routing Policy - Latency [2024-01-23]
    • Lesson 103 - Route 53 - Health Checks [2024-01-23]
    • Lesson 104 - Route 53 - Health Checks Hands On [2024-01-23]
    • Lesson 105 - Routing Policy - Failover [2024-01-23]
    • Lesson 106 - Routing Policy - Geolocation [2024-01-23]
    • Lesson 107 - Routing Policy - Geoproximity [2024-01-23]
    • Lesson 108 - Routing Policy - Multi Value [2024-01-23]
    • Lesson 109 - 3rd Party Domains & Route 53 [2024-01-23]
    • Lesson 110 - Route 53 - Section Cleanup [2024-01-23]
  • Section 10: Classic Solutions Architecture Discussions (45min) [2024-01-23]
    • Lesson 111 - Solutions Architecture Discussion Overview [2024-01-23]
    • Lesson 112 - WhatsTheTime.com [2024-01-23]
    • Lesson 113 - MyClothes.com [2024-01-23]
    • Lesson 114 - MyWordPress.com [2024-01-23]
    • Lesson 115 - Instantiating application quickly [2024-01-23]
    • Lesson 116 - Beanstalk Overview [2024-01-23]
    • Lesson 117 - Beanstalk Hands On [2024-01-23]
  • Section 11: Amazon S3 Introduction (47 min) [2024-01-23]
    • Lesson 118 - S3 Overview [2024-01-23]
    • Lesson 119 - S3 Hands On [2024-01-23]
    • Lesson 120 - S3 Security: Bucket Policy [2024-01-23]
    • Lesson 121 - S3 Security: Bucket Policy Hands On [2024-01-23]
    • Lesson 122 - S3 Website Overview [2024-01-23]
    • Lesson 123 - S3 Website Hands On [2024-01-23]
    • Lesson 124 - S3 Versioning [2024-01-23]
    • Lesson 125 - S3 Versioning Hands On [2024-01-23]
    • Lesson 126 - S3 Replication [2024-01-23]
    • Lesson 127 - S3 Replication Notes [2024-01-23]
    • Lesson 128 - S3 Replication Hands On [2024-01-23]
    • Lesson 129 - S3 Storage Classes Overview [2024-01-23]
    • Lesson 130 - S3 Storage Classes Hands On [2024-01-23]
  • Lesson 131 - IAM Roles and Policies Hands On [2024-01-23]
  • Lesson 132 - AWS Policy Simulator [2024-01-23]
  • Lesson 133 - AWS EC2 Instance Metadata [2024-01-23]
  • Lesson 134 - AWS SDK Overview [2024-01-23]
  • Section 12: Advanced Amazon S3 (26 min) [2024-01-23]
    • Lesson 135 - S3 Lifecycle Rules (with S3 Analytics) [2024-01-23]
    • Lesson 136 - S3 Lifecycle Rules Hands On [2024-01-23]
    • Lesson 137 - S3 Requester Pays [2024-01-23]
    • Lesson 138 - S3 Event Notifications [2024-01-23]
    • Lesson 139 - S3 Event Notifications Hands On [2024-01-23]
    • Lesson 140 - S3 Performance [2024-01-23]
    • Lesson 141 - S3 Select & Glacier Select [2024-01-23]
    • Lesson 142 - S3 Batch Operations [2024-01-23]
  • Section 13: Amazon S3 Security (52 min) [2024-01-23]
    • Lesson 143 - S3 Encryption [2024-01-23]
    • Lesson 144 - S3 Encryption Hands On [2024-01-23]
    • Lesson 145 - S3 Default Encryption [2024-01-23]
    • Lesson 146 - S3 CORS [2024-01-23]
    • Lesson 147 - S3 CORDS Hands On [2024-01-23]
    • Lesson 148 - S3 MFA Delete [2024-01-23]
    • Lesson 149 - S3 MFA Delete Hands On [2024-01-23]
    • Lesson 150 - S3 Access Logs [2024-01-23]
    • Lesson 151 - S3 Access Logs Hands On [2024-01-23]
    • Lesson 152 - S3 Pre-signed URLs [2024-01-23]
    • Lesson 153 - S3 Pre-signed URLs Hands On [2024-01-23]
    • Lesson 154 - Glacier Vault Lock & S3 Object Look [2024-01-23]
    • Lesson 155 - S3 Access Points & Object Lambda [2024-01-23]
  • Section 14: Cloudfront & AWS Global Accelerator (35 min) [2024-01-24]
    • Lesson 156 - CloudFront Overview [2024-01-23]
    • Lesson 157 - CloudFront with S3 - Hands On [2024-01-24]
    • Lesson 158 - CloudFront - ALB as an Origin [2024-01-24]
    • Lesson 159 - CloudFront - Geo Restriction [2024-01-24]
    • Lesson 160 - CloudFront - Price Classes [2024-01-24]
    • Lesson 161 - CloudFront - Cache Invalidation [2024-01-24]
    • Lesson 162 - AWS Global Accelerator Overview [2024-01-24]
    • Lesson 163 - AWS Global Accelerator Hands On [2024-01-24]
  • Section 15: AWS Storage Extras (49min) [2024-01-28]
    • Lesson 164 - AWS Snow Family Overview [2024-01-25]
    • Lesson 165 - AWS Snow Family Hands On [2024-01-25]
    • Lesson 166 - Architecture: Snowball into Glacier [2024-01-25]
    • Lesson 167 - Amazon FSx [2024-01-27]
    • Lesson 168 - Amazon FSx Hands On [2024-01-27]
    • Lesson 169 - Storage Gateway Overview [2024-01-28]
    • Lesson 170 - Storage Gateway Hands On [2024-01-28]
    • Lesson 171 - AWS Transfer Family [2024-01-28]
    • Lesson 172 - DataSync Overview [2024-01-28]
    • Lesson 173 - All AWS Storage Options Compared [2024-01-28]
  • Section 16: Decoupling applications: SQS, SNS, Kinesis, Active MQ (1h 32min)
    • Lesson 174 - Introduction to Messaging [2024-01-28]
    • Lesson 175 - Amazon SQS Standard Queues Overview [2024-02-20]
    • Lesson 176 - SQS - Standard Queue Hands On
    • Lesson 177 - SQS - Message Visibility Timeout
    • Lesson 178 - SQS - Long Polling
    • Lesson 179 - SQS - FIFO Queues
    • Lesson 180 - SQS + Auto Scaling Group
    • Lesson 181 - Amazon Simple Notification Service (AWS SNS)
    • Lesson 182 - SNS and SQS - Fan Out Pattern
    • Lesson 183 - SNS Hands On
    • Lesson 184 - Amazon Kinesis Overview
    • Lesson 185 - Kinesis Data Streams Overview
    • Lesson 186 - Kinesis Data Streams Hands On
    • Lesson 187 - Kinesis Data Firehose Overview
    • Lesson 188 - Kinesis data Firehose Hands On
    • Lesson 189 - Data Ordering for Kinesis vs SQS FIFO
    • Lesson 190 - SQS vs SNS vs Kinesis
    • Lesson 191 - Amazon MQ
  • Section 17: Containers on AWS: ECS, Fargate, ECR & EKS (53 min)
    • Lesson 192 - Docker Introduction
    • Lesson 193 - Amazon ECS
    • Lesson 194 - Creating ECS Cluster Hands On
    • Lesson 195 - Creating ECS Service Hands On
    • Lesson 196 - Amazon ECS - Auto Scaling
    • Lesson 197 - Amazon ECS Solutions Architectures
    • Lesson 198 - Amazon ECR
    • Lesson 199 - Amazon EKS Overview
    • Lesson 200 - Amazon EKS Hands On
    • Lesson 201 - AWS App Runner
    • Lesson 202 - AWS App Runner Hands On
  • Section 18: Serverless Overviews from a Solutions Architect Perspective (1h 18min)
    • Lesson 203 - Serverless Introduction
    • Lesson 204 - Lambda Overview
    • Lesson 205 - Lambda Hands On
    • Lesson 206 - Lambda Limits
    • Lesson 207 - Lambda@Edge & CloudFront Functions
    • Lesson 208 - Lambda in VPC
    • Lesson 209 - Amazon DynamoDB
    • Lesson 210 - Amazon DynamoDB Hands On
    • Lesson 211 - Amazon DynamoDB Advanced Features
    • Lesson 212 - API Gateway Overview
    • Lesson 213 - API Gateway Basics Hands On
    • Lesson 214 - Step Functions
  • Section 19: Serverless Solution Architecture Discussions (16min)
    • Lesson 215 - Mobile APplication: MyTodoList
    • Lesson 216 - Serverless Website: MyBlog.com
    • Lesson 217 - MicroServices Architecture
    • Lesson 218 - Software updates distribution
  • Section 20: Databases in AWS (25min)
    • Lesson 219 - Choosing the right database
    • Lesson 220 - RDS
    • Lesson 221 - Aurora
    • Lesson 222 - ElastiCache
    • Lesson 223 - DynamoDB
    • Lesson 224 - S3
    • Lesson 225 - DocumentDB
    • Lesson 226 - Neptune
    • Lesson 227 - Keyspaces (for Apache Cassandra)
    • Lesson 228 - QLDB
    • Lesson 229 - Timestream
  • Section 21: Data & Analytics (50min)
    • Lesson 230 - Athena
    • Lesson 231 - Athena Hands On
    • Lesson 232 - Redshift
    • Lesson 233 - OpenSearch (ex: ElasticSearch)
    • Lesson 234 - EMR
    • Lesson 235 - QuickSight
    • Lesson 236 - Glue
    • Lesson 237 - Lake Formation
    • Lesson 238 - Kinesis Data Analytics
    • Lesson 239 - Kinesis Data Analytics Hands On
    • Lesson 240 - MSK - Managed Streaming for Apache Kafka
    • Lesson 241 - Big Data Ingestion Pipeline
  • Section 22: Machine Learning (27min)
    • Lesson 242 - Rekognition Overview
    • Lesson 243 - Transcribe Overview
    • Lesson 244 - Polly Overview
    • Lesson 245 - Translate Overview
    • Lesson 246 - Lex + Connect Overview
    • Lesson 247 - Comprehend Overview
    • Lesson 248 - Comprehend Medical Overview
    • Lesson 249 - SageMaker Overview
    • Lesson 250 - Forecast Overview
    • Lesson 251 - Kendra Overview
    • Lesson 252 - Personalize Overview
    • Lesson 253 - Textract Overview
    • Lesson 254 - Machine Learning Summary
  • Section 23: AWS Monitoring & Audit: CloudWatch, CloudTrail & Config (1hr 13min)
    • Lesson 255 - AWS Monitoring - Section Introduction
    • Lesson 256 - CloudWatch Metrics
    • Lesson 257 - CloudWatch Logs
    • Lesson 258 - CloudWatch Logs Hands On
    • Lesson 259 - CloudWatch Agent & CloudWatch Logs Agent
    • Lesson 260 - CloudWatch Alarms
    • Lesson 261 - CloudWatch Alarms Hands On
    • Lesson 262 - EventBridge Overview (formerly CloudWatch Events)
    • Lesson 263 - Amazon EventBridge Hands On
    • Lesson 264 - CloudWatch Insights and Operational Visibility
    • Lesson 265 - CloudTrail Overview
    • Lesson 266 - CloudTrail Hands On
    • Lesson 267 - AWS Config Overview
    • Lesson 268 - AWS Config Hands On
    • Lesson 269 - CloudTrail vs CloudWatch vs Config
  • Section 24: Identity Access Management (IAM) - Advanced (48 min)
    • Lesson 270 - Organizations Overview
    • Lesson 271 - Organizations Hands On
    • Lesson 272 - IAM - Advanced Policies
    • Lesson 273 - IAM - Resource-based Policies vs IAM Roles
    • Lesson 274 - IAM - Policy Evaluation Logic
    • Lesson 275 - Amazon Cognito Overview
    • Lesson 276 - AWS - IAM Identity Center
    • Lesson 277 - AWS Directory Services
    • Lesson 278 - AWS Directory Services Hands On
    • Lesson 279 - AWS AWS Control Tower
  • Section 25: AWS Security & Encryption: KMS, SSM Parameter Store, Shield, WAF (1hr 31min)
    • Lesson 280 - AWS Security Section Introduction
    • Lesson 281 - Encryption 101
    • Lesson 282 - KMS Overview
    • Lesson 283 - KMS Hands On w/CLI
    • Lesson 284 - KMS - Multi-Region Keys
    • Lesson 285 - S3 Replication with Encryption
    • Lesson 286 - Encrypted AMI Sharing Process
    • Lesson 287 - SSM Parameter Store Overview
    • Lesson 288 - SSM Parameter Store Hands On (CLI)
    • Lesson 289 - SSM Parameter Store Hands On (AWS Lambda)
    • Lesson 290 - AWS Secrets Manager Overview
    • Lesson 291 - AWS Secrets Manager Hands On
    • Lesson 292 - AWS Certificate Manger (ACM)
    • Lesson 293 - Web Application Firewall (WAF)
    • Lesson 294 - Shield - DDOS Protection
    • Lesson 295 - Firewall Manager
    • Lesson 296 - WAF & Shield Hands On
    • Lesson 297 - DDoS Protection Best Practices
    • Lesson 298 - Amazon GuardDuty
    • Lesson 299 - Amazon Inspector
    • Lesson 300 - Amazon Macie
  • Section 26: Networking - VPC (2h 38min)
    • Lesson 301 - Networking Section Introduction
    • Lesson 302 - CIDR, Private vs Public IP
    • Lesson 303 - Default VPC Overview
    • Lesson 304 - VPC Overview
    • Lesson 305 - VPC Hands On
    • Lesson 306 - Subnet Overview
    • Lesson 307 - Subnet Hands On
    • Lesson 308 - Internet Gateways & Route Tables
    • Lesson 309 - Internet Gateways & Route Tables Hands On
    • Lesson 310 - Bastion Hosts
    • Lesson 311 - Bastion Hosts Hands On
    • Lesson 312 - NAT Instances
    • Lesson 313 - NAT Instances Hands On
    • Lesson 314 - NAT Gateways
    • Lesson 315 - NAT Gateways Hands On
    • Lesson 316 - NACL & Security Groups
    • Lesson 317 - NACL & Security Groups Hands On
    • Lesson 318 - VPC Peering
    • Lesson 319 - VPC Peering Hands On
    • Lesson 320 - VPC Endpoints
    • Lesson 321 - VPC Endpoints Hands On
    • Lesson 322 - VPC Flow Logs
    • Lesson 323 - VPC Flow Logs Hands On + Athena
    • Lesson 324 - Site to Site VPN, Virtual Private Gateway & Customer Gateway
    • Lesson 325 - Site to Site VPN, Virtual Private Gateway & Customer Gateway Hands On
    • Lesson 326 - Direct Connect & Direct Connect Gateway
    • Lesson 327 - Direct Connect = Site to Site VPN
    • Lesson 328 - Transit Gateway
    • Lesson 329 - VPC Traffic Mirroring
    • Lesson 330 - IPv6 for VPC
    • Lesson 331 - IPv6 for VPC Hands On
    • Lesson 332 - Egress Only Internet Gateway
    • Lesson 333 - Egress Only Internet Gateway Hands On
    • Lesson 334 - Section Cleanup
    • Lesson 335 - VPC Section Summary
    • Lesson 336 - Networking Costs in AWS
    • Lesson 337 - AWS Network Firewall
  • Section 27: Disaster Recovery & Migrations (41 min)
    • Lesson 338 - Disaster Recovery in AWS
    • Lesson 339 - Database Migration Services (DMS)
    • Lesson 340 - Database Migration Service (DMS) Hands On
    • Lesson 341 - RDS & Aurora Migrations
    • Lesson 342 - On-Premises Strategies with AWS
    • Lesson 343 - AWS Backup
    • Lesson 344 - AWS Backup Hands On
    • Lesson 345 - Application Migration Service (MGN)
    • Lesson 346 - Transferring Large Datasets into AWS
    • Lesson 347 - VMware Cloud on AWS
  • Section 28: More Solution Architectures (28 min)
    • Lesson 348 - Event Processing in AWS
    • Lesson 349 - Caching Strategies in AWS
    • Lesson 350 - Blocking an IP Address in AWS
    • Lesson 351 - High Performance Computing (HPC) on AWS
    • Lesson 352 - EC2 Instance High Availability
  • Section 29: Other Services (35 min)
    • Lesson 353 - Other Services Section Introduction
    • Lesson 354 - CloudFormation Intro
    • Lesson 355 - CloudFormation Hands On
    • Lesson 356 - Amazon SES
    • Lesson 357 - Amazon Pinpoint
    • Lesson 358 - SSM Session Manager
    • Lesson 359 - SSM Other Services
    • Lesson 360 - AWS Cost Explorer
    • Lesson 361 - Elastic Transcoder
    • Lesson 362 - AWS batch
    • Lesson 363 - Amazon AppFlow
  • Section 30: WhitePapers and Architectures - AWS Certified Solutions Architect Associate (14 min)
    • Lesson 364 - WhitePaper Section Introduction
    • Lesson 365 - AWS Well-Architected Framework & Well-Architected Tool
    • Lesson 366 - AWS Trusted Advisor Overview + Hands On
    • Lesson 367 - Examples of Architecture - AWS Certified Solutions Architect Associate
  • Section 31: Preparing for the Exam + Practice Exam (17 min)
    • Lesson 368 - Exam Preparation Section Introduction
    • Lesson 369 - State of Learning Checkpoint - AWS Certified Solutions Architect Associate
    • Lesson 370 - Exam Tips - AWS Certified Solutions Architect Associate
    • Lesson 371 - Exam Walkthrough and Signup
    • Lesson 372 - Save 50% on your AWS Exam Cost!
    • Lesson 373 - Get an Extra 30 Minutes
    • Lesson 374 - How does the exam work?
  • Section 32: Congratulations - AWS Certified Solutions Architect Associate (8 min)
    • Lesson 375 - Congratulations
    • Lesson 376 - Thank you!

Notes

Section 01: Introduction

  • No notes

Section 02: Getting Started with AWS

  • AWS is the biggest Cloud Provider
  • AWS Regions
    • cluster of data centers
    • Most AWS Services are region-scoped
  • How to select an AWS Region
    • Compliance
    • Proximity
    • Available services
    • Pricing
  • AWS Availability Zones
    • Minimum of 2 AZ within each AWS Region (usually 3)
    • Discrete data centers, redundant power, networking, and connectivity
    • Ultra-low latency networking
  • AWS Points of Presence (Edge Locations)
    • 216+ PoP

Section 03: IAM

  • IAM Groups only contain IAM Users
  • IAM Policy ... JSON document
    • Define permission for users
    • Least Privilege
  • Best Practices -- Create an Admin IAM Group (AdministratorAccess) to replace root user for day-to-day activities
  • IAM Password Policy - behave bitch (cycle passwords)
  • MFA
    • Virtual MFA device
    • U2F Security Key
    • Hardware Key Fob MFA Device
    • Hardware Key Fob MFA Device for AWS GovCloud
  • 3 Ways to Access AWS:
    • AWS Management Console
    • AWS CLI
    • AWS SDK
  • IAM Roles used to assign permission to AWS Services
  • IAM Credentials Report
    • account-level, list all account users and credential status
  • IAM Access Advisor
    • user-level, shows service permissions on user and when last used (least-privilege)

Section 04: EC2 Fundamentals

  • AWS Budget - create alarms triggered when budget threshold metrics are exceeded
  • EC2 - Elastic Compute Cloud - Infrastructure as a Service
    • Storing data on virtual drives (EBS)
    • Distribute load using (ELB)
    • Scaling the services using auto-scaling group (ASG)
  • EC2 User Data
    • Script used to bootstrap EC2 instance, only run once, first start
    • Used to automate boot tasks:
      • Installing updates
      • Installing software
      • Downloading common files from internet
      • Anything really
    • Runs as root user
  • Security Group
    • set of firewall rules that control traffic for your instance
    • work on instance-level
    • contain only allow rules
    • Can reference by IP or by Security Group
    • SG regulate:
      • Access to Ports
      • Authorized IP ranges (IPv4 & IPv6)
      • Control inbound traffic to instance
      • Control outbound traffic from instance to "other"s
        • By default
          • all outbound traffic is allowed
          • all inbound traffic is blocked
    • Can be attached to multiple instances
    • Locked to Region/VPC combination
    • Request is intercepted before EC2 instance receives it
    • "time out" -> request not allowed by SG
    • "connection refused" -> application issue
  • Classic PORTS to know
    • 22 -> SSH
    • 21 -> FTP
    • 22 -> SFTP
    • 80 -> HTTP
    • 442 -> HTTPS
    • 3389 -> RDP (Remote Desktop Protocol)
  • Instance Types (7)
    • General Purpose
    • Compute Optimized
    • Memory Optimized
    • Accelerated Computing
    • Storage Optimized
    • Instance Features
    • Measuring Instance Performance
  • SSH
    • ssh -i KEY.pem ec2-user@PUBLIC_IP
    • chmod 0400 KEY.pem
  • EC2 Instance Connect
    • Browser-based terminal to connect to EC2 Instance via AWS Management Console
    • Attach IAM Roles to EC2 Instances
      • DON'T RUN "aws configure" within an instance terminal!!!
  • EC2 instances Purchasing Options
    • On-Demand
      • short-term, un-interrupted workloads
    • Reserved (1 & 3 years)
      • Reserved Instances (long workloads)
        • Instance Type, Region, Tenancy, OS
        • Reserved Instance Scope - Regional or Zonal
      • Convertible Reserved Instances - (long workloads with flexible instances)
        • Can change specs
    • Savings Plans (1 & 3 years) - commitments to an amount of usage, long workload
      • Commit to dollar/hour for 1 & 3 years
      • Locked to instance family and region
    • Spot Instances - short workload, cheap, can be interrupted
      • Jobs that are resilient to failure:
        • Batch jobs
        • Data analysis
        • Image processing
        • Distributed workloads
      • max spot price, 2 minutes
    • Dedicated Host - book physical host
      • compliance requirements, server-bound software licenses
    • Dedicated Instances - No other customer will share your hardware
      • No control over placement of hardware
    • Capacity Reservations - Reserve capacity in specific AZ for any duration
      • Reserve On-Demand in a specific AZ
      • No time commitment, no billing discount
      • Charge whether you use it or not
      • short-term, uninterrupted workloads in a specific AZ
  • Spot Fleet
    • lowest price - cost optimization, short workloads
    • diversified - great for availability, long workloads
    • capacityOptimized - optimal capacity

Section 05: EC2 Solutions Architect Level

  • Elastic IP
    • a Public IP (IPv4) that can be attached to an instance to retain a fixed IP address
    • limited to 5 Elastic IP
    • not a good architecture pattern
    • in theory, it allows for a failed instance to be remapped as a disaster recovery strategy
    • ELB is a better approach
  • EC2 Placement Groups
    • Cluster - low-latency group in single AZ
      • 10 Gbps network, low-latency, same rack, same AZ, high risk
    • Spread - max 7 instances/group/AZ - critical applications
      • minimize failure risk (all instances on different hardware)
      • span multiple AZ
      • maximize high availability
    • Partition - 100s EC2 instances/group (allows Hadoop, Kafka, Cassandra)
      • Up to 7 partitions per AZ
      • Multiple AZs in same Region
      • 100s of EC2 instances
      • Partitions on separate racks
      • Big Data Applications (HDFS, HBase, Cassandra, Kafka)
  • Elastic Network Interfaces (ENI)
    • Virtual Network Card
    • Can have:
      • 1 Primary (eth0) private IPv4, one or more secondary (eth1) IPv4
      • 1 Public IPv4
      • 1 Elastic IP/private-IPv4
      • 1 or more SG
      • MAC address
    • Bound to a specific AZ
    • Create ENI independently of EC2 instance and attachable on the fly (use case failover)
  • EC2 Hibernate
    • Stop, Terminate, Hibernate
    • EBS root volume must be incremented and EBS volume > RAM size; 60 day limit

Section 06: EC2 Instance Storage

  • EBS (Elastic Block Store) Volume
    • network drive - can persist data after termination
    • multi-attached to mount EBS onto multiple EC2 instances
    • bound to specific AZ
  • EBS snapshots
    • backup of EBS volume
    • can copy snapshots onto other AZ/Regions
  • EBS Snapshot Archive
    • 24 - 72 hours to restore, 75% cheaper
  • Recycle Bin for EBS Snapshots
    • To recover EBS Snapshots after accidental deletion
    • 1 day to 1 year
  • Fast Snapshot Restore (FSR)
    • expensive but quick; useful for big volumes
  • AMI (Amazon Machine Image)
    • customization of an EC2 instance
    • allows for faster boot (pre-packaged software packages/setup)
    • Can come from three sources:
      • Public AMI
      • Custom AMI (you maintain it)
      • AWS Marketplace AMI
  • EC2 Instance Store
    • High-performance hardware disk
    • Storage is ephemeral
    • buffer/cache/scratch data/temporary content
    • backups and replication are your responsibility
    • i3
  • EBS Volume Types (6 Types)
    • gp2/gp3 (SSD) - General purpose, balances price/performance - BOOT
    • io1/io2 (SSD) - Provisioned IOPS (PIOPS SSD) Highest performance, mission-critical low-lat, high-thru - BOOT - More than 16,000 IOPS, Great for databases - 4GB - 16 TB
      • MAX 64,000 IOPS for Nitro EC2, otherwise 32,000
      • io2 more durability and more IOPS per GB wrt io1
      • io2 Block Express - sub-millisecond latency; MAX IOPS 256,000 IOPS:GB 1,000,1
      • supports EBS multi-attach!!!
    • st1 (HDD) - Low cost volume, frequent access and high throughput
      • Max throughput 500 MiB/s to 500
    • sc1 (HDD) - Low cost, less frequent access
    • For gp3, IOPS and volume are independent; gp2 3 IOPS per GB - linked
  • EBS Multi-Attach (io1/io2 family)
    • Attach multiple EC2 instances in the same AZ
    • Up to 16 EC2 instances at a time
    • Must use a File System that is cluster-aware
    • higher application availability
  • EBS Encryption
    • Data at rest is encrypted
    • In-flight data between instance and volume is encrypted
    • Snapshots are encrypted
    • Leverages keys from KMS (AES-256)
  • Amazon EFS - Elastic File System
    • Manged NFS can be mounted on many EC2
    • Works across multi-AZ
    • Highly available, scalable, expensive (3x gp2), pay per use
    • uses NFSv4.1 protocol
    • Compatible with Linux based AMI (not Windows)
    • POSIX file system
    • SCALE
      • 1000x concurrent attachments, 10GB+/s throughput
      • Petabyte scale, automatically
    • PERFORMANCE
      • General Purpose (low-latency) or Max I/O (higher latency)
    • THROUGHPUT
      • Bursting (1 TB = 50 MB/s + 100 MB/s)
      • Provisioned - throughput independent of size
    • Storage Tiers - Standard and Infrequent access (EFS Standard - EFS IA)
    • Availability - Standard: Multi-AZ or One Zone (EFS One Zone-IA)
    • EC2 Instance Metadata
      • http://169.254.169.254/latest/meta-data
        • can retrieve meta-data and user-data

Section 07: High Availability and Scalability

  • Scalability app/system can adapt to increases/decreases in load
  • Vertical => more power
  • Horizontal (elasticity) => more servers
  • Elastic Load Balancer (ELB) - managed load balancer
    • AWS guarantees it will work, upgrades, maintenance, high availability
    • Integrated with EC2, EC2 Auto Scaling Groups, Amazon ECS, AWS Certificate Manager, CloudWatch, Route53, AWS WAF, AWS Global Accelerator
    • Health Checks
      • port: 4567 and /health endpoint
    • 4 Types of Load Balancers
      • Classic Load Balancer (CLB) (DEPRECATED)
        • HTTP, HTTPS, TCP, SSL (secure TCP)
      • Application Load Balancer (ALB)
        • Works on request level
        • Layer 7 (HTTP/HTTPS)
        • HTTP, HTTPS, WebSocket
        • Routing Tables
          • Can route based on path, hostname, or query strings/headers
          • Great for micro-services and container-based applications
        • Port Mapping feature to redirect to dynamic port in ECS
        • Fixed hostname (xxx.region.elb.amazonaws.com)
        • IP of client found in X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto
      • Target Groups
        • EC2 Instances, ECS tasks, Lambda functions (HTTP request to JSON event), IP addresses (private IP), can route to multiple TG, Health Checks at TG level
      • Network Load Balancer (NLB)
        • TCP, TLC (secure TCP), UDP
        • Works on connection level
        • Layer 4
        • NLB has one static IP per AZ, supports Elastic IP
        • millions of request per second, less latency 100ms (vs 400ms)
        • Can Redirect to
          • EC2 instances, private IP addresses (on-premise machines), other ALB
        • Health Checks on:
          • TCP, HTTP, HTTPS Protocols
      • Gateway Load Balancer (GWLB)
        • Layer 3, IP Protocol
        • Uses GENEVE protocol on port 6081
        • Deploy, scale, and manage a fleet of 3rd party network virtual apps
        • Firewalls, Intrusion Detection, Deep Packet Inspection, payload manipulation
        • Works at network level - IP Packets
        • Combines Transparent Network Gateway = Load Balancer
        • Targets: EC2 Instances and private IPs
    • Sticky Sessions
      • Serial request from a user are routed to same instances by ELB
      • Can be enabled for ALB and CLB
      • Use case: retain session data (login for example)
      • Two Types of Cookies
        • Application-based Cookies
          • Custom cookie
            • Generated by target (application)
            • Custom attributes, cookie name per TG
            • Forbidden: AWSALB, AWSALBAPP , AWSALBTG
          • Application Cookie
            • Generated by load balancer
            • AWSALBAPP
        • Duration-based Cookies
          • Generated by load balancer
          • AWSALB or AWSELB
    • Cross-Zone Load Balancing
      • Enabled: All instances share the burden equally regardless of AZ
      • Enabled by default for ALB (no extra charge for cross AZ data)
      • Can be disabled at TG level
      • Disabled by default in NLB and GWLB (charge if you enable)
    • SSL Certificate
      • Secure Socket Layer
      • TLS = Transport Layer Security
      • in-flight encryption
      • Certificate Authorities
        • Comodo, Symantec, GoDaddy, GlobalSign, Digicert, Letsencrypt
        • Have an expiration date (you set) and must be renewed
      • LB uses X.509 certificate, managed by ACM (AWS Certificate Manager)
        • can also create, upload your own certs
      • HTTPS Listener:
        • Must specify default cert
        • optional list of certs to support multiple domains
        • Client can use SNI (Server Name Indication) to specify the hostname
        • Can specify Security Policy to support older SSL/TLS
      • SNI - Server Name Indication
        • Multiple SSl certificates onto one web server
    • Connection Draining
      • CLB - Connection Draining
      • ALB & NLB - Deregistration Delay
      • Set to 1 - 3600 seconds (default: 300)
      • Set to 0 to disable
  • Auto Scaling Group (ASG)
    • free
    • scale-out => add instances
    • scale-in => remove instances
    • must create a Launch Template
      • ASG can be triggered by CloudWatch Alarms (auto-scaling)
  • Auto Scaling Group Scaling Policies
    • Dynamic Scaling Policies (3 Types)
      • Target Tracking Scaling
        • Average CPU
      • Simple / Step Scaling
      • Scheduled Actions
    • Predictive Scaling
      • continuously forecast load and schedule scaling
    • Good metrics to scale on:
      • CPUUtilization
      • RequestCountPerTarget
      • Average Network In/Out (network bound)
      • Custom Metric (pushed to CloudWatch)
    • Cooldown period (default 300 seconds)

Section 08: AWS Fundamentals: RDS + Aurora + ElastiCache

  • RDS - Relational Database Service
    • Managed DB service that use SQL a query language
      • Postgres
      • MySQL
      • MariaDB
      • Oracle
      • Microsoft SQL Server
      • Aurora (AWS Proprietary DB)
    • What you get:
      • automatic provisioning, os patching
      • continuous backups (Point in Time Restore)
      • Monitoring, Read replicas, DR with MultiAZ, Maintenance windows, Scalability, storage on gp2 or io1
    • CANNOT SSH into instance
    • Storage Auto Scales
    • Set a Maximum Storage Threshold
      • Triggers on: 10% space remaining for 5 minutes, and 6 hour cooldown
    • RDS Read Replicas
      • Up to 5
      • Within AZ, Cross AZ, Cross Region
      • ASYNC Replication
      • Can be promoted to independent DB
      • Application must update connection string to make use of read replicas
      • No cross AZ cost, but yes cost if cross Region
    • RDS Multi AZ <> Disaster Recovery (SYNC Replication)
      • One DNS name - automatic failover to standby
      • Increase availability
      • Read replicas can also be setup as MultiAZ for DR
    • SingleAZ to MultiAZ
      • zero downtime
      • 'modify' SYNC Replication to Standby DB
    • RDS Custom
      • Oracle and Microsoft SQL Server
      • Access to underlying instances
        • config settings, patches, enable native features, SSH or SSM Session Manager into EC2
        • DEACTIVATE Automation Mode while tweaking
  • Amazon Aurora
    • Compatible with Postgres or MySQL
    • 5x performance MySQL and 3x over Postgres
    • 10GB to 128GB (grows in increments)
    • Up to 15 read replicas (sub 10ms replica lag)
    • Failover is instantaneous, HA!!!
    • 6 copies across 3 AZ
      • 4 out 6 for writes
      • 3 out 6 for reads
      • self-healing with peer-to-peer replication
      • storage stored across 100s of volumes
    • 1 Master that handles WRITES (failure in under 30secs)
    • Up to 15 RR (any can be upgraded to master) with AUTO-Scaling!!!
    • Support cross region replication
    • Writer Endpoint and Reader Endpoint
      • Features:
        • Automatic fail-over
        • Backup and Recovery
        • Isolation and Security
        • Industry compliance
        • Push-button scaling
        • Automatic Patching with Zero-Downtime
        • Advanced Monitoring
        • Routine maintenance
        • Backtrack (without backup)
    • Custom Endpoints
      • Bigger instances for analytics - no longer linked to reader endpoint
    • Aurora Serverless
      • Automatic DB instantiation and auto-scaling based on usage. No capacity planning. Pay/sec
        • client talks to Proxy Fleet managed by Aurora
    • Aurora MultiMaster <> IMMEDIATE failover
      • All nodes are RW
    • Global Aurora
      • Two Flavors
        • Aurora Cross Region Read Replicas
        • Aurora Global Database (recommended)
          • 1 Primary Region
          • 5 Secondary regions (read-only), replication lag less than 1 second
          • Up to 16 RR per secondary - decrease lag, HA
          • DR less than 1 minute
          • Typical cross-region replication takes LESS THAN 1 SECOND
    • Aurora Machine Learning
      • Integrates with AWS ML services
        • Amazon SageMaker
        • Amazon Comprehend (sentiment analysis)
        • Use CASE: fraud detection, ads targeting, product recommendations, sentiment analysis
  • RDS Backups
    • Automated Backups - can be disabled
      • daily backups
      • Transaction logs are backed-up by RDS every5 minutes (5 minutes ago to oldest)
      • 1 to 35 days, 0 to disable
    • Manual DB Snapshots
      • triggered by user
      • CAN BE STORED FOREVER
  • Aurora Backups
    • Automated backups - CANNOT BE DISABLED - Point-In-Time Recovery
    • Restoring a RDS backup/snapshot CREATES A NEW DB
    • Can restore a MySQL RDS database from S3
      • backup on premise DB -> store in S3, -> restore to MySQL RDS
    • Can restore to MySQL Aurora Cluster for S3
      • backup on premise DB using Percona XtraBackup -> store in S3 -> restore to MySQL Aurora cluster
  • Aurora Database Cloning
    • Faster than snapshot and restore - great for staging and testing, fast on cost-effective
    • DOES NOT impact production database
  • RDS & Aurora Security
    • At-Rest: AWS KMS encryption (configured on creation)
      • Must encrypt master for RR encryption
    • In-Flight: TLS-ready by default, use AWS-TLS root certificates
    • Supports IAM Authentication (IAM Roles)
    • Control network access via Security Groups
    • NO SSH except for Custom RDS
    • Audit Logs can be enabled (limited retention time) - send to CloudWatch for long-term storage
  • Amazon RDS Proxy - also works with Aurora
    • Allow apps to pool and shared DB connections
    • Improve efficiency by reducing stress on DB and minimize open connections
    • Serverless, auto-scaling, HA (multi-az)
    • Reduce Failover time by 66%
    • Supports RDS(MySQL, Postgres, MariaDB) and Aurora
    • No code changes just update endpoints
    • Enforce IAM Authentication for DB, securely store credentials in AWS Secrets Manager
    • NEVER Publicly accessible; must connect within VPC
    • Hella useful for Lambda function access to RDS/Aurora
  • Amazon ElastiCache
    • managed Redis or Memcached service
    • in-memory databases HP and Low Latency
    • Help reduce load on DB for common read queries
    • helps make app stateless
    • AWS manages OS maintenance, optimization, setup, config, monitoring, DR, backups
    • REQUIRES heavy APP changes
    • Must have cache invalidation strategy to ensure cache is fresh
    • USE CASE:
      • session store, login, write session data to cache, new app looks up session data in cache to keep user logged in (achieve stateless app)
      • gaming leaderboard
        • Redis sorted sets - guarantees uniqueness and element ordering
    • REDIS vs MEMCACHED
      • REDIS
        • MZ with AutoFailure
        • Read Replicas scale reads and HighAvailability
        • Data durability with AOF persistence
        • Backup and restore
      • MEMCACHED
        • multi-node partitioning of data (sharding)
        • No HA (no replication)
        • No persistence
        • No backup, no restore
        • Multi-threaded (via sharding)
    • DO NOT SUPPORT AIM authentication
      • USE:
        • Redis AUTH (password/token)
        • Extra level of security on top of Security Groups
        • Supports SSL encryption
      • Memcached
        • Supports SASL-based authentication
      • PATTERNS:
        • Lazy Loading
          • all read data is written to cache; BEWARE of stale data
        • Write Through
          • Add/Update cache on write to DB (no stale data)
        • Session Store
          • Expire with TTL

Section 09: Route 53

  • DNS = Domain Name System
    • translates human friendly hostnames into IP addresses
  • Domain Registrar => Where you buy a domain name
  • DNS Records
    • A => IPv4
    • AAAA => IPv6
    • CNAME => hostname to hostname
    • NS => Name Server => Resolves DNS queries (Top-Level Domain TLD .com, Second-Level Domain SLD - amazon.com)
    • Root DNS Server (ICANN), TLD DNS Server (IANA), SLD DNS Server (managed by Domain Registrar)
      • Authoritative vs Non-Authoritative
    • FQDN = Fully Qualified Domain Name
  • Amazon Route 53
    • HA, Scalable, fully managed, authoritative DNS
    • Also a Domain Registrar
    • Ability to Health Check routes
    • 100% SLA
  • Domain Name Record'
    • Domain Name, Record Type, Value, Routing Policy, TTL (default 300 seconds)
    • Record Types:
      • A
      • AAAA
      • CNAME (NOT able to create for SLD - Zone Apex)
      • NS
    • Hosted Zone
      • container for records (Public and Private)
      • 50 cents/month per Hosted Zone
    • TTL = Time To Live (60 sec to 24 hours) (Mandatory except for Alias Records)
    • Alias record can point to SLD and comes with built-in health check
      • Maps a hostname to an AWS Resource
      • Automatically recognizes changes to resource's IP address
      • Can point to Zone Apex
      • Always of type A/AAAA
      • Can't set TTL
      • Targets:
        • ELB, CloudFront Distributions, API Gateway, Elastic Beanstalk, S3 Websites, VPC InE, Global Accelerator, Route 53 records in same HZ
        • CAN NOT set an ALIAS for an EC2 DNS name
    • Routing Policies
      • Simple (no health checks)
      • Weighted
        • DNS records must have same name and type
      • Failover
      • Latency based
      • Geolocation
      • Geoproximity (Route 53 Traffic Flow feature)
      • Multi-Value Answer
    • Health Checks
      • only for Public Resources
      • Three Types:
        • Health Checks that monitor an endpoint
        • Calculated Health Checks
        • Health Check that monitor a CloudWatch Alarm (can be used to monitor private resources)
      • Integrated with CW metrics

Section 10: Classic Solutions Architecture Discussions

  • whatisthetime.com
    • Route 53 + Elastic IP + EC2 Instance (stateless)
    • to
    • Route 53 (Alias) + MultiAZ ELB + MultiAZ ASG + EC2 instances + Reserve Instances
    • Well Architected Framework (COST, PERFORMANCE, RELIABILITY, SECURITY, OPERATIONAL EXCELLENCE)
  • myclothes.com
    • stateful web app
    • shopping cart
      • Session Affinity (ELB Setting)
      • Browser Cookies (User)
        • stateless
        • Heaving HTTP requests
        • Security Risk (cookies are mutable)
        • Must validate cookies, 4KB limit
      • ElastiCache - sub-millisecond (via sessionId) or DynamoDB
    • Scale reads with RDS RR (up to 5) or implement write-through via ElastiCache (cache validation)
    • Multi-AZ for Disaster Recovery
    • Example of 3-Tier Architecture
  • mywordpress.com
    • display/upload images
    • Route 53 - Multi AZ ELB - MultiAZ EC2 within ASG - ENI (Elastic Network Interface) <=> EFS (Elastic File System)
  • Instantiating Application Quickly
    • EC2 Instances => use Golden AMI - very common pattern
    • Dynamic configuration => Bootstrapping with User Data
    • Hybrid: Golden AMI + User Data (Elastic Beanstalk)
    • RDS => restore from snapshot
    • EBS/EFS => restore from snapshot
  • Elastic Beanstalk (like Netlify for AWS - infrastructure as a platform service)
    • Web App 3-Tier
      • PUBLIC SUBNET (CLIENT facing)
      • PRIVATE SUBNET (APPLICATION layer)
      • DATA SUBNET (database/cache layer)
    • Components:
      • Application
      • Application Version
      • Environment
        • Tiers: (Web Server Environment Tier AND Worker Environment Tier)

Section 11: Amazon S3 Introduction

  • S3 = Simple Storage Service
    • use cases:
      • Backup and storage
      • Disaster Recovery
      • Archive
      • Hybrid Cloud storage
      • Application hosting
      • Media hosting
      • Data Lakes & Big Data Analytics
      • Software Delivery
      • Static Website
    • Stores objects (files) in buckets (directories)
    • Bucket names must Globally Unique Name
    • Buckets are defined at the REGION level
      • no uppercase, no underscore, 3-63 characters, start with number or lowercase letter, no start with xn--, no end with -s3alias
    • object files have a key (prefix + object name)
    • Max object size: 5TB
    • If greater than 5GB must use "multi-part upload"
    • Can have Metadata, Tags, VersionID
    • Security
      • User-Based - IAM Policies
      • Resource-Based
        • Bucket Policies - bucket wide rules - Allows Cross Account access
        • Object Access Control List - finer grained (can be disabled)
        • Bucket Access control List - less common (can be disabled)
      • Can access if IAM permission allows it OR resource allows it AND not explicitly denied
    • static site:
      • http://BUCKET-NAME.s3-website-AWS-REGION.amazonaws.com
  • Amazon S3 - Versioning
    • Enabled at bucket level
    • version "null" for objects that existed prior to enabling versioning
  • S3 Replication
    • CRR - Cross Region Replication
    • SRR - Same Region Replication
    • Must enable versioning in SOURCE and DESTINATION
    • Async operation
    • Only new objects are replicated. Use S3 BATCH REPLICATION to replicate existing objects
    • No transitive "chain" replication across buckets
    • Can replicate delete markers, but deletions with version ID are not replicated (NO MALICIOUS DELETES)
  • S3 Storage Classes
    • Amazon S3 Standard
      • Durability 9 9s. - same across all storage class
      • Availability - varies based on storage class, 99.99%
    • Amazon S3 Standard-Infrequent Access
    • Amazon S3 One Zone-Infrequent Access
    • Amazon S3 Glacier Instant Retrieval (storage and retrieval cost)
      • millisecond retrieval, 90 day minimum
    • Amazon S3 Glacier Flexible Retrieval
      • Expedited (1-5min), Standard (3-5 hours), Bulk (5-12 hours) free; 90 day minimum storage
    • Amazon S3 Glacier Deep Archive
      • Standard (12 hours), Bulk (48 hours)
      • 180 days
    • Amazon S3 Intelligent Tiering
      • small monthly monitoring and auto-tiering fee, no retrieval charges

Section 12: Advanced Amazon S3

  • Moving between Storage Classes
    • automated using Lifecycle Rules
      • Transition Actions
      • Expiration Actions
  • S3 Analytics gives recommendations for Standard and Standard-IA optimum config
    • Report is updated daily; processing may take 24-48 hours
  • S3 Requester Pays
    • Bucket owners pay for storage and data transfer costs
    • The requester must be authenticated with AWS and they pay transaction cost
  • S3 Event Notifications
    • use case: generate thumbnails of images uploaded to S3
    • Can be processed by:
      • SNS
      • SQS
      • Lambda Function
      • Amazon EventBridge
        • Advanced Filtering options, Multiple Destinations, EventBridge Capabilities
  • S3 Performance
    • 100-200ms first byte
    • 3,500 PUT/COPY/POST/DELETE and 5,500 GET/HEAD request/second/per-prefix
    • Multi-Part uploads, recommended >100MB, required for >5GB
    • S3-Transfer Acceleration -> transfer to edge for speed
    • S3 Byte-Range Fetches
      • Parallelize GETs by requesting specific byte ranges
      • use case:
        • speed up downloads, better resilience in case of failures
        • retrieval only partial data (like the header of a file)
    • S3 Select and S3 Glacier Select
      • retrieve less data using SQL to perform server-side filtering (on CSV files)
    • S3 Batch Operations
      • Perform bulk operations on existing S3 objects
        • modify object metadata
        • copy objects between S3 buckets
        • Encrypt un-encrypted objects
      • Job:
        • List of objects
        • Action to perform
        • Optional parameters
      • Manages retries, tracks progress, sends completion notifications, generate reports
        • use S3 Inventory + S3 Select + S3 Batch Operations

Section 13: Amazon S3 Security

  • Object Encryption
    • 4 Methods
      • Server-Side Encryption (SSE)
        • Server-Side Encryption with Amazon S3-Managed Keys (SSE-S3)
          • keys handled, managed, and owned by AWS
          • Encrypted with AES-256
          • Must set Header: x-amz-server-side-encryption: AES256
          • Enabled by default for new buckets and new objects
        • Server-Side Encryption with KMS Keys stored in AWS KMS (SSE-KMS)
          • Leverage AWS Key Management Service (AWS KMS) to manage encryption keys
          • Advantages: user control + audit key usage using CloudTrail
          • Header: x-amz-server-side-encryption: aws:kms
          • Upload => GenerateDataKey KMS API
          • Download => Decrypt KMS API
          • There is a quota on requests. Service Quotas Console to request increase
        • Server-Side Encryption with Customer-Provided Keys (SSE-C)
          • When you want to manage your own encryption keys
          • S3 does NOT store key; key must be uploaded with HTTP headers using HTTPS
      • Client-Side Encryption
        • User responsible for encrypting data before sending
          • Can use: Amazon S3 Client-Side Encryption Library
          • Bucket Policies are handled before DEFAULT ENCRYPTION!!!
  • Cross-Origin Resource Sharing (CORS)
    • Origin = scheme + host + port
    • By default, Web Browsers deny cross-origin requests
    • Destination but allow requests, CORS HEADERS Access-Control-Allow-Origin, Access-Control-Allow-Methods
  • Amazon S3 - MFA Delete
    • Required: Permanently delete an object, or disable Versioning. Only bucket owner and root account can disable MFA delete
    • aws configure --profile NAME-OF-PROFILE
    • aws s3api put-bucket-versioning --bucket NAME-OF-BUCKET --versioning-configuration Status=Enabled,MFADelete=Enabled --mfa "ARN-OF-MFA-DEVICE MFA-CODE" --profile NAME-OF-PROFILE
  • S3 Access Logs
    • Can be analyzed using Amazon Athena
    • DO NOT set logging bucket to same as monitoring bucket!!!
      • Leads to a logging loop!!!
  • S3 Pre-Signed URLs
    • URL Expiration (1min to 720 min in Console; 7 days max in AWS CLI/SDK)
  • S3 Glacier Vault Lock
    • it's like a bucket where you can delete shit (WORM - Write Once Read Many)
    • Vault Lock Policy
    • Helpful for compliance
  • S3 Object Lock - must enable versioning; blocks version deletion
    • Retention Modes
      • Compliance => no one can delete shit
      • Governance => admins/root can delete shit
    • Retention Period - Protect object for a fixed amount of time; can be extended
    • Legal Hold
      • s3:PutObjectLegalHold IAM Permission
      • protect object indefinitely; independent from retention period
  • S3 Access Points
    • each AP has its own DNS name (Internet Origin or VPC Origin)
    • AP Policy - 1:1 Manage Security at Scale
  • S3 Object Lambda
    • allows AWS Lambda Functions to change object before retrieved by caller

Section 14: Cloudfront & AWS Global Accelerator

  • AWS CloudFront
    • Content Delivery Network - CDN
    • Improves read performance, content is cached at the edge
    • 216 Points of Presence
    • DDoS protection, Integration with Shield, AWS Web Application Firewall
    • Secured with Origin Access Control - OAC versus Origin Access Identity OAI
    • CloudFront with ALB or EC2 as Origin
      • ALB/EC2 Instances must be Public
        • Allow Public IP of Edge Locations
    • CloudFront Geo Restriction
      • Can restrict access to distribution
      • Allowlist or Blocklist - approved/banned countries
    • Pricing
      • Cost varies by location
    • Price Classes
      • Price Class All: all regions - best performance
      • Price Class 200: most regions, except pricey
      • Price Class 100: NA/Europe/Israel
    • Cache Invalidation
  • AWS Global Accelerator
    • uses Anycast IP instead of Unicast IP - client routed to nearest server
    • route clients to closest Edge location via the internal AWS private network
    • Uses 2 Anycast IP
    • Works with:
      • Elastic IP
      • EC2 Instances
      • ALB, NLB (public or private)
    • Health Checks built in (less than 1 min failover)
  • CloudFront vs Global Accelerator
    • Improves TCP/UDP app performance via proxying packets
    • Good for HTTP use cases that require static IP or fast failover

Section 15: AWS Storage Extras

  • AWS Snow Family
    • Data Migration
      • Snowcone
        • 8TB Storage, up to 24TB
        • Can use AWS DataSync to send data via www
      • Snowball Edge
        • Storage Optimized
          • 80TB of HDD
          • Can cluster ... up to 15 snowballs
        • Compute Optimized
          • 42TB of HDD
      • Snowmobile
        • 1 Exabyte = 1000 PB transfers
        • Each mobile has 100PB
        • Better than Snowball if >10PB
    • Edge Computing
      • Snowcone
      • Snowball Edge
  • All can run EC2 Instances, AWS Lambda via AWS IoT Greengrass
  • Rule of thumb: use snowball devices if >1 week to transfer
  • AWS OpsHub GUI for controlling snow family devices -Snowball -> S3 -> Lifecycle -> S3 Glacier
  • Amazon FSx
    • Launch 3rd party HP FS on AWS
    • Fully managed
      • FSx for Windows File Server
        • fully managed Windows FS shared drive
        • Supports SMB protocol and Windows NTFS
        • Integration with Microsoft AD, ACLs, and user quotas
        • Can be mounted on Linux EC2 instances
        • Supports Microsoft's Distributed File System (DFS) Namespaces - link on-premise Windows FS to Cloud
      • Storage Options:
        • SSD
        • HDD
      • Can access Windows FSx from on-premise with VPN or Direct Connect
      • Can be MultiAZ; Data backed up daily to S3 for DR
      • FSx for Lustre = Linux + cluster
        • Parallel distributed FS for large-scale computing
        • Machine Learning + HPC (High Performance Computing)
        • Seamless integration with S3. Can "read" as FS through FSx and write
        • Can be used from on-premise via (VPN or Direct Connect)
        • Scratch File System
        • Persistent File System (replication within single AZ)
      • FSx for NetApp ONTAP
        • NFS, SMB, iSCSI
        • Broad compatibility (Workspaces, VWWare Cloud on AWS, AppStream 2.0)
        • Storage auto-shrinks or grows
        • snapshots
        • replication
        • data compression and de-duplication
        • Point-in-time instantaneous cloning (helpful for testing new workloads)
      • FSx for OpenZFS
        • compatible with NFS
        • Broad compatibility
        • point-in-time instantaneous cloning
        • Up to 1 million iops, sub ms latency
        • Snapshots and compression, low cost
  • AWS Storage Gateway - bridge between on-premise and cloud data
    • Block Storage
      • EBS
      • EC2 Instance Store
    • File Storage
      • EFS
      • FSx
    • Object Storage
      • S3
      • Amazon Glacier
    • Use Cases:
      • DR
      • backup & restore
    • Types:
      • S3 File Gateway
        • NFS or SMB ... behind the scenes uses HTTPS
        • Most recent used files cached in file gateway
        • SMB allows for AD for user auth
      • FSx File Gateway
        • Native access to Amazon FSx for Windows File Server
        • Advantage is the local cache
        • Good for group file shares and home dirs
      • Volume Gateway
        • block storage uses iSCSI backed by S3
        • Backed by EBS to restore on-premises volumes
        • Cache volumes - low lat
        • Stored volumes - all dataset is on premise, for backup
        • mainly for backup and restore
      • Tape Gateway
        • for physical tape backups in the cloud
        • S3 or Glacier
        • also can use iSCSI
      • Storage Gateway - Hardware Appliance
        • If you can virtual the gateway
  • AWS Transfer Family
    • uses FTP, FTPS, SFTP
    • can transfer to S3 or EFS
    • Can used Microsoft AD, LDAP, Okta, Amazon Cognito for authentication
  • AWS DataSync
    • Move large amount of data to/from
    • On-premise to cloud and vice versa ... needs an agent
    • AWS to AWS ( o agent)
    • Replication task is not sync; it is scheduled: hourly, daily, weekly...
    • File permissions and metadata are preserved (NFS POSIX, SMB)
    • Can sync with ALL S3 (including glacier), EFX or FSx console.log('including:', including)
  • Summary:
    • EC2 Instance storage: physical storage with high IOPS!!!

Section 16: Decoupling Applications: SQS, SNS, Kinesis, Active MQ

  • Sync communications vs Async/Event-Based communication between services
  • SQS - Simple Queueing Service - Queue Model
    • queue model: queue/messages/poll/long polling/Producers/Consumers
    • used to decouple applications
    • retention time: 4 days, max 14 days
    • low latency (<10ms)
    • 256KB message limit
    • At least once delivery, "best effort ordering" by default
      • SendMessage API, message persisted until Consumer deletes message
    • unlimited throughput (in standard configuration)
    • Polling up to 10 messages at a time. DeleteMessage API, ReceiveMessages
    • Scale Consumers using ASG and CloudWatch Metric (ApproximateNumberOfMessages) -> setup a CloudWatch Alarm
    • Security:
      • in-flight with HTTPS API, at rest with KMS keys, or client-side encryption
      • Access Controls via IAM policies or SQS Access Policies (cross-account)
    • Messages become invisible to other consumers once polled - set message visibility timeout - default 30 seconds --- must be processed and deleted by Consumer or message will return to the queue
      • ChangeMessageVisibility API can give a Consumer more time to process
  • SNS - Simple Notification Service - Pub/Sub model
    • pub/sub model
  • Kinesis - Real-Time Streaming mode