Citrix Virtual Apps and Desktops

AWS cloud environments

This article walks you through setting up your AWS account as a resource location you can use with Citrix Virtual Apps and Desktops. The resource location includes a basic set of components, ideal for a proof-of-concept, or other deployment that does not require resources spread over multiple availability zones. After you complete these tasks, you can install VDAs, provision machines, create machine catalogs, and create Delivery Groups.

When you complete the tasks in this article, your resource location includes the following components:

  • A virtual private cloud (VPC) with public and private subnets inside a single availability zone.
  • An instance that runs as both an Active Directory Domain Controller and DNS server, located in the private subnet of the VPC.
  • An instance that acts as a bastion host in the public subnet of your VPC. This instance is used to initiate RDP connections to the instances in the private subnet for administration purposes. After you finish setting up your resource location, you can shut down this instance so it is no longer readily accessible. When you must manage other instances in the private subnet, such as VDA instances, you can restart the bastion host instance.

Task overview

Set up a virtual private cloud (VPC) with public and private subnets. When you complete this task, AWS deploys a NAT gateway with an Elastic IP address in the public subnet. This action enables instances in the private subnet to access the Internet. Instances in the public subnet are accessible to inbound public traffic while instances in the private subnet are not.

Configure security groups. Security groups act as virtual firewalls that control traffic for the instances in your VPC. You add rules to your security groups that allow instances in your public subnet to communicate with instances in your private subnet. You also associate these security groups with each instance in your VPC.

Create a DHCP options set. With an Amazon VPC, DHCP and DNS services are provided by default, which affects how you configure DNS on your Active Directory Domain Controller. Amazon’s DHCP cannot be disabled and Amazon’s DNS can be used only for public DNS resolution, not Active Directory name resolution. To specify the domain and name servers handed to instances through DHCP, create a DHCP options set. The set assigns the Active Directory domain suffix and specifies the DNS server for all instances in your VPC. To ensure Host (A) and Reverse Lookup (PTR) records are automatically registered when instances join the domain, you configure the network adapter properties for each instance you add to the private subnet.

Add a bastion host and Domain Controller to the VPC. Through the bastion host, you can log on to instances in the private subnet to set up the domain and join instances to the domain.

Task 1: Set up the VPC

  1. From the AWS management console, select VPC.
  2. From the VPC Dashboard, select Create VPC.
  3. Select VPC and more.
  4. Under NAT gateways ($), select In 1 AZ or 1 per AZ.
  5. Under DNS options, leave Enable DNS hostnames selected.
  6. Select Create VPC. AWS creates the public and private subnets, Internet gateway, route tables, and default security group.

Task 2: Configure security groups

This task creates and configures the following security groups for your VPC:

  • A public security group to associate with the instances in your Public subnet.
  • A private security group to associate with the instances in your Private subnet.

To create the security groups:

  1. In the VPC Dashboard, select Security Groups.
  2. Create a security group for the public security group. Select Create Security Group and enter a name tag and description for the group. In VPC, select the VPC you created earlier. Select Yes, Create.

Configure the Public security group

  1. From the security group list, select the Public security group.

  2. Select the Inbound Rules tab and select Edit to create the following rules:

    Type Source
    ALL Traffic Select the Private security group.
    ALL Traffic Select the Public security group.
    ICMP 0.0.0.0/0
    22 (SSH) 0.0.0.0/0
    80 (HTTP) 0.0.0.0/0
    443 (HTTPS) 0.0.0.0/0
    1494 (ICA/HDX) 0.0.0.0/0
    2598 (Session Reliability) 0.0.0.0/0
    3389 (RDP) 0.0.0.0/0
  3. When finished, select Save.

  4. Select the Outbound Rules tab and select Edit to create the following rules:

    Type Destination
    ALL Traffic Select the Private security group.
    ALL Traffic 0.0.0.0/0
    ICMP 0.0.0.0/0
  5. When finished, select Save.

Configure the private security group

  1. From the security group list, select the Private security group.

  2. If you have not setup traffic from the public security group, you must set TCP ports; select the Inbound Rules tab and select Edit to create the following rules:

    Type Source
    ALL Traffic Select the Private security group.
    ALL Traffic Select the Public security group.
    ICMP Select the Public security group.
    TCP 53 (DNS) Select the Public security group.
    UDP 53 (DNS) Select the Public security group.
    80 (HTTP) Select the Public security group.
    TCP 135 Select the Public security group.
    TCP 389 Select the Public security group.
    UDP 389 Select the Public security group.
    443 (HTTPS) Select the Public security group.
    TCP 1494 (ICA/HDX) Select the Public security group.
    TCP 2598 (Session Reliability) Select the Public security group.
    3389 (RDP) Select the Public security group.
    TCP 49152–65535 Select the Public security group.
  3. When finished, select Save.

  4. Select the Outbound Rules tab and select Edit to create the following rules:

    Type Destination
    ALL Traffic Select the Private security group.
    ALL Traffic 0.0.0.0/0
    ICMP 0.0.0.0/0
    UDP 53 (DNS) 0.0.0.0/0
  5. When finished, select Save.

Task 3: Launch instances

Do the following steps to create two EC2 instances and decrypt the default Administrator password that Amazon generates:

  1. From the AWS management console, select EC2.
  2. From the EC2 Dashboard, select Launch Instance.
  3. Select a Windows Server machine image and instance type.
  4. On the Configure Instance Details page, enter a name for the instance and select the VPC you set up earlier.
  5. In Subnet, make the following selections for each instance:

    • Bastion host: Select the Public subnet
    • Domain Controller: Select the Private subnet
  6. In Auto-assign Public IP address, make the following selections for each instance:

    • Bastion host: Select Enable.
    • Domain Controller: Select Use default setting or Disable.
  7. In Network Interfaces, enter a primary IP address within the IP range of your private subnet for the Domain Controller.
  8. If necessary, on the Add Storage page, modify the disk size.
  9. On the Tag Instance page, enter a friendly name for each instance.
  10. On the Configure Security Groups page, select Select an existing security group and then make the following selections for each instance:

    • Bastion host: Select the Public security group.
    • Domain Controller: Select the Private security group.
  11. Review your selections and then select Launch.
  12. Create a new key pair or select an existing one. If you create a new key pair, download your private key (.pem) file and keep it in a safe place. You must supply your private key when you acquire the default Administrator password for the instance.
  13. Select Launch Instances. select View Instances to display a list of your instances. Wait until the newly launched instance has passed all status checks before accessing it.
  14. Acquire the default Administrator password for each instance:

    1. From the instance list, select the instance and then select Connect.
    2. Go to the RDP client tab, select Get Password, and upload your private key (.pem) file when prompted.
    3. Select Decrypt Password to get the human readable password. AWS displays the default password.
  15. Repeat the steps from step 2 until you have created two instances:

    • One bastion host instance in your public subnet
    • One instance in your private subnet that is for use as a Domain Controller.

Task 4: Create a DHCP options set

  1. From the VPC Dashboard, select DHCP Options Sets.

  2. Enter the following information:

    • Name tag: Enter a friendly name for the set.
    • Domain name: Enter the fully qualified domain name that you use when you configure the Domain Controller instance.
    • Domain name servers: Enter the private IP address you assigned to the Domain Controller instance and the string AmazonProvidedDNS, separated by commas.
    • NTP servers: Leave this field blank.
    • NetBIOS name servers: Enter the private IP address of the Domain Controller instance.
    • NetBIOS node type: Enter 2.
  3. Select Yes, Create.

  4. Associate the new set with your VPC:

    1. From the VPC Dashboard, select Your VPCs and then select the VPC you set up earlier.
    2. Select Actions > Edit DHCP Options Set.
    3. When prompted, select the new set you created and then select Save.

Task 5: Configure the instances

  1. Using an RDP client, connect to the public IP address of the bastion host instance. When prompted, enter the credentials for the Administrator account.

  2. From the bastion host instance, launch Remote Desktop Connection and connect to the private IP address of the instance you want to configure. When prompted, enter the Administrator credentials for the instance.

  3. For all instances in the private subnet, configure the DNS settings:

    1. Select Start > Control Panel > Network and Internet > Network and Sharing Center > Change adapter settings. Double-click the network connection displayed.
    2. Select Properties > Internet Protocol Version 4 (TCP/IPv4) > Properties.
    3. Select Advanced > DNS. Ensure that the following settings are enabled and select OK:

      • Register this connection’s addresses in DNS
      • Use this connection’s DNS suffix in DNS registration
  4. To configure the Domain Controller:

    1. Using Server Manager, add the Active Directory Domain Services role with all default features.
    2. Promote the instance to a Domain Controller. During promotion, enable DNS and use the domain name you specified when you created the DHCP options set. Restart the instance when prompted.

Where to go next

More information

AWS cloud environments