|
| 1 | +--- |
| 2 | +title: Set up Private Link for Azure Virtual Desktop preview - Azure |
| 3 | +description: How to set up Private Link for Azure Virtual Desktop (preview). |
| 4 | +author: Heidilohr |
| 5 | +ms.topic: how-to |
| 6 | +ms.date: 11/04/2022 |
| 7 | +ms.author: helohr |
| 8 | +manager: femila |
| 9 | +--- |
| 10 | + |
| 11 | +# Set up Private Link for Azure Virtual Desktop (preview) |
| 12 | + |
| 13 | +> [!IMPORTANT] |
| 14 | +> Private Link for Azure Virtual Desktop is currently in PREVIEW. |
| 15 | +> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability. |
| 16 | +
|
| 17 | +This article will show you how to set up Private Link for Azure Virtual Desktop (preview) in your Azure Virtual Desktop deployment. For more information about what Private Link can do for your deployment and the limitations of the public preview version, see [Private Link for Azure Virtual Desktop (preview)](private-link-overview.md). |
| 18 | + |
| 19 | +## Prerequisites |
| 20 | + |
| 21 | +In order to use Private Link in your Azure Virtual Desktop deployment, you'll need the following things: |
| 22 | + |
| 23 | +- An Azure account with an active subscription. |
| 24 | +- An Azure Virtual Desktop deployment with service objects, such as host pools, app groups, and [workspaces](environment-setup.md#workspaces). |
| 25 | +- The [required permissions to use Private Link](../private-link/rbac-permissions.md). |
| 26 | + |
| 27 | +## Enable preview content on your Azure subscription |
| 28 | + |
| 29 | +In order to use Private Link, you'll need to enable preview features on your Azure subscription first. To enable preview features: |
| 30 | + |
| 31 | +1. Go to [Preview features - Microsoft Azure](https://portal.azure.com/#view/Microsoft_Azure_Resources/PreviewFeaturesBlade). |
| 32 | + |
| 33 | +1. In the search box under **Preview features**, search for **Private**. |
| 34 | + |
| 35 | +2. Select the **Azure Virtual Desktop Private Link Public Preview** check box. |
| 36 | + |
| 37 | +3. In the bottom-right corner of the screen, select **Register**. |
| 38 | + |
| 39 | +Once you select **Register**, you'll be able to use Private Link. |
| 40 | + |
| 41 | +## Create a placeholder workspace |
| 42 | + |
| 43 | +A private endpoint to the global sub-resource of any workspace controls the shared fully qualified domain name (FQDN) for initial feed discovery. This control enables feed discovery for all workspaces. Because the workspace connected to the private endpoint is so important, deleting it will cause all feed discovery processes to stop working. Instead of deleting the workspace, you should create an unused placeholder workspace to terminate the global endpoint before you start using Private Link. To create a workspace, follow the instructions in [Workspace information](create-host-pools-azure-marketplace.md#workspace-information). |
| 44 | + |
| 45 | +## Set up Private Link in the Azure portal |
| 46 | + |
| 47 | +Now, let's set up Private Link for your host pool. During the setup process, you'll create private endpoints to the following resources: |
| 48 | + |
| 49 | +| Resource type | Target sub-resource | Quantity | |
| 50 | +|--|--| |
| 51 | +| Microsoft.DesktopVirtualization/workspaces | global | One for all Azure Virtual Desktop deployments | |
| 52 | +| Microsoft.DesktopVirtualization/workspaces | feed | One per workspace | |
| 53 | +| Microsoft.DesktopVirtualization/hostpools | connection | One per host pool | |
| 54 | + |
| 55 | +To configure Private Link in the Azure portal: |
| 56 | + |
| 57 | +1. Open the Azure portal and sign in. |
| 58 | + |
| 59 | +1. Search for and select **Azure Virtual Desktop**. |
| 60 | + |
| 61 | +1. Go to **Host pools**, then select the name of the host pool you want to use. |
| 62 | + |
| 63 | + >[!TIP] |
| 64 | + >You can also start setting up by going to **Private Link Center** > **Private Endpoints** > **Add a private endpoint**. |
| 65 | +
|
| 66 | +1. After you've opened the host pool, go to **Networking** > **Private Endpoint connections**. |
| 67 | + |
| 68 | +1. Select **Add a private endpoint**. |
| 69 | + |
| 70 | +1. In the **Basics** tab, either use the drop-down menus to select the **Subscription** and **Resource group** you want to use or create a new resource group. |
| 71 | + |
| 72 | +1. Next, enter a name for your new private endpoint. The network interface name will fill automatically. |
| 73 | + |
| 74 | +1. Select the **region** your private endpoint will be located in. You must choose the same location as your session host and the virtual network (VNet) you plan to use. |
| 75 | + |
| 76 | +1. When you're done, select **Next: Resource >**. |
| 77 | + |
| 78 | +1. In the **Resource** tab, use the following resource: |
| 79 | + |
| 80 | + - Resource type: **Microsoft.DesktopVirtualization/hostpools** |
| 81 | + - Resource: *your host pool* |
| 82 | + - Target sub-resource: connection |
| 83 | + |
| 84 | +1. Select **Next: Virtual Network >**. |
| 85 | + |
| 86 | +1. In the **Virtual Network** tab, make sure the values in the **Virtual Network** and **subnet** fields are correct. |
| 87 | + |
| 88 | +1. In the **Private IP configuration** field, choose whether you want to dynamically or statically allocate IP addresses from the subnet you selected in the previous step. <!--What's the difference between these two and why should I choose each?--> |
| 89 | + |
| 90 | + - If you choose to statically allocate IP addresses, you'll need to fill in the **Name** and **Private IP** for each listed member. |
| 91 | + |
| 92 | +1. Next, select an existing application security group or create a new one. |
| 93 | + |
| 94 | + - If you're creating a new application security group, select **Create new**, then enter a name for the new security group. |
| 95 | + |
| 96 | +1. When you're finished, select **Next: DNS >**. |
| 97 | + |
| 98 | +1. In the **DNS** tab, in the **Integrate with private DNS zone** field, select **Yes** if you want to integrate with an Azure private DNS zone. Learn more about integration at [Azure Private endpoint DNS configuration](../private-link/private-endpoint-dns.md). |
| 99 | + |
| 100 | +1. When you're done, select **Next: Tags >**. |
| 101 | + |
| 102 | +1. In the **Tags** tab, you can optionally add tags to help the Azure service categorize your resources. If you don't want to add tags, select **Next: Review + create**. |
| 103 | + |
| 104 | +1. Review the details of your private endpoint. If everything looks good, select **Create** and wait for the deployment to finish. |
| 105 | + |
| 106 | +1. Now, repeat the process to create private endpoints for your resources. Return to step 3, but select **Workspaces** instead of host pools and use the following resources, then follow the rest of the steps until the end. |
| 107 | + |
| 108 | + - Resource type: **Microsoft.DesktopVirtualization/workspaces** |
| 109 | + - Resource: *your placeholder workspace* |
| 110 | + - Target sub-resource: global |
| 111 | + |
| 112 | + - Resource type: **Microsoft.DesktopVirtualization/workspaces** |
| 113 | + - Resource: *your workspace* |
| 114 | + - Target sub-resource: feed |
| 115 | + |
| 116 | +>[!NOTE] |
| 117 | +>You'll need to repeat this process to create a private endpoint for every resource you want to put into Private Link. |
| 118 | +
|
| 119 | +## Closing public routes |
| 120 | + |
| 121 | +In addition to creating private routes, you can also control if the Azure Virtual Desktop resource allows traffic to come from public routes. |
| 122 | + |
| 123 | +To control public traffic: |
| 124 | + |
| 125 | +1. Open the Azure portal and sign in. |
| 126 | + |
| 127 | +1. Search for and select **Azure Virtual Desktop**. |
| 128 | + |
| 129 | +1. Go to **Host pools** > **Networking** > **Firewall and virtual networks**. |
| 130 | + |
| 131 | +1. First, configure the **Allow end users access from public network** setting. |
| 132 | + |
| 133 | + - If you select the check box, users can connect to the host pool using public internet or private endpoints. |
| 134 | + |
| 135 | + - If you don't select the check box, users can only connect to host pool using private endpoints. |
| 136 | + |
| 137 | +1. Next, configure the **Allow session hosts access from public network** setting. |
| 138 | + |
| 139 | + - If you select the check box, Azure Virtual Desktop session hosts will talk to the Azure Virtual Desktop service over public internet or private endpoints. |
| 140 | + |
| 141 | + - If you don't select the check box, Azure Virtual Desktop session hosts can only talk to the Azure Virtual Desktop service over private endpoint connections. |
| 142 | + |
| 143 | +## Network security groups |
| 144 | + |
| 145 | +Follow the directions in [Tutorial: Filter network traffic with a network security group using the Azure portal](../virtual-network/tutorial-filter-network-traffic.md) to set up a network security group (NSG). You can use this NSG to block the **WindowsVirtualDesktop** service tag. If you block this service tag, all service traffic will use private routes only. |
| 146 | + |
| 147 | +When you set up your NSG, you must configure it to allow both the URLs in the [required URL list](safe-url-list.md) and your private endpoints. Make sure to include the URLs for Azure Monitor. |
| 148 | + |
| 149 | +## Validate your Private Link deployment |
| 150 | + |
| 151 | +To validate your Private Link for Azure Virtual Desktop and make sure it's working: |
| 152 | + |
| 153 | +1. Check to see if your session hosts are registered and functional on the VNet. You can check their health status with [Azure Monitor](azure-monitor.md). |
| 154 | + |
| 155 | +1. Next, test your feed connections to make sure they perform as expected. Use the client and make sure you can add and refresh workspaces. |
| 156 | + |
| 157 | +1. Finally, run the following end-to-end tests: |
| 158 | + |
| 159 | + - Make sure your clients can't connect to Azure Virtual Desktop and your session hosts from public routes. |
| 160 | + - Make sure the session hosts can't connect to Azure Virtual Desktop from public routes. |
| 161 | + |
| 162 | +## Next steps |
| 163 | + |
| 164 | +- Learn more about how Private Link for Azure Virtual Desktop at [Use Private Link with Azure Virtual Desktop](private-link-overview.md). |
| 165 | +- Learn how to configure Azure Private Endpoint DNS at [Private Link DNS integration](../private-link/private-endpoint-dns.md#virtual-network-and-on-premises-workloads-using-a-dns-forwarder). |
| 166 | +- For general troubleshooting guides for Private Link, see [Troubleshoot Azure Private Endpoint connectivity problems](../private-link/troubleshoot-private-endpoint-connectivity.md) |
| 167 | +- Understand how connectivity for the Azure Virtual Desktop service works at[Azure Virtual Desktop network connectivity](network-connectivity.md) |
| 168 | +- See the [Required URL list](safe-url-list.md) for the list of URLs you'll need to unblock to ensure network access to the Azure Virtual Desktop service. |
0 commit comments