How I studied for the AWS Solutions Architect Associate certification exam
Tags: aws, certification, exam, guide
Published: 2020-03-24 08:20:26

In this blog post, I'm going to share how I studied, step-by-step, for the [AWS Solutions Architect Associate](https://aws.amazon.com/certification/certified-solutions-architect-associate/) certification exam.

And of course, due to COVID19, AWS is taking care of its learners - [AWS Certification FAQs](https://aws.amazon.com/certification/faqs/)

# DISCLAIMER
Make sure you cover all the topics that are in the official [AWS Certified Solutions Architect Associate Exam Guide](https://d1.awsstatic.com/training-and-certification/docs-sa-assoc/AWS_Certified_Solutions_Architect_Associate-Exam_Guide_1.8.pdf), read more about it [here](https://aws.amazon.com/certification/certified-solutions-architect-associate/). I passed the exam in Sep-2019, and it might have changed a little bit since then.

# Intro
1. It took me __about 2-3 weeks__ to study
1. I studied for about __4-5 hours a day__
1. I had minor experience in AWS with EC2 and S3 before I started studying
1. __Skim through__ all the topics __before you start studying__. It took me time to realize the best way for me to study, but it doesn't mean that it's the best way for you
1. Content switching - I didn't want to learn one topic, and then learn a whole new topic, which will probably make me forget the previous topic. So I learned all of the topics bit by bit, which also helped me realize how different services can work together
1. Learning for this type of exam is difficult, so if you're having a hard time, don't worry about it, in your 2nd week of learning, it will get much easier
1. Learn with your mobile phone - I found it best to read most of the FAQs and official docs using my mobile phone in my spare time
1. Here's my [Social Badge](https://www.youracclaim.com/badges/4deaade1-14b1-4019-a9a3-0a8e675ccc6a)
1. If you wonder how the badge looks like in a Linkedin profile, you can check mine - [linkedin.com/in/meirg](https://www.linkedin.com/in/meirg/)

# Getting Started
1. [Create an AWS account](https://portal.aws.amazon.com/billing/signup?redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation#/start)
1. [Create an IAM admin role](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html), from now on, use only this role to perform any future actions in your AWS account
1. Register for [AWS Certified Solutions Architect - Associate 2020](https://www.udemy.com/course/aws-certified-solutions-architect-associate/) by [Ryan Kroonenburg](https://www.linkedin.com/in/acloudguru/?originalSubdomain=uk) and [Faye Ellis](https://www.linkedin.com/in/fayeellis/?originalSubdomain=uk). Original price is 179 USD so wait for it to be on sale, you can get if for 14-18 USD
1. Complete the above course, including the quizzes   
   - The course duration is 14.5 hours (excluding quizzes and exams), so to save time, set the videos speed to
      - x1.25 - 11.6 hours
      - x1.5  - 9.7  hours
1. (Optional) If you have prior knowledge, take the Practice Exam 1 to understand your knowledge gaps, it's under Good Luck & What's Next

## This Guide's Structure
1. Even though you've already completed the Udemy course, I'm still going to put references to specific lectures that you should watch again to strengthen your knowledge
1. Legend
   - 📚 - Official AWS docs/tutorials
   - 📘 - Non-official docs/tutorials
   - 📺 - Watch lecture(s) in the Udemy course

## VPC - Basics
1. Create a custom VPC - go through the following scenarios
   1. 📚 [Scenario 1: VPC with a Single Public Subnet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario1.html)
   1. 📚 [Scenario 2: VPC with Public and Private Subnets (NAT)](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html)
      - Don’t create a NAT Instance or a NAT Gateway, but make sure you understand how they work
      - 📚 [Differences between NAT Instance and NAT Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-comparison.html)

## Route53
1. 📺 Route53 > all lectures
   1. Understand what are DNS records, notably: A, SOA, NS, CNAME, and MX
   1. Get familiar with all available Routing policies
   1. (Optional) Register your domain directly from the AWS Route53 console

## VPC - Subnets
1. 📘 [Understanding IP Addresses, Subnets, and CIDR Notation for Networking](https://www.digitalocean.com/community/tutorials/understanding-ip-addresses-subnets-and-cidr-notation-for-networking)
1. Practice on Subnets by using the CIDR calculator at [www.cidr.xyz](https://cidr.xyz) and create Subnets in your custom VPC
   1. How many IP addresses are reserved by AWS?

## VPC - EC2
1. 📺 EC2 > all lectures
1. 📚 Read more about [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) and [EC2 instance roles](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)

#### Practice
1. Create an IAM role and attach it to your EC2 instance
1. SSH to an EC2 instance and install AWS CLI on your instance
1. Run aws s3 ls on the instance and make sure that it works
1. Use the instance’s meta-data to figure out from the instance to which security groups it belongs to, hint: curl 169. …

## By now you are familiar with
1. Launch and configure EC2 instances
1. Elastic Block Store (EBS)
1. Subnets, IP Addresses, CIDR and Subnetmask
1. Route Tables
1. Internet Gateway (igw)
1. Elastic IP (eip)
1. 📚 [NAT Instances](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html) (bastion) (💬 AMI name contains amzn-ami-vpc-nat)
1. 📚 [NAT Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) (ngw)
1. 📚 [Security Group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) (sg) - this topic is very important, so make sure you do a lot of practice
1. 📚 [Network Access Control List](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) (NACL)
1. 📚 [Identity Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) (IAM) - Users, Groups, Roles, and Policies
1. Route53 and DNS records

## VPC - Peering
1. Go over the following scenarios
   1. 📚 [Example: Sharing Public Subnets and Private Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/example-vpc-share.html)
   1. 📚 [Example: Services Using AWS PrivateLink and VPC Peering](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peer-region-example.html)

__IMPORTANT__! Don't skip the above topic; it may appear in the exam

## VPC - ENI
1. 📚 [Elastic Network Interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) (ENI)
 
_Note_: No need to practice on adding a secondary ENI to your instance, if you do, make sure you take a snapshot before doing it

## VPC - Flow Logs
1. 📚 [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)

#### Practice
1. 📚 [Publish Flow Logs to CloudWatch](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs-cwl.html), and keep in mind that it takes up to 10 minutes to get the initial Log Stream, so be patient
1. (Optional) 📚 [Install the Agent on a Running EC2 Linux Instance](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html)
    1. 📚 [SSH to your EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html), install and configure AWS Logs
    1. View the Log stream in CloudWatch Logs, what’s the name of the FlowGroup?
    1. Stop the awslogs service and remove the FlowGroup from the file /var/awslogs/etc/awslogs.conf

## Storage - S3
1. 📚 [Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html) (S3)
1. 📺 S3 > Identity Access Management > from IAM 101 to Transfer Acceleration

#### Practice
1. Create a bucket in S3 and Publish Flow Logs
   1. SSH to your EC2 instance
   1. Copy one of the logs from your S3 bucket to the EC2 instance
   1. Extract the log from gz and read it, cool, huh? :)
1. 📚 [Creating a Trail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html)
   1. 📚 [Logging Amazon CloudWatch API Calls with AWS CloudTrail](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/logging_cw_api_calls.html)
   1. Turn off the Logging in the trail
   1. Disable AWS Cloudwatch alarm and delete VPC Flow Log - do it without removing the alarm, hint: possible only with aws-cli

## VPC - Nat Gateway
1. 📚 [Nat Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)

#### Practice
1. 📚 [Implement Scenario 2 and apply the NATSG: Recommended Rules](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html#VPC_Scenario2_Security)
1. SSH to private instance and run: curl http://ifconfig.co, the returned IP should be the NAT Gateway Elastic IP (EIP)
1. Delete the Nat Gateway and release the Nat Gateway's EIP

## VPC - Direct Connect and VPC End Points
1. 📺 VPCs > Direct Connect
1. 📺 VPCs > VPC End Points

## Storage - Storage Gateway
1. 📺 Identity Access Management & S3 > Storage Gateway
   1. File Gateway
   1. Stored Volumes and Cached Volumes
   1. Tape Gateway

## Storage - Snowball
1. 📺 Snowball Overview and Snowball Lab
   1. Snowball
   1. Snowball Edge
1. Know the answer to - when should I use it?

## EC2 - Placement Groups
1. 📺 EC2 > EC2 Placement Groups
1. 📚 [Placement Groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#concepts-placement-groups)
   1. Clustered Placement Group
   1. Partition Placement Group
   1. Spread Placement Group

## EC2 - Bootstrap Scripts and instance Meta Data
1. 📺 EC2 > Using Boot Strap Scripts
1. 📺 EC2 > EC2 Instance Meta Data

## Databases
1. 📺 Databases On AWS > all lectures
1. Understand the difference between Multi-AZ vs. Read Replicas
1. Get a deeper understanding of the following types of databases
   1. DynamoDB
   1. Redshift and Redshift Spectrum
   1. Aurora
   1. Elasticache
1. Understand how to increase the performance of each DB
1. Understand the basics of high availability architecture of DBs

## VPC - Load Balancers
1. 📺 HA Architecture > from Load Balancers Theory to Advanced Load Balancer Theory
1. Understand the differences between Classic/App/Net Load Balancers
1. Make sure you know the answer to - what are Health checks?

## Theoretical - High Availability Architecture
1. 📺 HA Architecture > from Autoscaling Groups Lab to HA Architecture Quiz
1. 📚 [Autoscaling Groups](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html)

## Theoretical - Other Services
Get familiar with the following applications and services.

1. 📺 Watch the lectures in Udemy
1. CloudFormation
1. Elastic Beanstalk - get familiar with
1. Lightsail
1. SQS - Super important, especially the short/long polling
1. MQ
1. SWF
1. SNS - Make sure you know the 📚 [limits](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)
1. Elastic Transcoder
1. API Gateway - Super important
1. Kinesis - What are the differences between
   1. Kinesis Streams
   1. Kinesis Firehose
   1. Kinesis Analytics
1. Web Identity Federation and Cognito
   1. User pools
   1. Identity pool
1. CloudFront and Edge Locations - Super important
1. Macie
1. ElasticSearch - 📘 [Use Case 1](https://dzone.com/articles/what-is-elasticsearch-and-how-it-can-be-useful), 📘 [Use Case 2](https://marutitech.com/elasticsearch-can-helpful-business/)
1. And any other services that appear in the Udemy course

## Theoretical - Serverless
1. 📺 Serverless > all lectures
1. Make sure you fully understand how the following services work
   1. S3
   1. Lambda Functions
   1. DynamoDB
   1. Aurora Serverless

#### Practice
1. Create a Lambda Function and invoke functions with HTTP requests by using API Gateway
1. Which triggers are available for Lambda Functions?
1. 📚 [Create an API Gateway and a Lambda](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html)

## Storage - S3, EBS and EFS
Even though you read about S3, go over it again, it's a huge topic, and there are lots of questions about this topic

1. 📺 S3 > from S3 101 to Transfer Acceleration
   1. Different classes of S3 - Standard, IA, IA-Zone, Intelligent tiering
   1. Glacier and Glacier Deep Archive
   1. Security and encryption
      1. SSE - S3
      1. SSE - KMS
      1. SSE - C
   1. Client-side encryption and upload to S3
   1. Version control + MFA Delete
   1. Lifecycle management
   1. Cross-Region Replication
   1. Transfer Acceleration - Uses CloudFront
   1. 📚 [S3 FAQ](https://aws.amazon.com/s3/faqs/)
1. 📺 EC2 > from EBS 101 to AMI Types (EBS vs Instance Store) and Elastic File System

#### Practice
This exercise only covers KMS, since it's a difficult topic, but feel free to also practice the other topics

1. Create another IAM user, call it developer, grant this user full admin access (don’t switch to this user)
1. Create a key in KMS and allow only to your current admin user to use this key (developer can’t use it)
1. Create a Lambda Function from scratch and add random environment variables
1. Encrypt the environment variables with the key you’ve created earlier
1. Login with your developer user and view the Lambda Function, can you see the environment variables?

## Theoretical - Well-Architected Framework
It's best to go over all the official [AWS Docs](https://aws.amazon.com/architecture/well-architected/), but since it's time-consuming, skim through the [Well-Architected Framework whitepaper](https://d1.awsstatic.com/whitepapers/architecture/AWS_Well-Architected_Framework.pdf)

## Exams - Practice
1. Make sure you completed all the quizzes in the Udemy course
2. Take the practice exams Practice 1 and Practice 2 in the Udemy course
1. Register for [AWS Certified Solutions Architect Associate Practice Exams](https://www.udemy.com/course/aws-certified-solutions-architect-associate-amazon-practice-exams-saa-c02/), Original price is about 40 USD , but you can get it for sale at 14-18 USD
   1. Take as many exams as you can (the more, the merrier)
   1. Make sure you review the answers and explanations for each question, even if you answered correctly

## Useful Resources
Skim through the following resources

1. 📚 [AWS Certification Preperation](https://aws.amazon.com/certification/certification-prep/)
1. 📘 [aws-cheat-sheet](https://tutorialsdojo.com/aws-cheat-sheets/)
1. 📘 [A Complete Guide to AWS Certified Solutions Architect Associate Exam](https://www.whizlabs.com/blog/aws-certified-solutions-architect-associate-guide)
1. 📘 [Do Your Homework: 7 AWS Certified Solutions Architect Exam Tips
](https://www.toptal.com/aws-cloud-engineers/aws-certified-solutions-architect-exam-tips)

## AWS Solutions Architect Associate certification exam
By now you should be ready to take the exam!
 
1. 💪 Take the [AWS official practice exam](https://www.aws.training/Certification) (20 USD)
1. ❓ If there's any topic that you're still not comfortable with, read the docs and FAQs. Feel free to comment to this blog post with questions!
1. 🎉 Take the official [AWS certification exam](https://www.aws.training/Certification) (150 USD)


## Final words
Once you get the hang of it, it's fun to learn about AWS and use its services. I hope that this blog post helped you to design your learning path for this exam, and if it did, then 👏/💟/🐴 and share!