Considerations for modernizing Microsoft SQL database service with high availability on Amazon

海外精选
海外精选的内容汇集了全球优质的亚马逊云科技相关技术内容。同时,内容中提到的“AWS” 是 “Amazon Web Services” 的缩写,在此网站不作为商标展示。
0
0
{"value":"Many organizations have applications that require Microsoft SQL Server to run relational database workloads: some applications can be proprietary software that the vendor mandates Microsoft SQL Server to run database service; the other applications can be long-standing, home-grown applications that included Microsoft SQL Server when they were initially developed. When organizations migrate applications to AWS, they often start with lift-and-shift approach and run Microsoft SQL database service on [Amazon Elastic Compute Cloud (Amazon EC2)](https://aws.amazon.com/ec2/). The reason could be this is what they are most familiar with.\n\nIn this post, I share the architecture options to modernize Microsoft SQL database service and run highly available relational data services on Amazon EC2, [Amazon Relational Database Service (Amazon RDS)](https://aws.amazon.com/rds/), and [Amazon Aurora (Aurora)](https://aws.amazon.com/rds/aurora/).\n\n\n#### **Running Microsoft SQL database service on Amazon EC2 with high availability**\n\n\nThis option is the least invasive to existing operations models. It gives you a quick start to modernize Microsoft SQL database service by leveraging the AWS Cloud to manage services like physical facilities. The low-level infrastructure operational tasks—such as server rack, stack, and maintenance—are managed by AWS. You have full control of the database and operating-system–level access, so there is a choice of tools to manage the operating system, database software, patches, data replication, backup, and restoration.\n\nYou can use any Microsoft SQL Server-supported replication technology with your Microsoft SQL Server database on Amazon EC2 to achieve high availability, data protection, and disaster recovery. Common solutions include [log shipping](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/ec2-log-shipping.html), [database mirroring](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/ec2-db-mirroring.html), [Always On availability groups](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/ec2-db-mirroring.html), and [Always On Failover Cluster Instances](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/ec2-fci.html).\n\n***High availability in a single Region***\n\nFigure 1 shows how you can use Microsoft SQL Server on Amazon EC2 across multiple Availability Zones (AZs) within single Region. The interconnects among AZs that are similar to your data center intercommunications are managed by AWS. The primary database is a read-write database, and the secondary database is configured with log shipping, database mirroring, or Always On availability groups for high availability. All the transactional data from the primary database is transferred and can be applied to the secondary database asynchronously for log shipping, and it can either asynchronously or synchronously for Always On availability groups and mirroring.\n\n![image.png](https://dev-media.amazoncloud.cn/497acd50f03743d0b7abdc3a18c092db_image.png)\n\nFigure 1. High availability in a single Region with Microsoft SQL database service on Amazon EC2\n\n***High availability across multiple Regions***\n\nFigure 2 demonstrates how to configure high availability for Microsoft SQL Server on Amazon EC2 across multiple Regions. A secondary Microsoft SQL Server in a different Region from the primary is configured with log shipping, database mirroring, or Always On availability groups for high availability. The transactional data from primary database is transferred via the fully managed backbone network of AWS across Regions.\n\n![image.png](https://dev-media.amazoncloud.cn/376a689c1c274ce8a6b4e22ce3a8ee21_image.png)\n\nFigure 2. High availability across multiple Regions with Microsoft SQL database service on Amazon EC2\n\n\n#### **Replatforming Microsoft SQL Database Service on Amazon RDS with high availability**\n\n\n[Amazon RDS](https://aws.amazon.com/rds/) is a managed database service and responsible for most management tasks. It currently supports Multi-AZ deployments for SQL Server using SQL Server Database Mirroring (DBM) or Always On Availability Groups (AGs) as a high-availability, failover solution.\n\n***High availability in a single Region***\n\nFigure 3 demonstrates the Microsoft SQL database service that is run on Amazon RDS is configured with a multi-AZ deployment model in single region. Multi-AZ deployments provide increased availability, data durability, and fault tolerance for DB instances. In the event of planned database maintenance or unplanned service disruption, Amazon RDS automatically fails-over to the up-to-date secondary DB instance. This functionality lets database operations resume quickly without manual intervention. The primary and standby instances use the same endpoint, whose physical network address transitions to the secondary replica as part of the failover process. You don’t have to reconfigure your application when a failover occurs. Amazon RDS supports multi-AZ deployments for Microsoft SQL Server by using either SQL Server database mirroring or Always On availability groups.\n\n![image.png](https://dev-media.amazoncloud.cn/e70fed130fc54fe7a725bebd0df1a95c_image.png)\n\nFigure 3. High availability in a single Region with Microsoft SQL database service on Amazon RDS\n\n***High availability across multiple Regions***\n\nFigure 4 depicts how you can use [AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms/) to configure continuous replication among Microsoft SQL Database Service on Amazon RDS across multiple Regions. AWS DMS needs Microsoft Change Data Capture to be enabled on the Amazon RDS for the Microsoft SQL Server instance. If problems occur, you can initiate manual failovers and reinstate database services by promoting the Amazon RDS read replica in a different Region.\n\n![image.png](https://dev-media.amazoncloud.cn/573a06f9accb4b028fc44019f4258437_image.png)\n\nFigure 4. High availability across multiple Regions with Microsoft SQL database service on Amazon RDS\n\n\n#### **Refactoring Microsoft SQL database service on Amazon Aurora with high availability**\n\n\nThis option helps you to eliminate the cost of SQL database service license. You can run database service on a truly cloud native modern database architecture. You can use [AWS Schema Conversion Tool](https://aws.amazon.com/dms/schema-conversion-tool/) to assist in the assessment and conversion of your database code and storage objects. Any objects that cannot be automatically converted are clearly marked so they can be manually converted to complete the migration.\n\nThe [Aurora architecture](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html) involves separation of storage and compute. Aurora includes some high availability features that apply to the data in your database cluster. The data remains safe even if some or all of the DB instances in the cluster become unavailable. Other high availability features apply to the DB instances. These features help to make sure that one or more DB instances are ready to handle database requests from your application.\n\n***High availability in a single Region***\n\nFigure 5 demonstrates Aurora stores copies of the data in a database cluster across multiple AZs in single Region. When data is written to the primary DB instance, Aurora synchronously replicates the data across AZs to six storage nodes associated with your cluster volume. Doing so provides data redundancy, eliminates I/O freezes, and minimizes latency spikes during system backups. Running a DB instance with high availability can enhance availability during planned system maintenance, such as database engine updates, and help protect your databases against failure and AZ disruption.\n\n![image.png](https://dev-media.amazoncloud.cn/cf789edeb25448fbbcde9a97a8bd7fcd_image.png)\n\nFigure 5. High availability in a single Region with Amazon Aurora\n\n***High availability across multiple Regions***\n\nFigure 6 depicts how you can set up [Aurora global databases](https://aws.amazon.com/rds/aurora/global-database/) for high availability across multiple Regions. An Aurora global database consists of one primary Region where your data is written, and up to five read-only secondary Regions. You issue write operations directly to the primary database cluster in the primary Region. Aurora automatically replicates data to the secondary Regions using dedicated infrastructure, with latency typically under a second.\n\n![image.png](https://dev-media.amazoncloud.cn/222c0368d5c34936a4a9e27bae7b02e9_image.png)\n\nFigure 6. High availability across multiple Regions with Amazon Aurora global databases\n\n\n#### **Summary**\n\n\nYou can choose among the options of Amazon EC2, Amazon RDS, and Amazon Aurora when modernizing SQL database service on AWS. Understanding the features required by business and the scope of service management responsibilities are good starting points. When presented with multiple options that meet with business needs, choose one that will allow more focus on your application, business value-add capabilities, and help you to reduce the services’ “total cost of ownership”.\n\n![image.png](https://dev-media.amazoncloud.cn/e66eadf2070b4a1ca69a2724a501dba6_image.png)\n\n\n#### **Lewis Tang**\n\n\nLewis Tang is a Senior Solutions Architect at Amazon Web Services based in Sydney, Australia. Lewis provides partners guidance to a broad range of AWS services and help partners to accelerate AWS practice growth.","render":"<p>Many organizations have applications that require Microsoft SQL Server to run relational database workloads: some applications can be proprietary software that the vendor mandates Microsoft SQL Server to run database service; the other applications can be long-standing, home-grown applications that included Microsoft SQL Server when they were initially developed. When organizations migrate applications to AWS, they often start with lift-and-shift approach and run Microsoft SQL database service on <a href=\"https://aws.amazon.com/ec2/\" target=\"_blank\">Amazon Elastic Compute Cloud (Amazon EC2)</a>. The reason could be this is what they are most familiar with.</p>\n<p>In this post, I share the architecture options to modernize Microsoft SQL database service and run highly available relational data services on Amazon EC2, <a href=\"https://aws.amazon.com/rds/\" target=\"_blank\">Amazon Relational Database Service (Amazon RDS)</a>, and <a href=\"https://aws.amazon.com/rds/aurora/\" target=\"_blank\">Amazon Aurora (Aurora)</a>.</p>\n<h4><a id=\"Running_Microsoft_SQL_database_service_on_Amazon_EC2_with_high_availability_5\"></a><strong>Running Microsoft SQL database service on Amazon EC2 with high availability</strong></h4>\n<p>This option is the least invasive to existing operations models. It gives you a quick start to modernize Microsoft SQL database service by leveraging the AWS Cloud to manage services like physical facilities. The low-level infrastructure operational tasks—such as server rack, stack, and maintenance—are managed by AWS. You have full control of the database and operating-system–level access, so there is a choice of tools to manage the operating system, database software, patches, data replication, backup, and restoration.</p>\n<p>You can use any Microsoft SQL Server-supported replication technology with your Microsoft SQL Server database on Amazon EC2 to achieve high availability, data protection, and disaster recovery. Common solutions include <a href=\"https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/ec2-log-shipping.html\" target=\"_blank\">log shipping</a>, <a href=\"https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/ec2-db-mirroring.html\" target=\"_blank\">database mirroring</a>, <a href=\"https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/ec2-db-mirroring.html\" target=\"_blank\">Always On availability groups</a>, and <a href=\"https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/ec2-fci.html\" target=\"_blank\">Always On Failover Cluster Instances</a>.</p>\n<p><em><strong>High availability in a single Region</strong></em></p>\n<p>Figure 1 shows how you can use Microsoft SQL Server on Amazon EC2 across multiple Availability Zones (AZs) within single Region. The interconnects among AZs that are similar to your data center intercommunications are managed by AWS. The primary database is a read-write database, and the secondary database is configured with log shipping, database mirroring, or Always On availability groups for high availability. All the transactional data from the primary database is transferred and can be applied to the secondary database asynchronously for log shipping, and it can either asynchronously or synchronously for Always On availability groups and mirroring.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/497acd50f03743d0b7abdc3a18c092db_image.png\" alt=\"image.png\" /></p>\n<p>Figure 1. High availability in a single Region with Microsoft SQL database service on Amazon EC2</p>\n<p><em><strong>High availability across multiple Regions</strong></em></p>\n<p>Figure 2 demonstrates how to configure high availability for Microsoft SQL Server on Amazon EC2 across multiple Regions. A secondary Microsoft SQL Server in a different Region from the primary is configured with log shipping, database mirroring, or Always On availability groups for high availability. The transactional data from primary database is transferred via the fully managed backbone network of AWS across Regions.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/376a689c1c274ce8a6b4e22ce3a8ee21_image.png\" alt=\"image.png\" /></p>\n<p>Figure 2. High availability across multiple Regions with Microsoft SQL database service on Amazon EC2</p>\n<h4><a id=\"Replatforming_Microsoft_SQL_Database_Service_on_Amazon_RDS_with_high_availability_29\"></a><strong>Replatforming Microsoft SQL Database Service on Amazon RDS with high availability</strong></h4>\n<p><a href=\"https://aws.amazon.com/rds/\" target=\"_blank\">Amazon RDS</a> is a managed database service and responsible for most management tasks. It currently supports Multi-AZ deployments for SQL Server using SQL Server Database Mirroring (DBM) or Always On Availability Groups (AGs) as a high-availability, failover solution.</p>\n<p><em><strong>High availability in a single Region</strong></em></p>\n<p>Figure 3 demonstrates the Microsoft SQL database service that is run on Amazon RDS is configured with a multi-AZ deployment model in single region. Multi-AZ deployments provide increased availability, data durability, and fault tolerance for DB instances. In the event of planned database maintenance or unplanned service disruption, Amazon RDS automatically fails-over to the up-to-date secondary DB instance. This functionality lets database operations resume quickly without manual intervention. The primary and standby instances use the same endpoint, whose physical network address transitions to the secondary replica as part of the failover process. You don’t have to reconfigure your application when a failover occurs. Amazon RDS supports multi-AZ deployments for Microsoft SQL Server by using either SQL Server database mirroring or Always On availability groups.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/e70fed130fc54fe7a725bebd0df1a95c_image.png\" alt=\"image.png\" /></p>\n<p>Figure 3. High availability in a single Region with Microsoft SQL database service on Amazon RDS</p>\n<p><em><strong>High availability across multiple Regions</strong></em></p>\n<p>Figure 4 depicts how you can use <a href=\"https://aws.amazon.com/dms/\" target=\"_blank\">AWS Database Migration Service (AWS DMS)</a> to configure continuous replication among Microsoft SQL Database Service on Amazon RDS across multiple Regions. AWS DMS needs Microsoft Change Data Capture to be enabled on the Amazon RDS for the Microsoft SQL Server instance. If problems occur, you can initiate manual failovers and reinstate database services by promoting the Amazon RDS read replica in a different Region.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/573a06f9accb4b028fc44019f4258437_image.png\" alt=\"image.png\" /></p>\n<p>Figure 4. High availability across multiple Regions with Microsoft SQL database service on Amazon RDS</p>\n<h4><a id=\"Refactoring_Microsoft_SQL_database_service_on_Amazon_Aurora_with_high_availability_51\"></a><strong>Refactoring Microsoft SQL database service on Amazon Aurora with high availability</strong></h4>\n<p>This option helps you to eliminate the cost of SQL database service license. You can run database service on a truly cloud native modern database architecture. You can use <a href=\"https://aws.amazon.com/dms/schema-conversion-tool/\" target=\"_blank\">AWS Schema Conversion Tool</a> to assist in the assessment and conversion of your database code and storage objects. Any objects that cannot be automatically converted are clearly marked so they can be manually converted to complete the migration.</p>\n<p>The <a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html\" target=\"_blank\">Aurora architecture</a> involves separation of storage and compute. Aurora includes some high availability features that apply to the data in your database cluster. The data remains safe even if some or all of the DB instances in the cluster become unavailable. Other high availability features apply to the DB instances. These features help to make sure that one or more DB instances are ready to handle database requests from your application.</p>\n<p><em><strong>High availability in a single Region</strong></em></p>\n<p>Figure 5 demonstrates Aurora stores copies of the data in a database cluster across multiple AZs in single Region. When data is written to the primary DB instance, Aurora synchronously replicates the data across AZs to six storage nodes associated with your cluster volume. Doing so provides data redundancy, eliminates I/O freezes, and minimizes latency spikes during system backups. Running a DB instance with high availability can enhance availability during planned system maintenance, such as database engine updates, and help protect your databases against failure and AZ disruption.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/cf789edeb25448fbbcde9a97a8bd7fcd_image.png\" alt=\"image.png\" /></p>\n<p>Figure 5. High availability in a single Region with Amazon Aurora</p>\n<p><em><strong>High availability across multiple Regions</strong></em></p>\n<p>Figure 6 depicts how you can set up <a href=\"https://aws.amazon.com/rds/aurora/global-database/\" target=\"_blank\">Aurora global databases</a> for high availability across multiple Regions. An Aurora global database consists of one primary Region where your data is written, and up to five read-only secondary Regions. You issue write operations directly to the primary database cluster in the primary Region. Aurora automatically replicates data to the secondary Regions using dedicated infrastructure, with latency typically under a second.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/222c0368d5c34936a4a9e27bae7b02e9_image.png\" alt=\"image.png\" /></p>\n<p>Figure 6. High availability across multiple Regions with Amazon Aurora global databases</p>\n<h4><a id=\"Summary_75\"></a><strong>Summary</strong></h4>\n<p>You can choose among the options of Amazon EC2, Amazon RDS, and Amazon Aurora when modernizing SQL database service on AWS. Understanding the features required by business and the scope of service management responsibilities are good starting points. When presented with multiple options that meet with business needs, choose one that will allow more focus on your application, business value-add capabilities, and help you to reduce the services’ “total cost of ownership”.</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/e66eadf2070b4a1ca69a2724a501dba6_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"Lewis_Tang_83\"></a><strong>Lewis Tang</strong></h4>\n<p>Lewis Tang is a Senior Solutions Architect at Amazon Web Services based in Sydney, Australia. Lewis provides partners guidance to a broad range of AWS services and help partners to accelerate AWS practice growth.</p>\n"}
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭
contact-us