AWS Certified Solutions Architect - Associate (SAA-C03)

Posted by monikma, 04 March 2024.
Architecture AWS Cloud
Preparation for certification

Those are the notes I took during the Cloud Guru AWS Certified Solutions Architect - Associate (SAA-C03). Note that the course content changes as the AWS changes. The notes are from March 2024.

Table of contents

Exam Guide

They put a lot of emphasis on how to pass the exam in the first place, not sure how I feel about this. In nutshell:

Now I will go topic by topic/service by service.

General knowledge

Global Infrastructure

(roughly knowing the numbers may matter)

Shared responsibility model

Compute

EC2

EC2 Hibernation

EC2 Pricing Options

Name Description Use case
On-Demand Pay per hour/second Just starting a project, checking out, short time, flexible
Reserved Reserved capacity for 1-3 years, <72% cheaper When you understand your usage patterns, and you have money
Reserved - convertible Can switch to a different RI of equal or better value, <54% cheaper  
Reserved - scheduled Switch to a different RIon schedule  
Spot Purchase unused capacity, <90% cheaper but fluctuates  
Dedicated Hosts Physical EC2 Server just for you, most expensive  

Reserved instances

Spot instances

Dedicated Hosts

Launching

AWS CLI

Security groups

EC2 Metadata

EC2 Networking

| Name | Ddescription | Usage | |——|—————————|———————————————————————————| | ENI | Elastic Network Interface | For basic day-to-day networking | | EN | Enhanced Networking | Uses single root I/O virtualisation for high performance (SR-IOV) | | EFA | Elastic Fabric Adapter | Accelerates High Performance Computing (HPC) and machine learning applications |

EC2 Placement Groups

VMWare on EC2

AWS Outposts

Bootstraping EC2 servers

EC2 Instance Profile

Configuring Instance Profile in ec2 cli

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {"Service": "ec2.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }
  ]
}

(trust policy says who can assume this role)

Configuring Instance Profile in AWS console

EC2 AMIs

AWS Backup

Lambda

Elastic Beanstalk

Storage

S3 - Simple Storage Service

S3 Tiers

S3 Versioning

S3 Securing

S3 Consistency Model

S3 Storage Classes

Storage Class Availiabi. Durabi. AZs Use Case
S3 Standard 99.99% 11 9s >=3 Most, websites, mobile&gaming apps, big data analytics
S3 S. Infrequent Access 99.99% 11 9s >=3 Long term, infrequently accessed critical data (backups, disaster recovery)
S3 One-Zone Inf. Access 99.95% 11 9s 1 Long term, infrequently accessed non-critical data
S3 Glacier (aka Glacier Flexible Retrieval) 99.99% 11 9s >=3 Long term, very infrequently accessed, but quick retrieval
S3 G. Deep Archive 99.99% 11 9s >=3 Rarely accessed, e.g. regulatory, retrieval from 12h
S3 Intelligent Tiering 99.99% 11 9s >=3 Unpredictable access patterns

S3 Lifecycle Management

S3 Object Lock

S3 Encryption

S3 Performance

S3 Replication

EBS - Elastic Block Store

IOPS vs Throughtput

EBS Types

EBS Volumes & Snapshots

EBS Encryption

EFS - Elastic File Service

FSx

Databases

RDS

Provisioning RDS

Amazon Aurora

Aurora Serverless

DynamoDB

DynamoDB Security

DynamoDB transactions

DynamoDB Backups

DynamoDB Streams

Global tables

DocumentDB

Amazon Keyspaces

Amazon Neptune

QLDB (Amazon Quantuum Ledger Database)

Amazon Timestream

RedShift

Networking

VPC

Provisioning custom VPC

NAT Gateway

ACL Lists

VPC Endpoint

VPC Peering

AWS VPN CloudHub

Direct Connect

Transit Gateway

AWS Wavelength

Route53

AWS Gateway

AWS Global Accelerator

Installing Wordpress

/** MySQL database username */ define( ‘DB_USER’, ‘wordpress’ );

/** MySQL database password */ define( ‘DB_PASSWORD’, ‘wordpress’ );

/** MySQL hostname */ define( ‘DB_HOST’, ‘' );

/** Database Charset to use in creating database tables. */ define( ‘DB_CHARSET’, ‘utf8’ );

/** The Database Collate type. Don’t change this if in doubt. */ define( ‘DB_COLLATE’, ‘’ );

- Security Group -> add MySQL inbound rule, from that same SG

# IAM
- `us-east-1` is the region AWS rolls out their services first - but IAM is global
- by default: 0 users, 0 user groups, 2 roles, 0 policies, 0 identity providers 
- one user per person
- least privilege principle

## Securing root account
- add MFA, and
- create user group ‘admin’ and add users

## Creating users
- By default the user has no permissions, can only change their password
- Access Key is for command line access
- password policy you can set up in Account Settings
- the user can also login with SSO via Identity Center - e.g. active directory and stuff like this (SAML), need to set up e.g. ‘Azure Identity Federation’, or OpenID (not needed to know more here)

## IAM policy document
It defines the permissions, e.g. full access (aka `AdministratorAccess`) looks like this:

{ “Version”: “2012-10-17”, “Statement”: [ { “Effect”: “Allow”, “Action”: [“”], “Resource”: [“”] } ] } ```

Roles


Comments


Comments: