Running a Citrix lab in Amazon AWS

Running a Citrix lab in Amazon AWS

Many people are wondering what´s the best way to get started learning Citrix or play with new products if you don´t have your own hardware.

In this blog post I´m going to show you how I’m Running a Citrix lab in Amazon AWS. This post will show you how to build a complete Citrix XenApp / XenDesktop 7.6 solution in Amazon AWS. So let´s get started.

In this lab we´re going to run 3 instances :

  • DC-01 > AD / DNS / Infrastructure
  • XADC-01 > Delivery Controller / StoreFront / SQL Express / Director
  • WS12-01 > Windows Server OS for publishing Apps and Desktops

Go to the EC2 Dashboard and click launch instance. We´re going to use Windows 2012 R2 Base with the t2.micro which are free of use for the first 750 hours. Make sure to create a private key and store it in a secure location for  later usage.

AWS Password Information

To connect to the EC2 instances from my Mac or Windows machines I´m using Remote Desktop Manager which can automatically sync all the connections to the cloud so they´re available everywhere.

Remote Desktop Manager AWS

Now that we are connected to our first instance which is going to be our Domain Controller (DC-01) we´re going to use Powershell to do all the configurations for us. Thanks to fellow CTP Carl Webster for his blog post Installing Domain Controller Using Powershell. Run Powershell as an Administrator and paste in the following commands:


Install Domain Controller using PowerShell

Then configure the domain (ctxlab.local) with the following commands:

Configure Active Directory with Powershell

The server will automatically reboot so log in again to configure DNS. Paste in the following lines one by one:

Configure DNS with Powershell

Now change the DNS settings on IPv4 to point to your Domain Controllers internal IP-address, change the server name, disable IE security etc and reboot the server.

IPv4 Internal DNS

When you’re Running a Citrix lab in Amazon AWS you need to allow traffic to flow between the Virtual Machines. Out of the box internal communication is very restricted so we need to head over to Network & Security – Security Groups – Create Security Group. Since this is a dummy lab I´m going to allow all traffic and also disable the Windows Firewall.

AMS Security Groups

Now add this Security Group to your VM´s and also to remember to do the same for all new instances.

Assign Security Group 1

Assign Security Group VM

Windows Firewall Off

Now let´s create a second instance which is going to host all the Citrix XenApp Infrastructure like Delivery Controller, Licensing Server, SQL Express and Storefront (XADC-01). Use t2.small with 2GB of memory and change the storage from 30 to 100Gb or whatever.

Connect to your new instance and download the Citrix XenApp / XenDesktop 7.6 ISO image. To make the installation as fast and easy as possible we´re going to use an unattended installation. Copy the following lines below and save it as an batch file in the root of the folder you copied the content of the ISO file. In my example I’m using C:\Citrix XenDesktop 7.6

Note: If you´re going to install XenDesktop instead of XenApp just drop the /XenApp line in the script.

Run the batch script above to install Citrix XenApp / XenDesktop completely unattended. When the installation is finished it´s time to configure the Site with the following commands:

Configure XenDesktop Site with Powershell Unattended

Citrix Studio

Finally it´s time to create the third instance where we will install software and the Citrix VDA agent and later add it to the machine catalog in Citrix Studio.

Install VDA

Install VDA on existing VM

VDA Configuration

VDA Install Progress

Now let´s create a Machine Catalog.

Machine Catalog OS

Machine Catalog Service

Machine Catalog Add Machines

Machine Catalog Name

Make sure that the machine(s) shows as Registered.

Machine Catalog Registered

Finally let´s publish a Desktop and some Applications.

Delivery Groups Add Machines

Delivery Type

Applications

To make the login progress easier for our users we´re going to add the domain. Head into Citrix Storefront – Authentication – Trusted Domains.

Trusted Domains

Access your StoreFront from http://AWSExternalIP/Citrix/StoreWeb

Published Applications

Please be aware that you won´t be able to launch any applications at this time. You´ll get an error message like this.

Connection Error

To be able to access the published applications and desktops in Amazon AWS you need to configure a Netscaler Gateway, and that my friend is another blog post coming soon.

That’s how I am Running a Citrix lab in Amazon AWS almost free of charge.

Resources

27 Responses to Running a Citrix lab in Amazon AWS

  1. I found this to be very interesting, some of the AWS steps was more of a learning as you go since you did not go into great detail but any IT admin should be able to figure it out.
    Big changes from XA6.5 to 7.6. Looking fwd to the Netscaler config to bring it all home, I gave it a shot but the AWS piece is tricky.

  2. Thank you Eric! A very useful guide to get the basic DC and DDC setup on AWS.

    I have been meaning to move my home lab over to AWS but was conscious of finding out what are the approximate cost/day of running your lab in AWS.

    Looking forward to your Netscaler-in-AWS guide.

    • Thanks Mayur. I don’t have any cost figures for you since I’m using many other services from AWS. But be aware that you can shutdown the machines when not in use and as a new customer you also get 750 free hours. The Netscaler guide should be ready next week.

      • Hello, is the Netscaler lab on AWS guide completed? I would very much like to try this out!
        thanks for all the great work so far!

          • Ok, no worries. But it can be done in AWS, correct? Such that a complete ctx lab with netscaler is possible to exist in AWS? Do you have a “basic” scaled down procedure that just lists the main steps without all the details?

          • Yes it is support, think I will just break it into 2 part series, since the first part is ready. Just have not had time to spin up more VM in that dedicated subnet. Should go out later this or next week then. Thanks

  3. Hey Eric,

    Very good article.I need to know one thing is that hypersior setting is also in batch file or not?

    Actually I want to use and test Xendesktop 7.6 AWS as hypervisor features.

    Appreciate your response.
    Addy

  4. NetScaler Info:

    Hello all,
    There are some really good documents on how to setup a free NetScaler VPX1000 w/ free license. See URL below. You will need a Citrix account (Most of you will have one already). The NetScaler configuration can be VERY difficult, but you can keep it simple by only configuring Remote Access Gateway, SSL and Load balancing StoreFront (optional). You will need to build an Internal Root Certificate authority (Can be on your existing Domain controller). GOOD LUCK! 🙂

    Depending on your firmware there are allot of documents on setting up Remote Access Gateway & SSL…
    ————————

    DOWNLOAD the free Netscaler Virtual appliance, firmware updates and license file here:

    https://www.citrix.com/blogs/2011/02/01/free-netscaler-vpx-1-year-license/

    ——————————————————

    PS: Here is a very good guide on getting the Netscaler VPX deployed… It uses Firmware 10.1, you can upgrade firmware at any time though.. CHeers!

    http://adamgamble.org/2013/07/01/how-to-netscaler-10-1-deployment-part-1-initial-config/

    Joseph Priolo | Systems Administrator, LifeLock, INC
    CCAA, MCSE, CCNA

      • My pleasure. Thank you for a quick start on XenDesktop w/ AWS! I’m about to take a test ride to evaluate for my company to have a Cloud option vs On-prem. This will help allot.

        If I have time to create a “How-T- Guide” for Netsclaler for AWS I will share it here. Thanks again!

        Regards, Joseph Priolo

  5. Hi,

    understand the micro instances can be run free of cost but you are setting up AD, does Amazon not charge for Directory Services?

    Great post..!

  6. Cheers..! gave that a bash just now. Good post..! Yet to get to the site setup etc but I thought I’d keep everything in powershell, so used PS as opposed to command file to install XenApp.

    $mountiso = Mount-DiskImage C:\Users\Administrator\Downloads\XenApp_and_XenDesktop_7_8.iso -passthru
    $DriveLetter = ($mountiso | Get-volume).DriveLetter
    $SetupFile = $DriveLetter + “:\x64\XenDesktop Setup\XenDesktopServerSetup.Exe”
    & $SetupFile /QUIET /NOREBOOT /CONFIGURE_FIREWALL /XENAPP /LOGPATH “C:\Windows\Temp\”
    If ($?) {Write-Host “SUCCESS”} else {Write-Host “Check install logiles for errors”}

  7. Thank you Eric, this is very useful. Instead of NetScaler in AWS, we also can use a OpenVPN access server to connect to the AWS VPC and the Citrix Environment works well without a Netscaler.

    ofCourse, Netscaler has lots of other features, but if you need only for Remote Access or VPN tunnel, OpenVPN Access Server can be good replacement.

  8. Hi Eirik, Thank you very much for this wonderful information. Just want to know, in the last line of this article, you have mentioned, “That’s how I am Running a Citrix lab in Amazon AWS almost free of charge.” meaning, have you subscribed for amazon aws for one year? If so, we need to provide credit card details as well, correct? If you have done so, how much did they charge you for this subscription? I am planning to subscribe, but not sure about their plans and there is no customercare to call 🙁

Leave a reply