Skip to content

Instantly share code, notes, and snippets.

@tim-hub
Forked from leonardofed/README.md
Created January 29, 2019 03:55
Show Gist options
  • Save tim-hub/a6c8683dbba5dc59937388d5c4b9ee1a to your computer and use it in GitHub Desktop.
Save tim-hub/a6c8683dbba5dc59937388d5c4b9ee1a to your computer and use it in GitHub Desktop.
A curated list of AWS resources to prepare for the AWS Certifications


A curated list of AWS resources to prepare for the AWS Certifications

A curated list of awesome AWS resources you need to prepare for the all 5 AWS Certifications. This gist will include: open source repos, blogs & blogposts, ebooks, PDF, whitepapers, video courses, free lecture, slides, sample test and many other resources.


Index:

  1. Passing the AWS solutions architect - Associate exam (Published ☑)
    • Exam Overview
    • Prerequisites
    • General Learning Material
    • Blueprints exam
    • Direct experience from AWS Certified members
    • The exam
  2. Passing the AWS solutions architect - Professional exam (Published ☑)
    • Exam Overview
    • Prerequisites
    • General Learning Material
    • Blueprints exam
    • Direct experience from AWS Certified members
    • The exam

Passing the AWS solutions architect - Associate exam > Exam Overview

You will find you make less errors when you don’t feel rushed on time.

The AWS Certified Solutions Architect – Associate exam is intended for individuals with experience designing distributed applications and systems on the AWS platform.

Exam concepts you should understand for this exam include:

  1. Designing and deploying scalable, highly available, and fault tolerant systems on AWS
  2. Lift and shift of an existing on-premises application to AWS
  3. Ingress and egress of data to and from AWS
  4. Selecting the appropriate AWS service based on data, compute, database, or security requirements
  5. Identifying appropriate use of AWS architectural best practices
  6. Estimating AWS costs and identifying cost control mechanisms

Passing the AWS solutions architect - Associate exam > Prerequisites & Requirements

Candidate Overview description provided by the AWS documentation

Eligible candidates for this exam have:

- One or more years of hands-on experience designing available, cost efficient, fault tolerant, and scalable distributed systems on AWS
- In-depth knowledge of at least one high-level programming language
- Ability to identify and define requirements for an AWS-based application
- Experience with deploying hybrid systems with on-premises and AWS components
- Capability to provide best practices for building secure and reliable applications on the AWS platform

AWS Knowledge required for the Exam:

  • Hands-on experience using compute, networking, storage, and database AWS services
  • Professional experience architecting large-scale distributed systems
  • Understanding of elasticity and scalability concepts
  • Understanding of the AWS global infrastructure
  • Understanding of network technologies as they relate to AWS
  • A good understanding of all security features and tools that AWS provides and how they relate to traditional services
  • A strong understanding of client interfaces to the AWS platform
  • Hands-on experience with AWS deployment and management services

Key items you should know before you take the exam:

  1. How to configure and troubleshoot a VPC inside and out, including basic IP subnetting. VPC is arguably one of the more complex components of AWS and you cannot pass this exam without a thorough understanding of it.
  2. The difference in use cases between Simple Workflow (SWF), Simple Queue Services (SQS), and Simple Notification Services (SNS).
  3. How an Elastic Load Balancer (ELB) interacts with auto-scaling groups in a high-availability deployment.
  4. How to properly secure a S3 bucket in different usage scenarios
  5. When it would be appropriate to use either EBS-backed or ephemeral instances.
  6. A basic understanding of CloudFormation.
  7. How to properly use various EBS volume configurations and snapshots to optimize I/O performance and data durability.

General IT Knowledge preferred for the Exam:

  • Excellent understanding of typical multi-tier architectures: web servers, caching, application servers, load balancers, and storage
  • Understanding of Relational Database Management System (RDBMS) and NoSQL
  • Knowledge of message queuing and Enterprise Service Bus (ESB)
  • Familiarity with loose coupling and stateless systems
  • Understanding of different consistency models in distributed systems
  • Knowledge of Content Delivery Networks (CDN)
  • Hands-on experience with core LAN/WAN network technologies
  • Experience with route tables, access control lists, firewalls, NAT, HTTP, DNS, IP and OSI Network
  • Knowledge of RESTful Web Services, XML, JSON
  • Familiarity with the software development lifecycle
  • Work experience with information and application security concepts, mechanisms, and tools
  • Awareness of end-user computing and collaborative technologies

Passing the AWS solutions architect - Associate exam > General Learning Material

  1. Solutions Architect—Associate Certification for AWS (2016)
  2. A Guide to AWS Certification Exams
  3. AWS Solutions Architect Certification
  4. AWS Certified Solutions Architect Associate Exam
  5. AWS Certification Exams: What to expect
  6. Preparing for the AWS Solutions Architect Associate Exam - Webinar
  7. AWS CLI: 10 Useful Commands You May Not Know
  8. How I Got 5 AWS Certifications: continuous learning with AWS
  9. Amazon AWS Certified Solutions Architect: What to Study, Tips and Resources
  10. AWS re:Invent 2015 | (ARC301) Scaling Up to Your First 10 Million Users
  11. AWS re:Invent 2015 | (CMP302) Amazon ECS: Distributed Applications at Scale
  12. AWS re:Invent 2014 | (SDD413) Amazon S3 Deep Dive and Best Practices
  13. AWS re:Invent 2015 | (DVO203) A Day in the Life of a Netflix Engineer
  14. Study guide for AWS Certification - GitHub Repo
  15. An app to track white AWS white papers I have read in preparation for architect certification.
  16. Prepare for AWS Certifications - Webinar
  17. AWS Certifications for Teams - Webinar
  18. Proper Setup pf a new AWS Account

Passing the AWS solutions architect - Associate exam > Blueprints exam

In this AWS whitepaper you'll find a sample exam. Here's a preview:

    Amazon Glacier is designed for: (Choose 2 answers)

    A. active database storage.
    B. infrequently accessed data.
    C. data archives.
    D. frequently accessed data.
    E. cached session data.

    (Answer: B. infrequently accessed data. C. data archives.)
    Your web application front end consists of multiple EC2 instances behind an Elastic Load Balancer. You configured ELB to perform health checks on these EC2 instances. If an instance fails to pass health checks, which statement will be true?

    A. The instance is replaced automatically by the ELB.
    B. The instance gets terminated automatically by the ELB.
    C. The ELB stops sending traffic to the instance that failed its health check.
    D. The instance gets quarantined by the ELB for root cause analysis.

    (Answer: C. The ELB stops sending traffic to the instance that failed its health check.)
    You are building a system to distribute confidential training videos to employees. Using CloudFront, what method could be used to serve content that is stored in S3, but not publically accessible from S3 directly?

    A. Create an Origin Access Identity (OAI) for CloudFront and grant access to the objects in your S3 bucket to that OAI.
    B. Add the CloudFront account security group “amazon-cf/amazon-cf-sg” to the appropriate S3 bucket policy.
    C. Create an Identity and Access Management (IAM) User for CloudFront and grant access to the objects in your S3 bucket to that IAM User.
    D. Create a S3 bucket policy that lists the CloudFront distribution ID as the Principal and the target bucket as the Amazon Resource Name (ARN).

    (Answer: A. Create an Origin Access Identity (OAI) for CloudFront and grant access to the objects in your S3 bucket to that OAI.)

In this amazing post Markos Rendell gave a deep explanation to every single AWS question.

Passing the AWS solutions architect - Associate exam > Direct experience from AWS Certified members

Here are some general observations by Miha Kralj in this great post.

  • There were several questions related to DR solutions with specified RPO/RTO times. Modern cloud-born solutions use completely different BCP approach, but hey, someone in AWS really likes traditional disaster recovery scenarios and is making sure that you love them too. I know it is 2016, but you need to learn the old skool BCP techniques for this exam.
  • Questions about the AWS Storage Gateway appear at least 3 times. Yeah. Storage Gateway. The stuff that cloud-native architects never saw in action - nor do we want to. You have to learn the difference between Cached Volumes, Stored Volumes and understand how VTL works.
  • Lots and lots and lots of questions on deployment management. CloudFormation. Elastic Beanstalk. OpsWorks. Learn these three technologies well - not well for an architect, but well for a 2nd-tier escalation operations engineer. One of the examiners really really really liked cloud deployment automation. And now you will like it too. Who cares if you use SaltStack, Terraform or Ansible - learn CF, Beanstalk and OpsWorks!
  • Networking questions were everywhere, like 30% of the test or even more: VPN/DirectConnect/VPC peering. For me, DDOS protection, WAF, Cloudfront, and SSL/TLS stuff is networking too, although AWS treats them as security issues. Anyway, the examiners *love* networking. Learn networking. I mean, learn it like this is a Cisco exam, not a cloud architecture exam. Federated access, SAML, IAM roles and all possible AuthZ/AuthN scenarios - learn them all. Learn how IAM policies work. How cross-account trust works. And specifically how they don't work. Think like troubleshooting support personnel and what they need to know about identity flows; that's what you need to know for this exam.
  • Whenever you see the need for high-performing scalable solution, the answer is always DynamoDB. Even if you think that architecturally there might be a better choice (Cassandra, or CouchDB anyone?), the correct answer will be DynamoDB. People that wrote the test were clearly in love with DynamoDB, Elasticache and Kinesis. Just pick the answer that includes all three of them and you'll be right.
  • If a scenario is asking for something cheap (cost-effective), the answer must include spot instances, SQS for throttling and perhaps S3 RRS or Glacier.
  • There were at least two questions where I was simply forced to propose the AWS Data Pipeline. Yeah, the obscure and rarely-seen Data Pipeline service, in the age when Lambda solves the same problem way more efficiently. No, Lambda was not an option at all and it didn't appear anywhere in the test.
-- In this other write-up on LinkedIn Wong Chun Yin explained how to get all 5 AWS Certifications in Asia. Below, a couple of great hints for the SA - Associate.

First of all, associate certifications are not hard, and if you have a chance to take the AWS training, then you just need to concentrate on reading the training slides is more than enough! Remember to read the details explanation under the slides. Good understanding of VPC and IAM is important for all associate exams.

--

Dan-Claudiu Dragos shared his experience here on how he prepared for the AWS Solutions Architect Certifications in 7 days and succesfully passed it.

I'd like to share my experience of getting AWS CSA(A) certified with Cloud Academy:

The background:

  • I have registered my personal AWS account late 2014 and still do not do much with it. Without a professional motivator this is actually a dead end, more like buying a book and never reading it.
  • Mid-2015 I started doing DevOps work for a customer of my employer. They have a 1000+ node AWS environment that was fully configured with multiple VPCs, VPN access, IAM groups and the like. That become my playground and was the actual game changer, the single big detail that made the difference, certification-wise.

The process:

  • Late April 2016 I have found the r/sysadmin (reddit) message with one month promotion by Cloud Academy. At that point I did not know anything about the AWS certifications but the seed got planted. I found the message a bit late, though, when the seats were already filled up, so did not register at that time.
  • During the first week or so afterwards I was a bit confused, did not know what path to take. My first intention was to go to the Sysops cert but then I read on the Cloud Academy page that there is a big overlap with the "simpler" Architecture certification.
  • By looking around I have found some course recordings from 2 years ago (don't ask) and listened to them for a total of 14 to 16 hours (not sure about this detail). They helped me get in the right mood to start doing tests, quizes, practice stuff...
  • Mid-May, I register myself with Cloud Academy and get the 7 days trial. Well, I did the best out of that - my public profile says I have completed 1600+ quizes and got 35,000+ karma during that time. I have taken every quiz from the then AWS CSA(A) learning path multiple times until I got my score above 90%. The EC2/EBS quizes were quite easy, actually, with my experience; the S3 and IAM ones were average and Cloud Academy helped me fill in many blanks in that area. The database ones (DynamoDB and RDS) were the hardest and I had to open a lab to see how things were done and what concepts were important.
  • In the last 3 days of the trial I have taken the 150+ questions exam at the end of the learning path and got 75% on the first try. I have taken it 2 or 3 more times, but as I started to remember questions I no longer considered it that useful to figure out what I still don't know.
  • By that time I have also started to read white papers from Amazon on topics that were lightly touched by Cloud Academy, e.g. EBS RAID configurations and Route 53 special record types, health checks and failovers.
  • I also got 4 apps from the Google Play Store, I found "AWS Architect - Associate" and "Cloud Pros- AWS Certified Arch" best. At that point I was already above the 90% passing threshold, though, and could not find many questions online I could not provide the expected correct answer to.
  • I have also taken the practice exam from Amazon (a $20 cost). Please note that the questions do not change so taking it once and taking photos of the screen really helps on figuring out the failed questions. Nevertheless, I got 90% and scheduled myself a slot for "the real thing".
  • May 27th - I went to the testing center and passed the AWS CSA(A) exam with 83%; I assume this is an average passing score. Amazon doesn't tell what is the failing threshold, but tells you how well you did in 4 areas (I had 80-85-90% in all of them).

On the exam itself:

  • I got one question from the sample questions and one from the practice exam; they were on the simpler side.
  • 33% are "easy", in the sense that fall in the "is water wet? true/false" type - relative to the AWS concepts, though.
  • 33% are "average", more like "what feels wetter, water or oil?"
  • 33% are hard or even crazy, covering all sorts of service details or requiring you to provide answers in the line of Amazon recommendations regarding certain service usage.
  • About half of them are multiple answer, with no partial points given.
  • Oh, don't look for dumps, Amazon has hundreds of possible questions out of which a subset is being given for each exam, there simply is no way to pass such exam with brain dumps, so forget it.

That's it. I'm the number 16.891, not sure if this is small or big, or even if it matters.

A redditor on r/aws gave awesome tips about the exam day

Passing the AWS solutions architect - Associate exam > The Exam

Exam Registration fee is USD 150
You have 80 minutes to complete a 40 quizzes exam. Most of the questions are up to 3 lines long in the multiple choice format. You should consider no more than 1.5/2 minutes per question if you want to read each question carefully and answer to all of them correctly.
It's possible to set a question for review and skip, you can get back to what you marked in this way at the end.

Now you're ready to go. Here's where you book your exam!

Passing the AWS solutions architect - Professional Exam > Exam Overview

This is a curated list of hands-on material to help you passing this AWS Certification! This advanced list of selected points are especially for students who already have a working knowledge of AWS and who have passed the Solutions Architect - Associate Certification for AWS exam (prerequisite for sitting the Solutions Architect - Professional Certification for AWS exam). This should be helpful to build and develop your skills as an AWS professional.


Exam Overview

  1. Multiple choice and multiple answer questions
  2. 170 minutes to complete the exam. It's all multiple choice on a PC
  3. Exam available in English and Japanese
  4. Practice Exam Registration fee is USD 40
  5. The Exam blueprint specified that there would be 100+ questions given in a 180 minute period and did not specify a pass grade.
  6. The exam will test your knowledge with 80 questions
  7. In terms of question complexity, it requires a good understanding of all available AWS services
  8. AWS Certification passing scores are set by using statistical analysis and are subject to change. AWS does not publish exam passing scores because exam questions and passing scores are subject to change without notice
  9. Exam Registration fee is USD 300
  10. Recommend taking Advanced Architecting on AWS
  11. Sample questions for the exam are available here.

What should I bring to an AWS Certification exam?

-

Candidates must show two forms of personal identification (ID). Primary form must be a valid, government-issued ID containing both a photo and signature. The secondary form of ID needs to be valid and contain a signature.
Acceptable Forms of Primary ID (name, photograph, signature, valid/current):

  • Government-issued Driver’s license
  • U.S. Department of State Driver’s License
  • National/State/Country Identification Card
  • Passport
  • Passport cards
  • Military ID
  • Alien Registration Card (Green Card, Permanent Resident Visa)
Note: Irish natives may use a Public Services Card as a primary form of identification, in Ireland only.
  • Acceptable forms of Secondary ID (name, signature, valid/current):
  • U.S. Social Security Card
  • Debit/(ATM) Card
  • Credit Card
  • School ID (without a signature for minors is acceptable) any form of ID on the primary list

Note: In Japan, the blue colored (not pink) Health Insurance Card is an acceptable form of secondary identification.
However, the paper form of the Health Insurance is not acceptable.
You can NOT bring food, laptops, backpacks, notepads, or other personal equipment to the test area. For all exams, you can request a whiteboard and marker (some centers may hand out paper and pencil), which must be returned before you leave. During check in you’ll be asked to turn out your pockets (on jackets, pants, etc.) to verify they’re empty and free of prohibited items. Eyewear will also be inspected to ensure that it’s not technology-enabled.

Passing the AWS solutions architect - Professional exam > Prerequisites & Requirements


To be eligible for this exam, you must already be certified at the AWS Certified Solutions Architect – Associate Level. You should have multiple years of hands-on experience designing and deploying cloud architecture on AWS, along with the ability to evaluate cloud application requirements and make architectural recommendations for implementation, deployment, and provisioning applications on AWS. Additionally, you should have the experience and the capability to provide best practices guidance on the architectural design across multiple applications, projects, or the enterprise.

Note that in the event that you fail to pass an AWS certification exam, you may retake the exam subject to the following conditions:

a. You must wait 14 days from the day you fail to take the exam again
b. You can take an exam up to three times in one year from the date of your first attempt

This is valid for any AWS Certifiation Exam.

To pass the AWS Certified Solutions Architect - Professional exam, you have to master advanced and technical skills, not to mention the experience in designing distributed applications and systems using AWS. Check the short list below to understand you need to master in order to pass the exam.

Exam concepts you should understand for this exam include:

  1. Designing and deploying dynamically scalable, highly available, fault tolerant, and reliable applications on AWS
  2. Selecting appropriate AWS services to design and deploy an application based on given requirements
  3. Migrating complex, multi-tier applications on AWS
  4. Designing and deploying enterprise-wide scalable operations on AWS
  5. Implementing cost control strategies

Candidate Overview

This exam tests your knowledge of advanced AWS use cases. Eligible candidates for this exam have:

  1. Achieved AWS Certified Solutions Architect - Associate
  2. 2+ years hands-on experience designing and deploying cloud architecture on AWS
  3. Abilities to evaluate cloud application requirements and make architectural recommendations for implementation, deployment, and provisioning applications on AWS.
  4. Capabilities to provide best practices guidance on the architectural design across multiple applications, projects, or the enterprise.

Key Points to pass the Exam:

Demonstrate ability to architect the appropriate level of availability based on stakeholder requirements

  1. Stakeholder requirements is key phrase here – look at what the requirements are first before deciding the best way to architect the solution
  2. What is availability? Basically up time. Does the customer need 99.99% up time or less? Which products may need to be used to meet this requirement?
  3. Look at products which are single AZ, multi AZ and multi region. It may be the case that a couple of instances in a single AZ will suffice if cost is a factor
  4. CloudWatch can be used to perform EC2 or auto scaling actions when status checks fail or metrics are exceeded (alarms, etc)

Demonstrate ability to implement DR for systems based on RPO and RTO

  1. What is DR? It is the recovery of systems, services and applications after an unplanned period of downtime.
  2. What is RPO? Recovery Point Objective. At which point in time do we need to get back to when DR processes are invoked? 3. 3. This would come from a customer requirement – when systems are recovered, data is consistent from 30 minutes prior to the outage, or 1 hour, or 4 hours etc. What is acceptable to the stakeholder?
  3. What is RTO? Recovery Time Objective. How quickly must systems and services be recovered after invoking DR processes? It may be that all critical systems must be back online within a maximum of four hours.
  4. RTO and RPO are often paired together to provide an SLA to end users as to when services will be fully restored and how much data may be lost. For example, an RTO of 2 hours and an RPO of 15 minutes would mean all systems would be recovered in two hours or less and consistent to within 15 minutes of the failure.
  5. How can low RTO be achieved? This can be done by using elastic scaling, for example or using monitoring scripts to power up new instances using the AWS API. You may also use multi AZ services such as EBS and RDS to provide additional resilience
  6. How can low RPO be achieved? This can be done by using application aware and consistent backup tools, usually native ones such as VSS aware ones from Microsoft or RMAN for Oracle, for example. Databases and real time systems may need to be acquiesced to obtain a crash consistent backup. Standard snapshot tools may not provide this. RMAN can backup to S3 or use point in time snapshots using RDS. RMAN is supported on EC2. Use data dump to move large databases.
  7. AWS has multi AZ, multi region and services like S3 which has 11 nines of durability with cross region replication
  8. Glacier – long term archive storage. Cheap but not appropriate for fast recovery (several hours retrieval SLA)
  9. Storage Gateway is a software appliance that sits on premises that can operate in three modes – gateway cached (hot data kept locally but most data stored in S3), gateway stored (all data kept locally but also replicated to S3) and VTL-Tape Library (virtual disk tapes stored in S3, virtual tape shelf stored in Glacier)
  10. You should use gateway cached when the requirement is for low cost primary storage with hot data stored locally
  11. Gateway stored keeps all data locally but takes asynchronous snapshots to S3
  12. Gateway cached volumes can store 32TB of data, 32 volumes are supported (32 x 32, 1PB)
  13. Gateway stored volumes are 16TB in size, 12 volumes are supported (16 x 12, 192TB)
  14. Virtual tape library supports 1500 virtual tapes in S3 (150 TB total)
  15. Virtual tape shelf is unlimited tapes (uses Glacier)
  16. Storage Gateway can be on premises or EC2. Can also schedule snapshots, supports Direct Connect and also bandwidth throttling.
  17. Storage Gateway supports ESXi or Hyper-V, 7.5GB RAM, 75GB storage, 4 or 8 vCPU for installation. To use the Marketplace appliance, you must choose xlarge instance or bigger and m3, i2, c3, c4, r3, d2, or m4 instance types
  18. Gateway cached requires a separate volume as a buffer upload area and caching area
  19. Gateway stored requires enough space to hold your full data set and also an upload buffer VTL also requires an upload buffer and cache area
  20. Ports required for Storage Gateway include 443 (HTTPS) to AWS, port 80 for initial activation only, port 3260 for iSCSI internally and port 53 for DNS (internal)
  21. Gateway stored snapshots are stored in S3 and can be used to recover data quickly. EBS snapshots can also be used to create a volume to attach to new EC2 instances
  22. Can also use gateway snapshots to create a new volume on the gateway itself
  23. Snapshots can also be used to migrate cached volumes into stored volumes, stored volumes into cached volumes and also snapshot a volume to create a new EBS volume to attach to an instance
  24. Use System Resource Check from the appliance menu to ensure the appliance has enough virtual resources to run (RAM, vCPU, etc.)
  25. VTL virtual tape retrieval is instantaneous, whereas Tape Shelf (Glacier) can take up to 24 hours
  26. VTL supports Backup Exec 2012-15, Veeam 7 and 8, NetBackup 7, System Center Data Protection 2012, Dell NetVault 10
  27. Snapshots can either be scheduled or done ad hoc
  28. Writes to S3 get throttled as the write buffer gets close to capacity – you can monitor this with CloudWatch
  29. EBS – Elastic Block Store – block based storage replicated across hosts in a single AZ in a region
  30. Direct Connect – connection directly into AWS’s data centre via a trusted third party. This can be backed up with standby Direct Connect links or even software VPN
  31. Route53 also has 100% uptime SLA, Elastic Load Balancing and VPC can also provide a level of resilience if required
  32. DynamoDB has three copies per region and also can perform multi-region replication
  33. RDS also supports multi-AZ deployments and read only replicas of data. 5 read only replicas for MySQL, MariaDB and PostGres, 15 for Aurora
  34. There are four DR models in the AWS white paper:
  • Backup and restore (cheap but slow RPO and RTO, use S3 for quick restores and AWS Import/Export for large datasets)
  • Pilot Light (minimal replication of the live environment, like the pilot light in a gas heater, it’s used to bring services up with the smallest footprint running in DR. AMIs ready but powered off, brought up manually or by autoscaling
  • Data must be replicated to DR from the primary site for failover)
  • Warm Standby (again a smaller replication of the live environment but with some services always running to facilitate a quicker failover. It can also be the full complement of servers but running on smaller instances than live. Horizontal scaling is preferred to add more instances to a load balancer)
  • Multi-site (active/active configuration where DNS sends traffic to both sites simultaneously. Auto scaling can also add instances for load where required. DNS weighting can be used to route traffic accordingly). DNS weighting is done as a percentage, so if two records have weightings of 10, then the overall is 20 and the percentage is 50% chance of either being used, this is round robin. Weights of 10 and 40 would mean a total of weight 50, with 1 in 5 chance of weight 10 DNS record being used
  1. Import/Export can import data sets into S3, EBS or Glacier. You can only export from S3
  2. Import/Export makes sense for large datasets that cannot be moved or copied into AWS over the internet in an efficient manner (time, cost, etc)
  3. AWS will export data back to you encrypted with TrueCrypt
  4. AWS will wipe devices after import if specified
  5. If exporting from an S3 bucket with versioning enabled, only the most recent version is exported
  6. Encryption for imports is optional, mandatory for exports
  7. Some services have automated backup:
  • RDS
  • Redshift
  • Elasticache (Redis only)
  1. EC2 does not have automated backup. You can use either EBS snapshots or create an AMI Image from a running or stopped instance. The latter option is especially useful if you have an instance storage on the host which is ephemeral and will get deleted when the instance is stopped (Bundle Instance). You can “copy” the host storage for the instance by creating an AMI, which can then be copied to another region
  2. To restore a file on a server for example, take regular snapshots of the EBS volume, create a volume from the snapshot, mount the volume to the instance, browse and recover the files as necessary
  3. MySQL requires InnoDB for automated backups, if you delete an instance then all automated backups are deleted, manual DB snapshots stored in S3 are not deleted
  4. All backups are stored in S3 When you do an RDS restore, you can change the engine type (SQL Standard to Enterprise, for example), assuming you have enough storage space.
  5. Elasticache automated backups snapshot the whole cluster, so there will be performance degradation whilst this takes place. Backups are stored on S3.
  6. Redshift backups are stored on S3 and have a 1 day retention period by default and only backs up delta changes to keep storage consumption to a minimum
  7. EC2 snapshots are stored in S3 and are incremental and each snapshot still contains the base snapshot data. You are only charged for the incremental snapshot storage

Determine appropriate use of multi-Availability Zones vs. multi-Region architectures

  1. Multi-AZ services examples are S3, RDS, DynamoDB. Using multi-AZ can mitigate against the loss of up to two AZs (data centres, assuming there are three. Some regions only have two). This can provide a good balance between cost, complexity and reliability
  2. Multi-region services can mitigate failures in AZs or individual regions, but may cost more and introduce more infrastructure and complexity. Use ELB for multi-region failover and resilience, CloudFront
  3. DynamoDB offers cross region replication, RDS offers the ability to snapshot from one region to another to have read only replicas. Code Pipeline has a built in template for replicating DynamoDB elsewhere for DR
  4. Redshift can snapshot within the same region and also replicate to another region

Demonstrate ability to implement self-healing capabilities

  1. HA available already for most popular databases:-
  2. SQL Server Availability Groups, SQL Mirroring, log shipping. Read replicas in other AZs not supported
  3. MySQL – Asynchronous mirroring
  4. Oracle – Data Guard, RAC (RAC not supported on AWS but can run on EC2 by using VPN and Placement Groups as multicast is not supported)
  5. RDS has multi-AZ automatic failover to protect against
  6. Loss of availability in primary AZ
  7. Loss of connectivity to primary DB
  8. Storage or host failure of primary DB
  9. Software patching (done by AWS, remember)
  10. Rebooting of primary DB
  11. Uses master and slave model
  12. MySQL, Oracle and Postgres use physical layer replication to keep data consistent on the standby instance
  13. SQL Server uses application layer mirroring but achieves the same result
  14. Multi-AZ uses synchronous replication (consistent read/write), asynchronous (potential data loss) is only used for read replicas
  15. DB backups are taken from the secondary to reduce I/O load on the primary
  16. DB restores are taken from the secondary to avoid I/O suspension on the primary
  17. AZ failover can be forced by rebooting your instance either via the console or via the RebootDBInstance API call
  18. Multi-AZ databases are used for DR, not as a scaling solution. Scale can be achieved by using read replicas, this can be done via the AWS console or by using the CreateDBInstanceReadReplica API call
  19. Amazon Aurora employs a highly durable, SSD-backed virtualized storage layer purpose-built for database workloads.
  20. Amazon Aurora automatically replicates your volume six ways, across three Availability Zones. Amazon Aurora storage is fault-tolerant, transparently handling the loss of up to two copies of data without affecting database write availability and up to three copies without affecting read availability. Amazon Aurora storage is also self-healing. Data blocks and disks are continuously scanned for errors and replaced automatically.
  21. Creating a read replica means a snapshot of your primary DB instance, this may result in a pause of about a minute in non multi-AZ deployments
  22. Multi-AZ deployments will use a secondary for a snapshot
  23. A new DNS endpoint address is given for the read only replica, you need to update the app
  24. You can promote a read only replica to be a standalone, but this breaks replication
  25. MySQL and Postgres can have up to 5 replicas
  26. Read replicas in different regions for MySQL only
  27. Replication is asynchronous only
  28. Read replicas can be built off Multi-AZ databases
  29. Read replicas are not multi-AZ
  30. MySQL can have read replicas of read replicas, but this increases latency
  31. DB Snapshots and automated backups cannot be taken of read replicas
  32. Consider using DynamoDB instead of RDS if your database does not require:-
  33. Transaction support
  34. Atomicity
  35. Consistency
  36. Isolation
  37. Durability
  38. ACID (durability) compliance
  39. Joins
  40. SQL

Credits to Chris Beckett @ BlueClouds

Passing the AWS solutions architect - Professional exam > General Learning Material

To prepare at best for the exam you should start with an overview of the concepts and knowledge areas covered on the exam and walks you through the exam structure and question formats. Get an hands-on practice with advanced use cases, while practice exam questions test your understanding of key architectural concepts.
  1. Solutions Architect— Professional Certification for AWS (2016)
  2. A Guide to AWS Certification Exams
  3. AWS Best Practices for DDoS Resiliency
  4. Amazon Kinesis Streams FAQs
  5. Amazon Kinesis Streams: Developer Guide
  6. AWS Identity and Access Management User Guide
  7. Amazon CloudFront - Dynamic Content Delivery
  8. Amazon Redshift FAQs
  9. Amazon AWS Certified Solutions Architect: What to Study, Tips and Resources
  10. VPC Migration: NATs & Bandwidth Bottleneck
  11. Amazon Simple Notification Service Developer Guide
  12. Amazon Simple Storage Service Developer Guide
  13. Amazon Virtual Private Cloud User Guide
13. Best Practices for Migrating from RDBMS to Amazon DynamoDB 14. AWS Certification Exams: What to expect at the Exam 15. Enabling Federation to AWS Using Windows Active Directory, ADFS, and SAML 2.0 16. AWS Certified Solutions Architect – Professional Level Sample Exam Questions 17. AWS Certified Solutions Architect Professional Exam Blueprint 18. Cloud Architectures with AWS Direct Connect (ARC304) | AWS re:Invent 2013 19. AWS re: Invent STG 204: Using AWS Storage Gateway 20. Storage TCO using AWS Storage Gateway, Amazon S3 and Amazon Glacier (STG202) | AWS re:Invent 2013 21. AWS re:Invent 2014 | (ARC206) Architecting Reactive Applications on AWS (Playlist) 22. AWS June Webinar Series - Deep dive: Hybrid Architectures 23. AWS January 2016 Webinar Series - Managing your Infrastructure as Code 24. Complete AWS IAM Reference 25. Free Templates for AWS CloudFormation 26. How to study for the AWS Solutions Architect Professional Certification (Webinar) 27. Interview with 5 AWS Certified Greg Cockburn (Podcast) 28. Interview with 5 AWS Certified Stephen Wilding (Podcast)

Passing the AWS solutions architect - Professional Exam > Blueprints Exam

In this PDF you can download the Sample Question provided by AWS We reviewed all the questions provided by AWS and you can find the correct answers marked in bold.

Which AWS based disaster recovery strategy will give you the best RTO?

A) Deploy the Oracle database and the JBoss app server on EC2. Restore the RMAN Oracle backups from Amazon S3. Generate an EBS volume of static content from the Storage Gateway and attach it to the JBoss EC2 server.
B) Deploy the Oracle database on RDS. Deploy the JBoss app server on EC2. Restore the RMAN Oracle backups from Amazon Glacier. Generate an EBS volume of static content from the Storage Gateway and attach it to the JBoss EC2 server.
C) Deploy the Oracle database and the JBoss app server on EC2. Restore the RMAN Oracle backups from Amazon S3. Restore the static content by attaching an AWS Storage Gateway running on Amazon EC2 as an iSCSI volume to the JBoss EC2 server.
D) Deploy the Oracle database and the JBoss app server on EC2. Restore the RMAN Oracle backups from Amazon S3. Restore the static content from an AWS Storage Gateway-VTL running on Amazon EC2

An ERP application is deployed in multiple Availability Zones in a single region. In the event of failure, the RTO must be less than 3 hours, and the RPO is 15 minutes. The customer realizes that data corruption occurred roughly 1.5 hours ago. Which DR strategy can be used to achieve this RTO and RPO in the event of this kind of failure?

A) Take 15-minute DB backups stored in Amazon Glacier, with transaction logs stored in Amazon S3 every 5 minutes.
B) Use synchronous database master-slave replication between two Availability Zones.
C) Take hourly DB backups to Amazon S3, with transaction logs stored in S3 every 5 minutes.
D) Take hourly DB backups to an Amazon EC2 instance store volume, with transaction logs stored in Amazon S3 every 5 minutes.

The Marketing Director in your company asked you to create a mobile app that lets users post sightings of good deeds known as random acts of kindness in 80-character summaries. You decided to write the application in JavaScript so that it would run on the broadest range of phones, browsers, and tablets. Your application should provide access to Amazon DynamoDB to store the good deed summaries. Initial testing of a prototype shows that there aren’t large spikes in usage. Which option provides the most costeffective and scalable architecture for this application?

A) Provide the JavaScript client with temporary credentials from the Security Token Service using a Token Vending Machine (TVM) on an EC2 instance to provide signed credentials mapped to an Amazon Identity and Access Management (IAM) user allowing DynamoDB puts and S3 gets. You serve your mobile application out of an S3 bucket enabled as a web site. Your client updates DynamoDB.
B) Register the application with a Web Identity Provider like Amazon, Google, or Facebook, create an IAM role for that provider, and set up permissions for the IAM role to allow S3 gets and DynamoDB puts. You serve your mobile application out of an S3 bucket enabled as a web site. Your client updates DynamoDB.
C) Provide the JavaScript client with temporary credentials from the Security Token Service using a Token Vending Machine (TVM) to provide signed credentials mapped to an IAM user allowing DynamoDB puts. You serve your mobile application out of Apache EC2 instances that are load-balanced and autoscaled. Your EC2 instances are configured with an IAM role that allows DynamoDB puts. Your server updates DynamoDB.
D) Register the JavaScript application with a Web Identity Provider like Amazon, Google, or Facebook, create an IAM role for that provider, and set up permissions for the IAM role to allow DynamoDB puts. You serve your mobile application out of Apache EC2 instances that are load-balanced and autoscaled. Your EC2 instances are configured with an IAM role that allows DynamoDB puts. Your server updates DynamoDB.

You are building a website that will retrieve and display highly sensitive information to users. The amount of traffic the site will receive is known and not expected to fluctuate. The site will leverage SSL to protect the communication between the clients and the web servers. Due to the nature of the site you are very concerned about the security of your SSL private key and want to ensure that the key cannot be accidentally or intentionally moved outside your environment. Additionally, while the data the site will display is stored on an encrypted EBS volume, you are also concerned that the web servers’ logs might contain some sensitive information; therefore, the logs must be stored so that they can only be decrypted by employees of your company. Which of these architectures meets all of the requirements?

A) Use Elastic Load Balancing to distribute traffic to a set of web servers. To protect the SSL private key, upload the key to the load balancer and configure the load balancer to offload the SSL traffic. Write your web server logs to an ephemeral volume that has been encrypted using a randomly generated AES key.
B) Use Elastic Load Balancing to distribute traffic to a set of web servers. Use TCP load balancing on the load balancer and configure your web servers to retrieve the private key from a private Amazon S3 bucket on boot. Write your web server logs to a private Amazon S3 bucket using Amazon S3 server-side encryption.
C) Use Elastic Load Balancing to distribute traffic to a set of web servers, configure the load balancer to perform TCP load balancing, use an AWS CloudHSM to perform the SSL transactions, and write your web server logs to a private Amazon S3 bucket using Amazon S3 server-side encryption.
D) Use Elastic Load Balancing to distribute traffic to a set of web servers. Configure the load balancer to perform TCP load balancing, use an AWS CloudHSM to perform the SSL transactions, and write your web server logs to an ephemeral volume that has been encrypted using a randomly generated AES key.

You are designing network connectivity for your fat client application. The application is designed for business travelers who must be able to connect to it from their hotel rooms, cafes, public Wi-Fi hotspots, and elsewhere on the Internet. You do not want to publish the application on the Internet. Which network design meets the above requirements while minimizing deployment and operational costs?

A) Implement AWS Direct Connect, and create a private interface to your VPC. Create a public subnet and place your application servers in it.
B) Implement Elastic Load Balancing with an SSL listener that terminates the back-end connection to the application.
C) Configure an IPsec VPN connection, and provide the users with the configuration details. Create a public subnet in your VPC, and place your application servers in it.
D) Configure an SSL VPN solution in a public subnet of your VPC, then install and configure SSL VPN client software on all user computers. Create a private subnet in your VPC and place your application servers in it.

Your company hosts an on-premises legacy engineering application with 900GB of data shared via a central file server. The engineering data consists of thousands of individual files ranging in size from megabytes to multiple gigabytes. Engineers typically modify 5-10 percent of the files a day. Your CTO would like to migrate this application to AWS, but only if the application can be migrated over the weekend to minimize user downtime. You calculate that it will take a minimum of 48 hours to transfer 900GB of data using your company’s existing 45-Mbps Internet connection. After replicating the application’s environment in AWS, which option will allow you to move the application’s data to AWS without losing any data and within the given timeframe?

A) Copy the data to Amazon S3 using multiple threads and multi-part upload for large files over the weekend, and work in parallel with your developers to reconfigure the replicated application environment to leverage Amazon S3 to serve the engineering files.
B) Sync the application data to Amazon S3 starting a week before the migration, on Friday morning perform a final sync, and copy the entire data set to your AWS file server after the sync completes.
C) Copy the application data to a 1-TB USB drive on Friday and immediately send overnight, with Saturday delivery, the USB drive to AWS Import/Export to be imported as an EBS volume, mount the resulting EBS volume to your AWS file server on Sunday.
D) Leverage the AWS Storage Gateway to create a Gateway-Stored volume. On Friday copy the application data to the Storage Gateway volume. After the data has been copied, perform a snapshot of the volume and restore the volume as an EBS volume to be attached to your AWS file server on Sunday.


The Exam Day

Just a couple of suggestions to pass the AWS Solutions Architect Professional level certification:

  1. Wake up early every day and have a nice breakfast in the morning
  2. No coffee, try to eat a banana and a cup of orange juice every morning
  3. Practice with our specific resources for the AWS Certifications
  4. Drink water every day
  5. Get the most out of this GitHub repository
  6. Rewatch the AWS Solution Architect Professional level certification detailed study-guide with tips and tricks on how to pass the certification
  7. AWS Youtube channel: watch as many of the technical seminars and re:Invent presentations as you can. Then re-watch. Make notes.
  8. I would say that your chance of passing the course if you have not have had any practical experience to be seriously compromised. You have no excuse, get an account, login and play.
  9. Do some sport every day to reset your mind out of work and try to sleep 7h every night
  10. Repeat
  11. Once you are feeling confident enough you are ready to take a practice exam here
  12. Smile at least once every day
  13. Have fun

If you've found this gist useful you can follow me @leonardofed for more info about AWS Certifications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment