Microsoft Workloads on AWS
Simplifying SQL Server on Amazon EC2 experience with AWS Launch Wizard, Amazon CloudWatch Application Insights and AWS Systems Manager Application Manager: Part 1
With the release of AWS Launch Wizard for SQL Server last year, we continue to see more customers using AWS Launch Wizard for SQL Server to quickly deploy highly available SQL Server environments on AWS. AWS Launch Wizard simplifies the provisioning and configuration of Microsoft SQL Server environments on AWS with a guided experience to meet your requirements.
In this blog series, we will talk about additional features of AWS Launch Wizard that will enhance the DBAs and IT Pros experience with managing the provisioned SQL Server environments. Next, we’ll also address the needs of DBAs and SysOps teams who perform day-to-day operational tasks such as monitoring, setting alarms, creating runbooks, and automation for configuration and change management.
In the first part of the blog series, we will introduce the capabilities of Amazon CloudWatch Application Insights to automate monitoring setup. And in part two of the blog series, we will explore AWS System Manager Application Manager and learn how to simplify, manage, automate and perform day to day operations of AWS Launch Wizard application resources i.e SQL Server instances.
The following diagram shows how the proposed solution unifies the overall experience of DBAs and IT Pros.
How to leverage Amazon CloudWatch Application Insights to automate monitoring setup
AWS Launch Wizard: AWS Launch Wizard automates the deployment of SQL Always on cluster setup that complies with AWS best practices.
Amazon CloudWatch Application Insights: This is an optional component available during the deployment of AWS Launch Wizard as shown in the following figure. Choosing this option automates the setup of Amazon CloudWatch monitoring, alarms, events, and logging for Microsoft SQL Server running on Amazon EC2 (SQL Server High Availability configurations). To learn more about the supported technology stacks, visit Amazon CloudWatch Application Insights Supported Technology Stacks.
To get started, follow the steps outlined in the Accelerate SQL Server Always On Deployments with AWS Launch Wizard blog post and make sure to choose the optional choice for CloudWatch Application monitoring > Set up monitors and automated insights for this deployment using Amazon CloudWatch Application Insights.
Amazon CloudWatch Application Insights provides a one-step monitoring setup experience for deploying SQL Server Highly Available workloads on AWS. Enabling the option for CloudWatch application monitoring automatically sets up relevant metrics, logs, and alarms on Amazon CloudWatch, and starts monitoring newly deployed workloads. This feature was designed for
- Automatic setup of monitors for application resources
- Problem detection and notification
- Troubleshooting
After the deployment completes, let’s look at the deployment in more detail.
From the AWS Management Console, navigate to CloudWatch > Application Insights
Next, select the resource group starting with LaunchWizard-SQLHAAlwayson-<deployment name>.
As mentioned earlier, Amazon CloudWatch Application Insight supports different technology stacks. In this case, we will review the default configuration settings for the Database technology stack. Notice in the Monitored components section you can see a component supporting the Microsoft SQL Server Always on Availability Groups database tier.
Next, select the component to review resources, alarms, logs, and metrics configured by default as shown in the following screenshots.
To add or remove additional alarms, logs, and metrics, select Manage monitoring.
To learn more about monitored components, visit Tutorial: Set up monitors for .NET and SQL
Customers can also take advantage of dashboards created by CloudWatch Application Insights.
Navigate to AWS Management Console > CloudWatch > Application Insights > LaunchWizard-SQLHAAlwaysOn<DeploymentName> and choose View Insights as shown in the following screenshots.
In addition to this, customers can also create a custom dashboard to monitor metrics captured by the Amazon CloudWatch Agent. From the AWS Management Console, navigate to CloudWatch > All Metrics and select CWAgent.
To learn more about SQL Always on Monitoring, visit Monitoring SQL Server Always On deployments.
Refer to Amazon CloudWatch Application Insights documentation to learn more about all metrics supported by Amazon CloudWatch Application Insights, including CloudWatch agent metrics (Windows Server) and CloudWatch built-in metrics.
Cleanup
To avoid ongoing charges, delete the resources you created.
Use the AWS Launch Wizard console to delete the SQL Server deployment. Choose Deployments > MS SQL Server, and delete the sqlha application by selecting the application and choose Delete as shown in the following screenshots.
Summary
In this blog post, we demonstrated how you can use the AWS Launch Wizard for SQL Server to configure and deploy production-ready SQL Server environments. We also provided a walk-through on how you can monitor your SQL Server environments using Amazon CloudWatch Application Insights. In our next post, we will demonstrate how you can simplify, manage and automate day to day operational tasks on SQL Server using AWS Systems Manager Application Manager that comply with AWS best practices.
Additional resources
Accelerate SQL Server Always On Deployments with AWS Launch Wizard
About SSM documents for patching instances – AWS Systems Manager
Amazon EBS volume types – Amazon Elastic Compute Cloud
Instantly monitor serverless applications with AWS Resource Groups
Storage for I/O-intensive SQL Server using Amazon EBS io2 Block Express
AWS can help you assess how your company can get the most out of cloud. Join the millions of AWS customers that trust us to migrate and modernize their most important applications in the cloud. To learn more on modernizing Windows Server or SQL Server, visit Windows on AWS. Contact us to start your migration journey today.