Remote Desktop to Your Azure Virtual Machine

Posted by Shaun on Geeks with Blogs See other posts from Geeks with Blogs or by Shaun
Published on Fri, 03 Dec 2010 15:04:18 GMT Indexed on 2010/12/06 16:57 UTC
Read the original article Hit count: 845

Filed under:

The Windows Azure Team had just published their new development portal this week and the SDK 1.3. Within this new release there are a lot of cool feature available. The one I’m looking forward to is Remote Desktop Access to your running Windows Azure Virtual Machine.

 

Configuration Remote Desktop Access

It would be very simple to make the azure service enable the remote desktop access. First of all let’s create a new windows azure project from the Visual Studio. In this example I just created a normal MVC 2 web role without any modifications. Then we right-click the azure project node in the solution explorer window and select “Publish”.

image

Then let’s select the “Deploy your Windows Azure project to Windows Azure” on the top radio button. And then select the credential, deployment service/slot, storage and label as susal.

You must have the Management API Certificates uploaded to your Windows Azure account, and install the certification on you machine before in order to use this one-click deployment feature.

If you are familiar with this dialog you will notice that there’s a linkage named “Configure Remote Desktop connections”. Here is where you need to make this service enable the remote desktop feature.

image

After clicked this link we will set the configuration of the remote desktop access authorization information. There are 4 steps we need to do to configure our access.

  • Certificates: We need either create or select a certificate file in order to encypt the access cerdenticals. In this example I will use the certificate file for my Management API.
  • Username: The remote desktop user name to access the virtual machine.
  • Password: The password for the access.
  • Expiration: The access cerdentals would be expired after 1 month by default but we can amend here.

After that we clicked the OK button to back to the publish dialog.

image

 

The next step is to back to the new windows azure portal and navigate to the hosted services list. I created a new hosted service and upload the certificate file onto this service. The user name and password access to the azure machine must be encrypted from the local machine, and then send to the windows azure platform, then decrypted on the azure side by the same file. This is why we need to upload the certificate file onto azure.

We navigated to the “Hosted Services, Storage Accounts & CDN"” from the left panel and created a new hosted service named “SDK13” and selected the “Certificates” node. Then we clicked the “Add Certificates” button.

image

Then we select the local certificate file and the password to install it into this azure service.

image

 

The final step would be back to our Visual Studio and in the pulish dialog just click the OK button. The Visual Studio will upload our package and the configuration into our service with the remote desktop settings.

image

 

Remote Desktop Access to Azure Virtual Machine

All things had been done, let’s have a look back on the Windows Azure Development Portal. If I selected the web role that I had just published we can see on the toolbar there’s a section named “Remote Access”. In this section the Enable checkbox had been checked which means this role has the Remote Desktop Access feature enabled.

image

If we want to modify the access cerdentals we can simply click the Configure button. Then we can update the user name, password, certificates and the expiration date.

image

 

Let’s select the instance node under the web role. In this case I just created one instance for demo. We can see that when we selected the instance node, the Connect button turned enabled.

image

After clicked this button there will be a RDP file downloaded. This is a Remote Desctop configuration file that we can use to access to our azure virtual machine. Let’s download it to our local machine and execute.

image

We input the user name and password we specified when we published our application to azure and then click OK.

There might be some certificates warning dislog appeared. This is because the certificates we use to encryption is not signed by a trusted provider. Just select OK in these cases as we know the certificate is safty to us.

image

Finally, the virtual machine of Windows Azure appeared.

image

 

A Quick Look into the Azure Virtual Machine

Let’s just have a very quick look into our virtual machine. There are 3 disks available for us: C, D and E.

  • Disk C: Store the local resource, diagnosis information, etc.
  • Disk D: System disk which contains the OS, IIS, .NET Frameworks, etc.
  • Disk E: Sotre our application code.

image

The IIS which hosting our webiste on Azure.

image

The IP configuration of the azure virtual machine.

image

 

Summary

In this post I covered one of the new feature of the Azure SDK 1.3 – Remote Desktop Access. We can set the access per service and all of the instances of this service could be accessed through the remote desktop tool. With this feature we can deep into the virtual machines of our instances to see the inner information such as the system event, IIS log, system information, etc.

But we should pay attention to modify the system settings. 2 reasons from what I know for now:

1. If we have more than one instances against our service we should ensure that all system settings we modifed are applied to all instances/virtual machines. Otherwise, as the machines are under the azure load balance proxy our application process may doesn’t work due to the defferent settings between the instances.

2. When the virtual machine encounted some problem and need to be translated to another physical machine all settings we made would be disappeared.

 

Hope this helps,

Shaun

All documents and related graphics, codes are provided "AS IS" without warranty of any kind.
Copyright © Shaun Ziyan Xu. This work is licensed under the Creative Commons License.

© Geeks with Blogs or respective owner