AWS this week released RDS for Microsoft SQL, completing the suite by adding to existing offerings for MySQL and Oracle. With a concurrent .NET/IIS upgrade for Elastic Beanstalk™ you now have options for resilient application scaling across all platforms without the added overhead of instance management, and, as an introductory offer they're offering a free 1 year tier for Micro DB instances with up to 20GB of storage. Let's take a look at the simple launch process, select some backup and maintenance options and set authorisations for connectivity.
Under the RDS section of AWS Admin 'Lauch DB Instance' and choose your SQL version, in this example we're going to select 'Express' to take advantage of the free tier. You will note there is a 10GB storage limit for the Express Edition.
Fig:1 - Select SQL Server Edition.
The next screen asks you to select the DB instance details, engine version, class etc. Multi-AZ (Availability Zone) Deployment is presently unavailable for SQL instances.
Fig:2 - DB Instance Details.
Choose the database port (1433 is standard) and preferred Availability Zone.
Fig:3 - Additional Options.
Management Options can be configured from defaults to preferred times with a backup retention period of up to 35 days.
Fig:4 - Management Options.
And finally, review and launch your DB instance. It will take a few minutes to spin up and once ready will appear as green (available) in the DB Instances list.
Fig:5 - Review and launch.
And there you have it, one RDS SQL instance. You'll obviously want to connect in to setup an actual database (or databases) and as with regular EC2 instances access is controlled through security groups. You can either select existing groups or add your CIDR (or list of CIDRs). In testing we were unable to connect using a security group entry only however once the CIDR was entered we were straight in.
Fig:6 - DB Security Groups.
Microsoft SQL Management Studio is the recommended DB admin tool of choice however there are other options available and if you're on OSX and don't fancy running a separate VM maybe take a look at DbVisualizer (free version) for the basics.
Fig:7 - DbVisualizer.
MS server admin is a laborious and time consuming job in itself and I thoroughly support anything that makes the job easier, or as in this case, removes the whole scenario altogether and allows you to concentrate on the database itself without having to worry about backups, maintenance, or if the server it's running on is patched and functioning at optimum levels. With that in mind we'll take a more in-depth look at Elastic Beanstalk™ in future posts, how it links in with RDS SQL and how to deploy a scalable IIS/.NET application to it from Visual Studio using the AWS Toolkit.