AWS Webcast - High Availability SQL Server with Amazon RDS

Preview:

DESCRIPTION

Amazon RDS for Microsoft SQL Server makes it easy to set up, operate, and scale SQL Server deployments in the cloud. Amazon RDS Multi-AZ deployments provide enhanced availability and durability, making them a natural fit for production database workloads. Review this webinar to learn more about this easy way to achieve highly available operation of SQL Server. When you provision a Multi-AZ DB Instance, Amazon RDS automatically creates a primary DB Instance and synchronously replicates the data to a standby instance in a different Availability Zone (AZ). Each AZ runs on its own physically distinct, independent infrastructure, and is engineered to be highly reliable. Amazon RDS performs an automatic failover to the standby, with no administrator intervention required, so that your application can resume database operations as soon as the failover is complete.

Citation preview

High Availability SQL Server with

Amazon RDS

Sergei Sokolenko

Sr Product Manager

Amazon Relational Database Service

If you host your databases on-premises

Power, HVAC, net

Rack & stack

Server maintenance

OS patches

DB s/w patches

Database backups

Scaling

High availability

DB s/w installs

OS installation

you

App optimization

If you host your databases on-premises

Power, HVAC, net

Rack & stack

Server maintenance

OS patches

DB s/w patches

Database backups

Scaling

High availability

DB s/w installs

OS installation

you

App optimization

If you host your databases in EC2

Power, HVAC, net

Rack & stack

Server maintenance

OS patches

DB s/w patches

Database backups

Scaling

High availability

DB s/w installs

OS installation

you

App optimization

If you host your databases in EC2

OS patches

DB s/w patches

Database backups

Scaling

High availability

DB s/w installs

you

App optimization

Power, HVAC, net

Rack & stack

Server maintenance

OS installation

If you choose a managed DB service like RDS SQL

Server

Power, HVAC, net

Rack & stack

Server maintenance

OS patches

DB s/w patches

Database backups

App optimization

High availability

DB s/w installs

OS installation

you

Scaling

Introducing Multi-AZ support for RDS SQL Server

Power, HVAC, net

Rack & stack

Server maintenance

OS patches

DB s/w patches

Database backups

App optimization

High availability

DB s/w installs

OS installation

you

Scaling

Amazon RDS Multi-AZ

Few clicks or One API call

High Availability via Amazon RDS Multi-AZ

Do It Yourself SQL Server

Potentially ~100+ Manual steps

Set up primary and standby instances

Create synchronous replication

Create and manage DNS entries

Detect instance failure conditions

Detect network failure conditions

Detect storage failure conditions

Decide when to fail-over….

Re-establish primary secondary connections.

What are Multi-AZ deployments?

• Primary and Standby in

different Availability Zones

• Synchronous replication of

Primary to Standby

• Automated failover to

Standby in case of failures

Application

Primary in

AZ “-1a”

Standby in

AZ “-1b”

mydb.{…}.rds.amazonaws.com

us-east-1

What are Multi-AZ deployments?

Application

Primary in

AZ “-1a”

Standby in

AZ “-1b”

mydb.{…}.rds.amazonaws.com

us-east-1

• Primary and Standby in

different Availability Zones

• Synchronous replication of

Primary to Standy

• Automated failover to

Standby in case of failures

What are Multi-AZ deployments?

Application

Primary in

AZ “-1b”

mydb.{…}.rds.amazonaws.com

us-east-1

• Primary and Standby in

different Availability Zones

• Synchronous replication of

Primary to Standy

• Automated failover to

Standby in case of failures

What are Multi-AZ deployments?

Application

Standby in

AZ “-1*”

Primary in

AZ “-1b”

us-east-1

mydb.{…}.rds.amazonaws.com

• Primary and Standby in

different Availability Zones

• Synchronous replication of

Primary to Standy

• Automated failover to

Standby in case of failures

Demo:

Creating a Multi-AZ database

How to change your application architecture for high

availability

Single-AZ RDS

database instance

Application, running on

Amazon EC2 instances

Elastic Load Balancer

instance

A resilient, still simple application architecture

RDS database instances:

Primary and Multi-AZ

standby

Application, in Amazon

EC2 instances, in each AZ

Elastic Load Balancer

instance

AZ “-1a” AZ “-1b” AZ “-1c”

… thriving even when an entire AZ becomes

unavailable

Old Standby becomes the

Primary, a new standby gets

created in an available AZ

Application instances

switch over to the new

Primary

Elastic Load Balancer

instance

AZ “-1a” AZ “-1b” AZ “-1c”

How to speed up failovers

• Failover Phases – Failure Detection,

– Standby Promotion,

– DNS Update and Propagation,

– Crash Recovery

• Crash Recovery = f(storage type)

• Provisioned IOPS recovery is faster

How to detect and test failovers

• Configure DB Events

notifications

• Receive Notifications

via Email or SMS

• Use the rds-reboot-db-instance

CLI to initiate a test failover

• Initiate failover via the Reboot

command in RDS Console

Demo:

Multi-AZ Failover

FAQ Q. What RDS database editions and versions are supported with Multi-AZ?

A. Standard and Enterprise Editions, SQL Server 2008R2 and 2012.

Q. Which AWS regions support SQL Server Multi-AZ?

A. US East (Northern Virginia), US West (Oregon), and EU (Ireland). We plan to support

other regions in the future.

Q. Can I setup Multi-AZ across multiple AWS regions?

A. Cross-region Multi-AZ is not supported.

A. Interested in cross region disaster recovery? Try our cross region snapshot copy.

Q. How do I manage Users, Logins, and Permissions on the Secondary?

A. RDS will automatically replicate changes on the Primary to the Secondary, including

Users, Logins, Permissions.

Sign up and learn more about Amazon RDS

• Amazon RDS for SQL Server home page:

http://aws.amazon.com/rds/sqlserver/

• Amazon RDS Frequently Asked Questions:

http://aws.amazon.com/rds/faqs/

• Links to Import Guides for each engine:

http://aws.amazon.com/rds/faqs/#9

Next steps

• Snapshot your DB

• Restore snapshot to a

test instance

• Convert it to Multi-AZ

• Adjust application to

retry DB connection

Next steps

• Snapshot your DB

• Restore snapshot to a

test instance

• Convert it to Multi-AZ

• Adjust application to

retry DB connection

Next steps

• Snapshot your DB

• Restore snapshot to a

test instance

• Convert it to Multi-AZ

• Adjust application to

retry DB connection Primary in

AZ “-1a”

Next steps

• Snapshot your DB

• Restore snapshot to a

test instance

• Convert it to Multi-AZ

• Adjust application to

retry DB connection Primary in

AZ “-1a”

Standby in

AZ “-1b”

Thank you