Designing for Failure
Designing for high availability, fault tolerance and cost efficiency
High Availability in RDS
High Availability in Amazon Aurora
High Availability in DynamoDB
The course is part of this learning path
This section of the Solution Architect Associate learning path introduces you to the High Availability concepts and services relevant to the SAA-C03 exam. By the end of this section, you will be familiar with the design options available and know how to select and apply AWS services to meet specific availability scenarios relevant to the Solution Architect Associate exam.
- Learn the fundamentals of high availability, fault tolerance, and back up and disaster recovery
- Understand how a variety of Amazon services such as S3, Snowball, and Storage Gateway can be used for back up purposes
- Learn how to implement high availability practices in Amazon RDS, Amazon Aurora, and DynamoDB
On demand backups allow you to request a full backup of a table, as it is at the very moment the backup request is made. On demand backups are manually requested, and can be performed either through the AWS DynamoDB console or by using the AWS CLI.
On demand backups are useful in the following situations:
- Table corruption - rare but possible
- Long term regulatory, compliance, and/or auditing data requirements
- Testing scenarios
Scheduling on demand backups provides you with the ability to restore table data back to a point in time. On demand backups can be requested anytime and there is no limit to the number of them nor their retention period. On demand backups remain in the account until they are explicitly requested to be deleted by an administrator.
Backups when requested and performed typically finish within seconds, and have zero impact on the table performance and availability.
Let’s perform a quick demonstration of performing an on demand backup using the AWS CLI.
Jumping into the terminal, I’ll execute the “aws dynamodb create-backup” command specifying it to back up the “cloudacademy-courses” table located in the us-west-2 region, and give it the backup name “backup1.”
aws dynamodb create-backup \
--region us-west-2 \
--table-name cloudacademy-courses \
This has resulted in the following output which indicates that the backup is being created.
We can then run the “aws dynamodb describe-backup” command specifying the backup arn and copying the backup arn from the previous output.
This time we can see that the backup is now available and ready.
We can also jump in the AWS DynamoDB console and select the Backups option on the table to view all table backups including the backup we just made.
Lets now restore it within the console. To do so I’ll select it and then click the restore button. I’ll give it the name “cloudacademy-courses-backup”. I’ll leave all defaults as is and then simply click the restore table button. And with that our backup is now getting restored. This typically takes approximately 2 to 5 minutes to become available.
I’ll skip the demo along to the point where the backup has completed restoring. Clicking on the newly restored table, and then selecting the items tab - we can indeed see that it contains all of the items captured at the time the backup was created.
Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.
To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.
Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.
He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.
In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.
Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.