☁️

AWS Solution Architect Notes

Estimated complete price
Content
Price
Exam
135
15
Exam questions Mock
5*15
Total price (worst case scenario)
250
N.B. I have a voucher for a 50% discount for an attempt of the exam so the price could be lower.
 
Notes post simulations - knowledge juice

Updates

09/09 - bought the course, started some lectures
16/09 - course finished, today I’ll start to take some notes from the main PDF with the course slides
21/09 - First slides study finished - Tomorrow I’ll start with the free quiz
23/09 - Little break! I’m now reading the Solutions Architect’s Handbook - Seems really interesting!
2/10 - I’m reviewing the study guide and my notes. I’m waiting to use the training budget in order to buy the mock exams
4/10 - I have the mock exams :) Now is time to take a lot of mock exams!
12/10 - Exam scheduled for 19/10 - In the meantime I’ll continue to study from resources and take other mock exams ;)
19/10 - Here we are!
20/10 - I did it!
 
 

Course Notes

⚠️
Warning
These notes are not intended to be used for study purposes. Since I already have 2 AWS certifications, I’ll add here only things that I think I need to restudy or new material from the AWS SA course.
 
During the simulations, when I find new info and details that could be useful in the exam, I’ll add them
 
 
🖥️
EC2 - Elastic Computer Cloud
Dedicated Hosts ⇒ Server-bound software licenses - Most expensive option
Spot Instance ⇒ You must first cancel a Spot Request, and then terminate the associated Instances
Single tenant hardware ⇒ Dedicated instances
 
Placement Groups:
  • Cluster ⇒ Cluster instances into a low-latency group in a single AZ (great network but if the rack fails all the instances fails)
  • Spread ⇒ Spread across underlying hardware (max 7 instances per group per AZ) (more resilient, if a rack fails the other instances continue to work)
  • Partition ⇒ Spreads instances across many different partitions within an AZ. Up to 7 partitions per AZ
 
EC2 Hibernate ⇒ Not all the instances are supported. Max 150GB ram. An instance cannot be hibernated more than 60 days
EC2 Instance metadata url ⇒ 169.254.169.254/latest/meta-data
 
EC2 Enhanced Networking ⇒ ENA (Elastic Network Adapter) up to 100GPS
Elastic Fabric Adapter (EFA) ⇒ Improved ENA for HCP. Bypasses the underlying Linux OS to provide low-latency transport
 
AWS ParallelCluster ⇒ cluster management tool, enable EFA on the cluster
Maximum size of instance store is 10GB and it is used for temporary purpose but I can add multiple instance stores.
 
A recovered instance (from an AWS failure) is identical to the original instance, including the instance ID, private IP addresses, Elastic IP addresses, and all instance metadata. If the impaired instance is in a placement group, the recovered instance runs in the placement group. If your instance has a public IPv4 address, it retains the public IPv4 address after recovery.

Security groups

Good to maintain one security gorup for SSH access
 
 
💽
EBS - Elastic Block Storage
When launching an EC2 instance, the EBS volume for root cannot be encrypted.
You can launch the instance with an unencrypted root volume and create a snapshot of the root volume. Once the snapshot is created, you can copy the snapshot where you can make the new snapshot encrypted.
 
EBS volume type can be converted for example from io1 to gp2
 
You can disable the delete on termination using the CLI by setting the DeleteOnTermination attribute
 

Snapshots

Snapshots archive ⇒ Move to an archive tier that is 75% cheaper
Recycle Bin ⇒ Retain a deleted snapshot to recover after an accidental deletion (from 1 day to 1 year retention)
Fast Snapshot Restore ⇒ No latency on the fist use (costs a lot)
 

Volume Types

  • io2 Block Express ⇒ Max PIOPS 256000
  • io1/io2 ⇒ Max PIOPS 64000 for Nitro EC2 and 32000 for other - increase storage and PIOPS independently
  • gp3 ⇒ 3000 IOPS - up to 16000 IOPS and up to 1000 MiB/s throughput
  • gp2 ⇒ IOPS and size are linked (3000 - 16000) - max IOPS at 5334 gb
  • st1 ⇒ Max IOPS 500
  • sc1 ⇒ Max IOPS 250
 
Multi-Attach ⇒ io1/io2 - up to 16 EC2 instances at a time
 
📼
EFS - Elastic File System
  • Performance mode
    • General Purpose
    • Max I/O
  • Throughput mode
    • Bursting
    • Provisioned
 
📈
Load balancing and auto scaling
  • ALB - Application Load Balancer
    • *.example.com matches only the target subdomains and not example.com
  • NLB - Network Load Balancer
    • From NLB to EC2 instances, traffic is routed using the primary private IP address specified in the primary network interface for the instance
    • Network Load Balancers expose a fixed IP to the public web, therefore allowing your application to be predictably reached using these IPs, while allowing you to scale your application behind the Network Load Balancer using an ASG. (while ALB expose a DNS (url) to the web).
  • GLB - Gateway Load Balancer
    • Layer 3
    • Uses the GENEVE protocol on port 6081
 
SNI Protocol ⇒ The clier indicate the hostname of the target in the initial SSL handshake (supported by ALB, NLB and CloudFront)
 

Auto Scaling Group

You can put an instance that is in the InService state into the Standby state, update some software or troubleshoot the instance, and then return the instance to service. Instances that are on standby are still part of the Auto Scaling group, but they do not actively handle application traffic. https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html
 
Default termination policy
  • Determine whether any of the instances use the oldest launch template/launch configuration
  • If there are multiple unprotected instances to terminate, determine which are closest to the next billing hour
  • Terminate one of the instances at random
 
Launch templates (LTs) are newer than launch configurations (LCs) and provide more options to work with. Thus, the AWS documentation recommends use of launch templates (LTs) over launch configuration (LCs). One of the practical key differences between LT and LC is the fact that LC is immutable. Once you define it, you can't edit it. Only a replacement is an option. However, a single LT can have multiple versions
 
Amazon EC2 Auto Scaling creates a new scaling activity for terminating the unhealthy instance and then terminates it. Later, another scaling activity launches a new instance to replace the terminated instance
 
📥
Databases

RDS

Database parameters specify how the database is configured. For example, database parameters can specify the amount of resources, such as memory, to allocate to a database.
 
IAM database authentication works with MySQL and PostgreSQL. With this authentication method, you don't need to use a password when you connect to a DB instance. Instead, you use an authentication token.
 
If your workload is unpredictable, you can enable storage autoscaling for an Amazon RDS DB instance. With storage autoscaling enabled, when Amazon RDS detects that you are running out of free database space it automatically scales up your storage. Amazon RDS starts a storage modification for an autoscaling-enabled DB instance when these factors apply:
  • Free available space is less than 10 percent of the allocated storage.
  • The low-storage condition lasts at least five minutes.
  • At least six hours have passed since the last storage modification.
  • The maximum storage threshold is the limit that you set for autoscaling the DB instance. You can't set the maximum storage threshold for autoscaling-enabled instances to a value greater than the maximum allocated storage.
 
Read only for Multi Region https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-rds-for-oracle-now-supports-managed-disaster-recovery-and-data-proximity-with-cross-region-read-replicas/ Standby instance is for Single Region - Multi AZ https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html
 
RDS Custom available for Oracle and Microsoft SQL Server. You can access via SSH to the OS and the database (have to disable Automation mode)
 
RDS Proxy ⇒ Serverless service to create a connection pool. Really useful for lambda functions and improving database efficiency. Must be accessed from VPC
 
RDS Automated Backups can be created in multiple Regions
 
The database engine level upgrade for RDS will trigger both primary and satndby db to be upgraded at the same time. This causes downtime until the upgrade is complete.
 
When creating a read-replica, you should create a read-replica with the same compute capacity and the same storage capacity as the primary.
 

Aurora

  • Custom endpoints ⇒ Define a subset of Aurora Instances as a Custome Endpoint (for example for Analytical Queries)
  • Aurora serverless!!!
  • Aurora Multi-Master ⇒ Every node does R/W
  • Aurora Global
    • 1 Primary region - Up to 5 seconday regions
    • Up to 16 read replicas per secondary region
    • Cross-region replications typically takes less than 1 second
  • Aurora ML
    • Build ML-based predictions to the app via SQL
    • Build on top of SageMaker and Comprehend
Restore ⇒ Create a backup of the DB using Percona XtraBackup, store the file on s3 and restore the file in a new Aurora cluster
 
You can quickly create clones of an Aurora DB by using the database cloning feature. In addition, database cloning uses a copy-on-write protocol, in which data is copied only at the time the data changes, either on the source database or the clone database. Cloning is much faster than a manual snapshot of the DB cluster.
 

Elasticache

Redis Sorted sets guarantee both uniqueness and element ordering
multi-threading caching ⇒ MemCached
 

DocumentDB

AWS Implementation of MongoDB
 

Neptune

Graph database
 

Keyspaces

A managed Apache Cassandra-compatible database service
Serverless. Tables are replicated 3 times across multiple AZ. Use the Cassandra Query Language
 

QLDB

Ledger for recording financial transactions
 

Timestream

TIme series database
1000s times faster & 1/10th the cost of relational databases
 
 
🌐
Route53
Health checks can be calculated with OR, AND or NOT. Up to 256 Child Health Checks
Since Health Checks are only for public resources, to monitor a private resource you have to setup a cloudwatch alarm on the resource and make the health checker monitor that alarm
A systems administrator has created a private hosted zone and associated it with a Virtual Private Cloud (VPC). However, the DNS queries for the private hosted zone remain unresolved ⇒ Enable DNS hostnames and DNS resolution for private hosted zones
 
🏬
S3 Storage and Data Management
Up to 10 tags for object
Delivers strong read-after-write consistency automatically
Once you version-enable a bucket, it can never return to an unversioned state. Versioning can only be suspended once it has been enabled.
 
Endpoints:
  • http://bucket-name.s3-website.Region.amazonaws.com
  • http://bucket-name.s3-website-Region.amazonaws.com
 
To copy data from a source bucket to a destination bucket you can use the aws s3 sync command
 
notion image

Security

  • User based
    • IAM policy
      • A password policy could be set at Account level
  • Resource based
    • Bucket policies
    • Object Access Control List
    • Bucket Access control List
  • MFA-Delete (could be enabled/disabled only by the root account using the CLI)
  • Glacier Vault Lock
    • WORM model
    • Retention mode - Compliance ⇒ Object version cannot be overwritten or deleted
    • Retention mode - Governance ⇒ Only admins can overwrite or delete
    • Retention period ⇒ Cannot delete the object for an amount of time
    • Legal Hold ⇒ Protect the object indefinitely independent from the retention period
  • Access Points
    • Each Access Point gets its own DNS and polity to limit who can access it
 
Different versions of a single object can have different retention modes and periods 

Storage classes

  • Standard
  • Standard IA
    • One Zone IA
      • The minimum storage duration is 30 days before you can transition objects from S3 Standard to S3 One Zone-IA.
  • Glacier
    • Glacier Instant Retrieval
      • millisecond retrieval
    • Glacier Flexible Retrieval
      • Expedited (1-5 minutes), Standard (3-5 hours), Bulk (5-12 hours)
    • Glacier Deep Archive
      • Standard (12 hours), Bulk (48 hours)
  • Intelligent Tiering
 
Performance improvements:
  • Multi-Part upload
  • S3 Transfer Acceleration
    • You only pay for transfers that are accelerated
  • S3 Byte-Range Fetches
  • S3 Select to retrieve less data using SQL
 
With Requester pays we pay the storage but the AWS requester pays for the request. Useful if you’re working with multiple accounts or between companies.
 
S3 Object lambda ⇒ Use Lambda to change the object before is retrieved by the caller
Batch Operations ⇒ Perform bulk operations on existing S3 objects with a single request
 

Cloudfront

Allows for GeoRestriction
Can be used also to deliver Video Streaming
In CloudFront there is no limit to pre-signed urls expiration date to 7 days
 
Field-level encryption allows you to enable your users to securely upload sensitive information to your web servers. The sensitive information provided by your users is encrypted at the edge, close to the user, and remains encrypted throughout your entire application stack. This encryption ensures that only applications that need the data—and have the credentials to decrypt it—are able to do so.
To use field-level encryption, when you configure your CloudFront distribution, specify the set of fields in POST requests that you want to be encrypted, and the public key to use to encrypt them. You can encrypt up to 10 data fields in a request. (You can’t encrypt all of the data in a request with field-level encryption; you must specify individual fields to encrypt.)
 
CloudFront signed cookies allow you to control who can access your content when you don't want to change your current URLs or when you want to provide access to multiple restricted files, for example, all of the files in the subscribers' area of a website.
 
Advanced storage
Advanced storage

Snowcone

  • 8 TB of storage
  • 2CPU - 4GB of memory

Snowball Edge

  • Storage Optimized ⇒ 80TB of capacity
    • 40 vCPUs, 80gb of RAM
  • Compute Optimized ⇒ 42TB of capacity
    • 52 vCPUs, 208gb of RAM

Snowmobile

  • 100PB of capacity
  • Better than Snowball if you transfer more than 10PB
 

FSx

  • FSx for Lustre
    • Mounting FSx for Lustre on an AWS Fargate launch type isn't supported.
    • HPC - Parallel distributed FS - Can be used from on-premises (VPN, directconnect)
    • Scratch File System
      • Temporary storage
    • Persistent File System
      • Long-term storage
  • FSx for Windows File Server
    • Managed Windows file system, can be mounted on EC2, Active Directory, Microsoft DFS - Can be used from on-premises (VPN, directconnect)
  • FSx for NetApp ONTAP
    • Filesystem for Hybrid Cloud, compatible with a lot of AWS services
  • FSx for OpenZFS
    • FileSystem compatible with NFS
 

Storage gateway

Bridge between on-premises and cloud data
 
Volume Gateways and Cached Volumes can be used to start storing data in S3. Cached volumes offer substantial cost savings on primary storage and minimize the need to scale your storage on-premises.
  • S3 File Gateway
    • SMB, Active Directory
  • FSx (for Windows File Server) File Gateway
    • SMB, NTFS, Active Directory
  • Volume Gateway
    • Entire Dataset on premise, scheduled backup to S3
    • iSCSI protocol
  • Tape Gateway
    • iSCSI interface
    • Used to connect with the backup applications using the iSCSI-virtual tape library (VTL) interface
    • Support for direct connection between Tape Gateway and S3 Glacier Deep Archive
 
Hardware appliance available
 

Transfer Family

Service for file transfer in/out s3 or EFS using the FTP protocol (FTP/FTPS/SFTP)

DataSync

  • Scheduled moving of large amount of data to and from AWS and/or on-premise
  • Can sync to S3, EFS, FSx
  • Metadata and permission preserved
 
💬
Messagging

SQS

The name of a FIFO queue must end with the .fifo suffix.
You can now use Amazon SNS FIFO topics, in combination with SQS FIFO queues, to build applications that require messages to be sent and processed in a strict sequence and without duplicates.
SNS is a notification service and cannot be used for real-time processing of data.
 
We, therefore, need to use an SQS FIFO queue. If we don't specify a GroupID, then all the messages are in absolute order, but we can only have 1 consumer at most. To allow for multiple consumers to read data for each Desktop application, and to scale the number of consumers, we should use the "Group ID" attribute.
 

Kinesis

Real-time data streaming
  • Data streams
    • Capture, process and store data streams
    • 1Mb/sec or 1000msg/sec per shard in input
    • 2MB/sec per shard per customer in output
    • Data retention up to 365 days - ability to reprocess - immutability
    • Provisioned mode
    • On-demand mode ⇒ No need to provision the capacity (don’t handle shards)
    • Batch messages to send many Records Per Second (RPS)
  • Data Firehose
    • Load data streams into AWS data stores
    • Batch writes ⇒ Min 60 seconds latency or 1Mb of data at time
    • Support for data transformation, conversion, compression
    • Kinesis Agent cannot write to a Kinesis Firehose for which the delivery stream source is already set as Kinesis Data Streams
  • Data Analytics
    • Analyze data streams with SQL or Apache Flink
  • Video Streams
    • Capture, process and store video streams
 

MSK - Managed Streaming for Apache Kafka

Managed service to handle Kafka brokers and nodes. Data stored in EBS for long as you want.
MSK Serverless ⇒ Serverless service (stonks!)
 
🪣
Container

ECS - Elastic Container Service

Mount EFS file system onto ECS tasks
AWS Application Auto Scaling is used to scale the containers based on CPU Utilization, RAM, Request Count per Target.
  • Target Scaling
  • Step Scaling
  • Scheduled Scaling
 
With the EC2 Launch type you can use an EC2 auto scaling group to scale also the instances

EKS - Elastic Kubernetes Service

CloudWatch Container Insights for logging
Node Types:
  • Managed Node Groups
    • Handle EC2 for you
  • Self-Managed nodes
    • You handle EC2, can use prebuilt AMI
  • Fargate
    • AWS manage everything ⇒ Serverless, we like it!
 
Data volumes:
  • Need to specity StorageClass manifest on the EKS cluster
  • Leverage a Container Storage Interface (CSI) with support for
    • EBS
    • EFS (Fargate)
    • FSx for Lustre
    • FSx for NetApp ONTAP
 

App Runner

Fully managed service that makes it easy to deploy web app and APIs at scale. Handle all the infrastructure (similar to Beanstalk on the behaviour?)
 
 
🙅🏻‍♂️
Serverless

Lambda

To deploy Lambda in VPC, Lambda will create and ENI in the subnets
With RDS Proxy you have to deploy Lambda inside your VPC
 

DynamoDB

Item max size ⇒ 400kb
  • Provisioned Mode
    • Pay for provisioned RCU and WCU
    • Autoscaling mode for RCU and WCU
  • On-Demand Mode
 
DynamoDB could be costlier rather than Aurora global database
 
DAX ⇒ Seamless cache on top of DynamoDB
Global Tables
  • Multiple regions
  • Active-active replication
  • Read and write in any region
 
PITR up to 35 days ⇒ Creates a new table
 

API Gateway

  • Features
    • Support for websocket
    • Versioning
    • Different environments
    • Handle security
    • Handle API keys
    • Generate SDK and API specifications
  • Types
    • Edge-optimized
    • Regional
    • Private
 
Data & Analytics
Data & Analytics

Athena

Analyze & query with SQL data from S3 bucket.
Supports CSV, JSON, ORC, Avro and Pasquet.
With columnar data you can save costs
 

Redshift

Used for OLAP. Based on PostgreSQL. Faster joins rather than Athena
Clusters available with compute nodes.
Automated/Manual copies in different regions
Large inserts are MUCH better
Spectrum ⇒ Querty data on S3 without loading it
 

Opensearch

Search in any field, even partially matches. Often used as complement to another database
 

EMR - Elastic Map Reduce

Hadoop clusters ⇒ Analyze vast amount of data
Node Types:
  • Master node ⇒ Manage the cluster
  • Core node ⇒ Run tasks and store data
  • Task node ⇒ Spot to run tasks
 

QuickSight

Dashboard with users.
SPICE engine ⇒ In-memory computation
Enterprise edition ⇒ Setup Column-Level security, groups
 

Glue

Serverless ETL service
Job Bookmarks ⇒ Prevent re-processing old data
Elastic views ⇒ Combine and replicate data across multiple data stores
DataBrew ⇒ Clean and normalize data using pre-built transformation
Studio ⇒ GUI to run and monitor ETL jobs
Streaming ETL ⇒ built on Apache Spark Structured Streaming
 

Lake Formation

Built on top of Glue, create data lakes in days instead of months
Main security feature ⇒ centralized permission
 
 
🧠
Machine Learning

Rekognition

FInd objects, people, text etc with ML.
Facial Analysis and facial search available with familiar faces database.
Content moderation ⇒ Set confidence threshold and flag sensitive content for manual review in Amazon Augmented AI

Transcribe

Speech to text ⇒ Automatically remove PPI using Redaction

Polly

Pronunciation lexicons ⇒ customize the pronunciation of words (SyntesizeSpeech)
Speech Syntesis Markup Language

Comprehend ⇒ NLP

Comprehend Medical ⇒ Detects and returns useful info in unstructured clinical text

Kendra

Document Search Service based on Knowledge Index ⇒ Different data sources. Query with natual language search

Textract

Extracts text, handwriting and data from any scanned document
 
Monitoring, Auditing and Performance
Monitoring, Auditing and Performance

CloudWatch Metrics

Metric ⇒ Variable to monitor in a namespace with a timestam. A dimension is an attribute of a metric (up to 10 dimensions per metric)
Can create custom metrics
 

CloudWatch Logs

Log group, log stream
CloudWatch Log Insights ⇒ Used to query logs and add queries to CW Dashboards.
Log data can take up to 12 hours (not real-time) to become available for export ⇒ CreateExportTask
 

CloudWatch Container Insights

Aggregate and summarize metrics and logs from containers.
Available for ⇒ ECS, EKS, Kubernetes on EC2, Fargate ⇒ Containerized version of the CloudWatch Agent
 

CloudWatch Application Insights

Automated dashboards that show potential problems with monitored applications, to help isolate ongoing issues (powered by SageMaker)
 

CloudTrail

Events stored for 90 days
  • Management Events
    • Logged by default
  • Data Events
    • Not logged by default
  • Insights Events
    • Detect unusual activity analyzing write events to detect unusual patterns
 
 
🆔
Advanced Identity in AWS
IAM Permission Boundaries ⇒ Use a managed policy to set the maximum permissions an IAM entry can get
 
Permission boundaries are not allowed for groups, but only for users and roles
 
The IAM service supports only one type of resource-based policy called a role trust policy, which is attached to an IAM role.
 
 
🔐
AWS Secutiry and Encryption

KMS - Key Management System

CMK ⇒ Symmetric | Asymmetric
Pricing ⇒ $1/month per imported key or user created key + $0.03/1000 Api call
Encrypt/Decrypt up to 4kb of data per call. If needed more, use envelope encryption
1 year automatic rotation for Customer-managed CMK (if enabled) ⇒ Can use manual rotation with aliases
Multi-Region keys ⇒ A primary and replicas for the other regions. Each key managed independently
 

Secrets manager

Auto rotation of secrets every X days. Integration with RDS
 

WAF - Web Application Firewal

Layer 7 protection
Deploy on ⇒ ALB, API Gateway, CloudFront AppSync GraphQL API, Cognito User Pool
Create up to 10k rules. A rule group is a reusable set of rules
NLB is not supported and to have a fixed ip with ALB we need to use the Global Accelerator
WAF+Shield = Shield Advanced : AWS Shield Advanced includes AWS WAF in its priced subscription (Shield Standard doesn't)

Inspector

Automated Security Assessments for EC2 instances and Container
 
☁️
VPC - Virtual Private Cloud
CIDR ⇒ Base IP and Subnet Mask (/0, /16, /24, /32). The subnet mask allows part of the underlying IP to get additional next values from the base IP.
x-32 = y ⇒ 2^y = number of addreses
Private IPs values:
  • 10.0.0.0 - 10.255.255.255 (10.0.0.0/8)
  • 172.16.0.0 - 172.31.255.255 (172.16.0.0/12)
  • 192.168.0.0 - 192.168.255.255 (192.168.0.0/16)
 

VPC

Max 5 VPC per region. Max 5 CIDR per VPC. Since VPC is private, only the private IPv4 ranges are allowed.
The option "VPC with a public subnet only and AWS Site-to-Site VPN access" is NOT supported by the Amazon VPC console wizard.
notion image

Subnet

AWS Reserves 5 IP addresses (first 4 & last 1)

Internet Gateway

Allows resources in a VPC connect to the Internet. Created separately from a VPC. One VPC can be attacched to one IGV and vice versa. To enable internet routing you have to update route tables
 
An Internet Gateway serves two purposes: to provide a target in your VPC route tables for internet-routable traffic and to perform network address translation (NAT) for instances that have been assigned public IPv4 addresses. Therefore, for instance E1, the Network Address Translation is done by Internet Gateway I1.
Additionally, an Internet Gateway supports IPv4 and IPv6 traffic. It does not cause availability risks or bandwidth constraints on your network traffic.
 

NAT Instances and NAT Gateway

NAT Instance
  • Allows EC2 Instances in private subnet to connect to the Internet.
  • Must be launched in a public subnet
  • Must disable EC2 setting: Source/destination check
  • Must have Elastic IP attached to it
  • Route tables must be configured to route traffic from private subnets to the NAT Instance
 
NAT Gateway
  • AWS-managed NAT, pay per hour of usage and bandwidth
  • Requires IGW
  • Resilient in a single AZ, must create multiple NAT Gateways in multiple AZ for fault-tollerance. No cross-AZ failover
 
Egress-only Internet Gateway
  • Used for IPv6 only
  • Allows instances in your VPC outbound connections over IPv6 while preventing the internet to initiate an IPv6 connection to your instances
 

NACL - Network Accesso Control List

One NACL per subnet. Can define Rules [1-32766] (increment of 100 is reccomended)
Ephemeral Ports⇒ Clients connect to a defined port and expect a response on an ephemeral port
 

VPC Peering

Connect two VPC using AWS
Must not overlapping CIDRs. VPC Peering is NOT Transitive.
You must update route tables in each VPC’s subnets to ensure EC2 instances can communicate
Can create VPC Peering between VPCs in different AWS accounts/regions
Use VPC sharing to share one or more subnets with other AWS accounts belonging to the same parent organization from AWS Organizations

VPC Endpoints

Allows to connect to AWS services using a private network instead of using the public internet
Endpoint types:
  • Interface Endpoints (PrivateLink) ⇒ Provisions an ENI $ per hour + $ per GB of data
  • Gateway Endpoints ⇒ target in a route table for S3 and DynamoDB (free)
 

VPC Flow Logs

Capture information about IP traffic going into your interfaces
 

Site-to-Site VPN

Virtual Private Gateway
  • VPN concentrator on AWS side
  • Enable the Route Propagation for the VPG in the route table that is associated with your subnets
  • If you need to PING, add the ICMP protocol
Customer Gateway
  • Software or physical devide on customer side of the VPN connection
 
VPN CloudHub ⇒ Provide secure communication between multiple sites, if you have multiple VPN connections.
 

Direct Connect

Provides a dedicated private connection from a remote network to your VPC
Setup a Virtual Private Gateway on your VPC
Direct Connect Gateway ⇒ Setup a DX in one or more VPC in many regions
Connection Types:
  • Dedicated
    • physical ethernet port dedicated to a customer
  • Hosted
    • Connection requests are made via AWS Direct Connect Partners
    • Capacity can be added or removed on demand
 
Lead times > 1 month to establish a new connection
Resiliency:
  • High Resiliency for Critical Workloads
  • Maximum Resiliency for Critical Workloads
    • Each Connection has 2 redoundant connections
 

Transit gateway

For having transitive peering between thousands of VPC and on-premises, hub-and-spoke (star) connection
Support IP Multicast
ECMP ⇒ Equal-cost multi-path routing | create multiple Siteto-Site VPN connections to increase the bandwidth of your connection to AWS
 

VPC - Traffic Mirroring

Allows you to capture and inspect network traffic in your VPC
 

AWS Network Firewall

Protect your entire Amazon VPC
From Layer 3 to Layer 7 protection
The AWS Network Firewall uses the AWS Gateway Load Balancer
 
🌊
Disaster Recovery & Migrations
RPO ⇒ Recovery Point Objective
RTO ⇒ Recovery Time Objective
 
Strategies:
  • Backup and Restore
  • Pilot Light
  • Warm Standby
  • Hot Site / Multi Site Approach
 

DMS - Database Migration Service

Homogeneus and Heterogeneus migrations. Replication task performed by a provisioned EC2 instance
DMS is used to replicate data from a database to Redshift
DMS could be used as a bridge between S3 and Kinesis Data Stream
 
Schema Conversion Tool ⇒ SCT
  • Convert database’s schema from one engine to another
 

AWS Backup

Manage and automate backups across AWS services
Backup Vault Lock ⇒ WORM state for all the backups
 
 

Other stuff

  • Security Token Service
    • Web service that enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users you authenticate (federated users).
  • AWS Control Tower
    • Govern a secure multi-accont aws environment
  • GuardDuty
    • A threat detection service that constantly monitors your AWS accounts and workloads for malicious activity and returns detailed security results for visibility and recovery.
    • Disable the service in the general settings - Disabling the service will delete all remaining data, including your findings and configurations before relinquishing the service permissions and resetting the service.
  • Elastic MapReduce
    • Create a cluster of open-source frameworks for big data analytics - Apache Spark, Presto (also available serverless option)
  • AWS PrivateLink
    • Connect to AWS services using a private network instead of the public Internet
  • Cost Explorer
    • An interface that lets you visualize, understand, and manage your AWS costs and usage over time
  • Budgets
    • Budgets helps set custom spending plans so you can control costs and forecast future spending
  • Cost and Usage Report
    • Cost and Usage Reports tracks your AWS usage and provides estimated charges associated with your account. Each report contains line items for each unique combination of AWS products, usage type, and operation that you use in your AWS account.
  • Data exchange
    • Creates a bridge between publishers and subscribers to data. Provides Cloudwatch alarms when a publisher publish new data.
  • Data Pipeline
    • AWS Data Pipeline is a web service that helps you reliably process and move data between different AWS compute and storage services, as well as on-premises data sources, at specified intervals.
  • AppFlow
    • Transfer data between SaaS. There are sources and destinations. The frequency is on a schedule, in response to events, or on depand. Don’t spend time writing integrations and leverage APIs immediately
  • Outposts
    • AWS Outposts is a fully managed service that extends AWS infrastructure, services, APIs, and tools to customer premises. Super interesting!
  • Serverless Application Repository
    • The AWS Serverless Application Repository is a managed repository for serverless applications. It enables teams, organizations, and individual developers to store and share reusable applications, and easily assemble and deploy serverless architectures in powerful new ways.
  • Wavelength
    • 5g edge computing
  • EKS Anywhere
    • Create Kubernetes cluster on premise - why should I use this service?
  • EKS Distro
  • AWS Fraud Detector
  • Compute Optimizer
    • AWS Compute Optimizer recommends optimal AWS resources for your workloads to reduce costs and improve performance by using machine learning to analyze historical utilization metrics.
  • License Manager
  • Managed Grafana
    • Observability platform for applications and infrastricture
  • Managed Service for Prometheus
    • Metrics and alerts
  • AWS Proton
  • Kinesis Video Streams
  • Application Migration Service
    • Lift&Shift solution
  • Resource Access Manager
    • AWS Resource Access Manager (RAM) helps you securely share your resources between AWS accounts, within your organization or organizational units (OUs) in AWS Organizations, and with IAM roles and IAM users for resource types supported.
 
Other mix info:
SCPs do not affect service-linked role
Service-linked roles are predefined by the service and include all the permissions that the service requires to call other AWS services on your behalf.
 
Amazon EventBridge is recommended when you want to build an application that reacts to events from SaaS applications and/or AWS services. Also SNS can be used for event-based services but hasn’t integrations with other tools.