Menus

AWS High Availability

In this article, we’ll explain the concept of high availability and how to measure availability for IT systems. We’ll show how AWS can help you achieve high availability for cloud workloads, across compute, SQL databases and storage services.

Infrastructure as a Service (IaaS) capabilities such as elastic load balancing, availability zones and auto-scaling can help you achieve high availability for enterprise workloads. In this blog post, you will learn:

  • What is high availability?
  • High availability in AWS compute, databases and storage
  • AWS high availability for EC2 instances
  • AWS high availability for SQL databases on Amazon RDS
  • AWS high availability for storage services

What Is High Availability?

Highly available systems are reliable in the sense that they continue operating even when critical components fail. They are also resilient, meaning that they are able to simply handle failure without service disruption or data loss, and seamlessly recover from such failure. High availability is commonly measured as a percentage of uptime. The number of “nines” is commonly used to indicate the degree of high availability. For example, “four nines” is indicative of a system that is up 99.99% of the time, meaning it is down for only 52.6 minutes during an entire year. The following elements help you implement highly available systems:

  • Redundancy —ensuring that critical system components have another identical component with the same data, that can take over in case of failure.
  • Monitoring —identifying problems in production systems that may disrupt or degrade service.
  • Failover —the ability to switch from an active system component to a redundant component in case of failure, imminent failure, degraded performance or functionality.
  • Failback—the ability to switch back from a redundant component to the primary active component, when it has recovered from failure.

AWS High Availability: Compute, Databases and Storage AWS helps you achieve high availability for cloud workloads, across three different dimensions:

  • Compute—Amazon EC2 and other services that let you provision computing resources, provide high availability features such as load balancing, auto-scaling and provisioning across Amazon Availability Zones (AZ), representing isolated parts of an Amazon data center.
  • SQL databases—Amazon RDS and other managed SQL databases provide options for  automatically deploying databases  with a standby replica in a different AZ.
  • Storage services—Amazon storage services, such as S3, EFS and EBS, provide built-in high availability options. S3 and EFS automatically store data across different AZs, while EBS enables deployment of snapshots to different AZs.

AWS High Availability for EC2 Instances: If you are running instances on Amazon EC2, Amazon provides several built-in capabilities to achieve high availability:

  • Elastic Load Balancing—you can launch several EC2 instances and distribute traffic between them.
  • Availability Zones—you can place instances in different AZs.
  • Auto Scaling—use auto-scaling to detect when loads increase, and then dynamically add more instances. The Elastic Load Balancer distributes traffic between two or more EC2 instances, each of which can potentially be deployed in a separate subnet that resides in a separate Amazon Availability Zone. These instances can be part of an Auto-Scaling Group, with additional instances launched on demand.

AWS High Availability for SQL Databases on Amazon RDS

If you are running an SQL database as part of your AWS application, you are probably running it using Amazon RDS. RDS provides high availability using Multi-Availability Zone (Multi-AZ) deployments. This means RDS automatically provisions a  synchronous replica  of the database in a different availability zone. When the main database instance goes down, users are redirected transparently to the other availability zone.

This provides two levels of redundancy:

  • In case the active database fails, there is a standby replica ready to receive requests
  • In case of a disruption in the AZ your main database instance is running in, there is a failover to another AZ.

You can turn on this capability by specifying ‘Multi-AZ Deployment’ when creating an RDS database instance, either via the RDS Console or the Amazon CLI. Multi-AZ deployments are managed fully automatically, with no administrative intervention.

Note that Multi-AZ deployment is not supported for read-only instances, and you should use read replicas to enable high availability for those instances.

RDS provides the following capabilities per database type:

  • For Oracle, PostgreSQL, MySQL, and MariaDB—high availability using Amazon Multi-AZ technology.
  • For SQL Server—mirroring to another Availability Zone using Microsoft’s SQL Server Database Mirroring technology.

AWS High Availability for Storage Services Here is a brief summary of the high availability capabilities Amazon offers for other popular storage services:

Amazon S3 guarantees 99.999999999% (twelve 9’s) durability, by redundantly storing objects on multiple devices across a minimum of three AZs in an Amazon S3 Region.

Amazon EFS guarantees 99.9% availability, otherwise between 10-100% of the service fee is discounted. Every file system object is redundantly stored across multiple AZs.

Amazon EBS volumes are created in a specific AZ. You can make a volume available in another AZ and it can then be attached to other instances in that same Availability Zone. To make a volume available outside the AZ, or to create redundancy, you can create a snapshot and restore it in another AZ within the same region. You can also copy snapshots to other AWS regions, to create redundancy across Amazon data centres.

Source: AWS

AWS Backup supports both of the scenarios above—it lets you backup data from Amazon EFS, DynamoDB, RDS or EBS, and also from on-premise resources via the AWS Storage Gateway.

AWS Backup doesn’t replace the previous backup technologies offered by AWS. It is a central management interface that brings those technologies together, letting you orchestrate and schedule backups easily in one place.

How Does the New AWS Backup Service Work?

AWS Backup is built around the following concepts:

  • Backup rules —these rules define a backup, specifying a schedule, frequency, and backup window. A backup rule can be applied to specific resources, or to groups of resources defined by tags.
  • Lifecycle rules —define what happens with old backups. For example, you can use lifecycle rules to move backups to cheaper storage tiers, or delete them completely, after a specified period of time.
  • Vaults —backups are grouped into vaults, and each vault is encrypted by a Key Management Service (KMS) key.

AWS Backup lets you define a new backup using the AWS Console, or define one programmatically using a JSON file.

How to Define a Backup Using the AWS Console

Follow the process below to create a new backup plan.

  1. In AWS, click Create Backup Plan and select Build a New Plan.
  2. Select Create a new backup rule —below is an example of a backup that runs daily, moves data to cold storage after a month, and deletes it after 6 months.
  3. Click Create Plan, and then view your plan and click Assign Resources to define what should be backed up using this rule. You need to define IAM roles to AWS Backup with access to each of the resources you would like to back up.
  4. Select which resources you want to backup as part of the backup plan. Below is an example in which we backup an EFS folder, a DynamoDB table, an EBS volume, and all data resources defined by a tag value.
  5. Go to the AWS Backup Dashboard and monitor your new backup job. You can see which backup jobs and restore jobs have been running and their status. We only covered the most basic functionality of AWS Backup, see the  official documentation for more details.

AWS Backup Use Cases

Below are a few common use cases for AWS Backup, and the underlying Amazon backup technologies it manages.

Hybrid Cloud Backup

You can use the AWS Storage Gateway to integrate local storage resources with the Amazon cloud. When you restore from backup, data is automatically copied from Amazon back to your on-premise storage devices. Data is stored in one of the Amazon S3 storage tiers, depending on how quickly or frequently you need to access the data.

AWS Backup lets you automate this process, creating a backup plan that defines a schedule and frequency for backups from on-premises storage to S3.

Database Backup

AWS lets you backup its cloud-based database services—Amazon RDS and DynamoDB, using their built-in backup capabilities. You can also backup self-hosted databases, running on Amazon EC2 instances and stored in EBS volumes, by automating EBS snapshots.

AWS Backup lets you automate all these backups in one place by defining one or more backup plans, and specifying the databases or group of databases you need to backup. You no longer have to define specific backup settings in RDS or DynamoDB, or schedule EBS snapshots—this is done automatically by AWS backup.

Data Lifecycle Management

Amazon S3 provides several storage tiers, which allow you to move data that is used less frequently to cost-effective cold storage. Within S3, you can configure lifecycle policies that automatically move data sets to a cheaper storage class, or delete them altogether, based on predefined criteria.

AWS Backup lets you do this centrally as part of a backup plan. When you define backups, you can specify what happens to your backups after several weeks, months or years—you can automatically define an S3 lifecycle policy to move the data to cold storage or delete it when it is no longer needed.

AWS Backup is priced based on the storage space consumed by your backups. The first time you perform a backup of a data resource, you pay for the full storage space, but from the second backup onwards, you pay only for the storage space added since the last backup.

AWS Backup Pricing

Backup Pricing

If you backup an AWS-based data resource, pricing is as follows (prices are for US East Region, and may change from time to time, see the  official pricing page):

Amazon EFS File System Backup—$0.05 per GB/month

Amazon EBS Volume Snapshot or AWS Storage Gateway Volume Backup—0.05 per GB/Month

Amazon RDS Database Snapshot—$0.095 per GB/Month

Amazon DynamoDB Table Backup—$0.10 per GB/Month

The above prices are for warm storage. AWS Backup only supports cold storage for Amazon EFS backups, at a significantly reduced price of $0.01 per GB/month.

Restore Pricing

Restoring backups is free for EBS, RDS, and Storage Gateway. The following services incur a cost for restoring backups (pricing is for US East Region and may change from time to time):

Amazon EFS —$0.02 per GB for warm storage and $0.03 for cold storage.

Amazon DynamoDB —$0.15 per GB

AWS Backup with Cloud Backup NetApp understands ONTAP better than anyone else, which is why the best backup solution for ONTAP systems is NetApp Cloud Backup. Designed by NetApp specifically for ONTAP, Cloud Backup automatically creates block-level incremental forever backups. These copies are stored in object format and preserve all ONTAP’s storage efficiencies. Your backups are 100X faster to create, easy to restore, and much more reliable than with any other solution.

Cloud Backup simplifies the entire backup process. It’s intuitive, quick to deploy, and managed from the same console as the rest of the NetApp cloud ecosystem. Whether you’re looking for a less expensive way to store your backups, a faster, more capable technology than NDMP, or an easy way to enable a 3-2-1 strategy, Cloud Backup offers the best backup solution for ONTAP.

Learn More About AWS Backup

AWS backup is a substantial expense and a major operational burden for many organizations. Read our additional articles below to learn how to control your costs, automate backups, and leverage NetApp technologies to execute hybrid cloud strategies and gain major storage efficiencies.

AWS Backup Pricing

AWS backup pricing is based on the amount of storage your backups use, and the volume of data you restore when needed.

Data storage is priced per GB-month for backup storage, with two storage tiers for backup data: warm storage and cold storage. In addition, Amazon charges per GB transferred out of storage, with prices depending on the transfer destination.  Learn about AWS Backup pricing and see examples of common pricing scenarios.

Read more: Understanding AWS Backup Pricing

Enquire Now

Ready to unlock the full potential of your business with our cutting-edge cloud solutions?

Take the first step towards success and enquire now to explore how our tailored solutions can revolutionize your operations and drive growth.