Installing LogMeIn on your Windows Azure roles
LogMeIn… I'm assuming everyone knows this great suite of tools. The tools and subscriptions offered by LogMeIn provide you with everything you need regarding remote access and support. What I love the most is that the remote connections are done over simple HTTP traffic and this works through most corporate proxies I've encountered (unlike RDP over port 3389).
I rarely need to connect to my Azure instances via RDP, but whenever this happens I get stuck with the same issue. Corporate proxy doesn't allow traffic other than HTTP. Now in this post I'll explain how to bypass this issue by installing LogMeIn on your roles to connect over HTTP.
Start by connecting to your LogMeIn account and choose to add a new computer. When you do, be sure to choose LogMeIn Pro (or the trial). By using LogMeIn Pro you can perform a silent installation but this isn't supported in LogMeIn Free. I explicitly use the word supported because you could do it. In order to use LogMeIn Free you'll need to modify the installer (follow this guide).
Download the file but don't run it yet.
In your project (WebRole or WorkerRole) start by creating a new folder called Startup and add the installer in that folder. Set the Copy to Output Directory property of that file to Copy always.
Create a new file in that same folder called LogMeIn.cmd and also set it to Copy always. The file should contain the following:
Startup\logmein.msi /quiet USERPASSWORD=myLogMeInPassword USERVERIFYPWD=myLogMeInPassword USEREMAIL=myLogMeIn@email.be USERWEBPASSWORD=myLogMeInPassword LicenseType=pro
Finally add the startup task in your ServiceDefinition.csdef:
<?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="MyRole" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WebRole name="WebRole" vmsize="ExtraSmall"> ... <Startup> <Task commandLine="Startup\LogMeIn.cmd" executionContext="elevated" taskType="simple" /> </Startup> </WebRole> </ServiceDefinition>
The solution should look like this:
And you're done… you can publish now.
Your role is visible in your LogMeIn computers:
And of course, you can connect to your role and also have real time statistics (like CPU and Memory usage). And it's also very easy to upload files, …
Note that this is great to test things out but I wouldn't advise on using this in a live environment.