RDS Server Azure offers a highly available and scalable database solution, allowing you to create a database instance in just a few clicks.
With RDS Server Azure, you can choose from a variety of database engines, including MySQL, PostgreSQL, and SQL Server, each with its own set of features and benefits.
One of the key benefits of RDS Server Azure is its ability to automatically apply security patches and updates, reducing the administrative burden on your team.
RDS Server Azure also provides a high level of redundancy and failover capabilities, ensuring that your database remains available even in the event of a hardware failure.
What Are the Benefits?
Using RDS in Azure offers several benefits, including scalability and flexibility. You can easily scale up or down to meet changing demands, eliminating the need to purchase and maintain excess hardware.
With Azure, you can bring up additional session host servers as needed and deallocate them when less users are active, saving you money. This is especially useful during company holidays when servers can be switched off and VMs aren't billed.
Azure provides a range of virtual machine (VM) types to choose from, allowing you to select the right VM for your RDS workload. You can use high-performance VMs like the G-series or N-series for high VGA performance.
Using Azure SQL service for hosting the connection broker database addresses high availability requirements and saves on hardware and licensing costs. This is a significant advantage over traditional on-premises solutions.
RDS 2016 in Azure enables the use of Storage Space Direct for file servers, eliminating the need for shared storage clusters. This allows for scale-out file servers using Azure VMs, providing high availability to user profile disks.
With Azure Active Directory, you can manage user accounts more efficiently, eliminating the need for domain controllers and reducing the complexity of user management. This is a major advantage over traditional on-premises solutions.
Here are some key benefits of using RDS in Azure:
- Scalability and flexibility
- Elastic features for adding or removing servers as needed
- Range of VM types for selecting the right VM for your workload
- High availability and load balancing
- Efficient user account management through Azure Active Directory
Disaster Recovery
Disaster Recovery is a major benefit of using RDS on Azure. Migrating to Azure can solve complex disaster recovery scenarios that were a challenge with on-premises RDS.
With Azure, you don't need to buy hardware to set up a disaster recovery solution. Instead, you can use Azure virtual machines (VMs) and the operating system.
Azure allows you to put your infrastructure in the cloud, eliminating the need for a data center or multiple data centers. This makes disaster recovery more accessible and efficient.
Configuration and Setup
Configuring RDS in Azure is a straightforward process, but it does require some manual effort. You'll need to create a VM instead of purchasing a physical server and install all roles on all servers.
You can still use ARM templates and scripts to deploy a full RDS environment in Azure, but this solution can be complex and amplify the difficulty of managing RDS.
Microsoft has made it easier by moving some RDS components to services in Azure, helping IT admins be more efficient and driving down cost.
Configuring
Configuring RDS in Azure can be a bit tricky, but it's actually quite similar to setting it up on a physical server. You still need to create a VM, install all roles on all servers, and do all RDS configuration manually.
To manage your RDS deployment in Azure, you can use Server Manager. This involves remotely connecting to the RD Connection Broker server and opening Server Manager, then adding all the servers to the RD Connection Broker's pool of managed servers.
To add users to your RDS deployment, it's recommended to create an AD group and put users into this group who will require access to the Azure RDS farm. This will give you more control over who has access to the Remote Desktop collections.
To confirm that your RDS deployment has completed successfully, navigate to the Resource Group the RDS 2019 farm was deployed to and click on 'deployments'. It normally takes just over an hour to complete the installation, depending on how many RDS Hosts were selected during the deployment.
To get the RDS web URL address, click on cloud-infrastructure-services.rds-2019-basic-depl and then click on Output. This will give you the URL to login to your RDS desktop collection.
To manage Remote Desktop Collection Users, follow these steps:
- Connect to the server running the Remote Desktop Connection Broker (RD Connection Broker) role.
- Add the other Remote Desktop servers to the RD Connection Broker’s pool of managed servers (if not already done).
- Edit a collection to assign access to specific users or groups.
Post Deployment Script
After deploying your application, a post deployment script can be used to perform any final setup tasks. This script can be used to configure the database, add default users, or perform any other necessary initialization tasks.
The post deployment script can be run manually or automatically, depending on your needs. A common approach is to run the script automatically when the application starts.
To configure the database, you can use the database connection string stored in the configuration file. This connection string was set up during the configuration process and can be found in the "Database Configuration" section.
The default users can be added to the database using a SQL script, which can be run as part of the post deployment script. This script was discussed in the "User Management" section.
Make sure to test the post deployment script thoroughly to ensure that it runs correctly and completes all necessary tasks. This will help prevent any issues with your application after deployment.
Licencing Farm
The Azure RDS Farm deployment comes with a 120-day grace period.
You'll need to purchase a licence for users to connect after this time.
This RDS deployment is configured with Per User CALs.
Farm
Let's talk about setting up a farm in Azure RDS.
To start, a farm is essentially a collection of resources that work together to provide a scalable and reliable solution.
The Azure RDS Farm is built on top of several key components, including Azure components.
These components are deployed as part of the solution, and they're crucial for the farm's functionality.
One of the key components is Azure RDS itself, which is the heart of the farm, providing a scalable and secure database solution.
By leveraging Azure RDS, you can build a farm that's highly available and can handle large amounts of traffic.
In addition to Azure RDS, other components are also deployed as part of the solution, including Azure components.
Limitations of Cloud-Based
Cloud-based Remote Desktop Services (RDS) solutions have their limitations, and it's essential to understand these constraints before implementing an RDS server in Azure.
One limitation is the need for a separate network (DMZ) for gateway and web servers, which can add complexity to the setup.
In Azure, using a high available Connection broker is a great feature, but it requires Azure SQL database, which can be a limitation for organizations with specific database requirements.
For Session Host servers, using Azure VMs can provide benefits, but having them in an availability set can still lead to restarts during maintenance.
To build a High available file server for User profile disks, you can use shared storage space in Azure with two VMs in an availability set.
Recommended configurations for a High available RDS solution in Azure include using D-series VMs with premium storage data disks and a minimum of 2 storage accounts (HA).
Here are some recommended configurations for a High available RDS solution in Azure:
- D-series VMs with premium storage data disks
- Minimum of 2 storage accounts (HA)
- Same number and size of data disks on each VM
Microsoft recommends using D-series VMs with premium storage data disks for a High available RDS solution in Azure.
Database Features and Performance
Amazon RDS SQL Server gives you a full SQL Server installation, and it supports all the core database engine features. You have access to all the data management views and functions.
With SQL Azure, you aren't running with a full SQL Server installation. You can't get under the covers to access data management views and functions.
The full list of features for Amazon RDS SQL Server is available here. SQL Azure has its own set of limitations, which you can find listed here.
A notable limitation with SQL Azure is that you can't change READ_COMMITTED_SNAPSHOT and ALLOW_SNAPSHOT_ISOLATION settings. They're set ON by default.
You'll also need to have clustered indexes on all tables with SQL Azure. This is a requirement, not an option.
Backup and Availability
Backup and availability is a top priority for any database. You can control when backups and maintenance can happen with Amazon RDS SQL Server.
Backups are kept for up to 31 days, and snapshots are kept until you explicitly delete them.
Transactions logs do get backed up every 15 minutes with Amazon RDS SQL Server.
In SQL Azure, each database is replicated and there are multiple redundant copies.
With SQL Azure, you don't need to backup your databases in theory, but a primary key is required for all tables.
Not being able to do a point in time restore without the option led us to use the Redgate tools to take copies.
Security and Management
To manage Remote Desktop Services in Azure, you can remotely connect to the RD Connection Broker server and open Server Manager. This can be done by running mstsc.exe and entering the name of the connection Broker server name, then logging on using domain administrator credentials.
To add users to your Remote Desktop Services deployment, create an AD group and put users into this group who will require access. This allows you to add some granularity regarding who has access to the Remote Desktop collections in your deployment.
You can edit a collection to assign access to specific users or groups by connecting to the server running the Remote Desktop Connection Broker role, adding other Remote Desktop servers to the RD Connection Broker's pool of managed servers, and then editing the collection.
Certificates
Certificates play a crucial role in ensuring the security of your Remote Desktop Services farm.
To establish trust with users, it's recommended to use either an externally purchased SSL trusted root certificate or an internal PKI cert if you have a root certificate server.
Using a self-signed RD Gateway certificate generated during deployment is also an option, but deploying it via a GPO from your Active Directory domain is not recommended for production-sensitive environments.
Having a trusted certificate in the local computer store ensures a seamless user experience and prevents potential security risks.
Deployment Management
To view and manage Remote Desktop Services, you'll need to remotely connect to the RD Connection Broker server and open Server Manager.
You can do this by running mstsc.exe, entering the name of the connection Broker server, and logging on with domain administrator credentials.
Once you're logged on, launch Server Manager, select Manage, and add servers.
In the Add servers dialog, select Find now, and then select all of the servers - including 'RDSbroker', 'RDSgateway', and all the RD Session Host servers.
With all servers added, you can now configure Gateway and Single-Sign-On (SSO) certificates, and have new users connect and use your Remote Desktop Services deployment running in Azure.
Frequently Asked Questions
What is RDS in Azure?
RDS in Azure is a cost-effective platform for hosting Windows desktops and applications. It enables quick deployment for testing and proof-of-concept purposes.
Sources
- https://getnerdio.com/resources/history-of-microsoft-vdi-part-3-remote-desktop-services-in-azure/
- https://www.sqlservercentral.com/articles/is-it-time-to-move-from-sql-azure-to-amazon-rds-sql-server
- https://www.terminalworks.com/blog/post/2017/02/11/planning-and-designing-rds-in-azure-with-ha
- https://code.visualstudio.com/docs/remote/vscode-server
- https://cloudinfrastructureservices.co.uk/how-to-setup-remote-desktop-services-rds-2019-farm-on-azure/
Featured Images: pexels.com