|
| 1 | +--- |
| 2 | +title: Enable Virtual Network service endpoints with Custom Translator service |
| 3 | +titleSuffix: Azure Cognitive Services |
| 4 | +description: This article describes how to use Custom Translator service with an Azure Virtual Network service endpoint. |
| 5 | +services: cognitive-services |
| 6 | +author: laujan |
| 7 | +manager: nitinme |
| 8 | +ms.service: cognitive-services |
| 9 | +ms.subservice: translator-text |
| 10 | +ms.date: 07/05/2023 |
| 11 | +ms.author: moelghaz |
| 12 | +ms.topic: how-to |
| 13 | +--- |
| 14 | + |
| 15 | +# Enable Custom Translator through Azure Virtual Network |
| 16 | + |
| 17 | +In this article, we show you how to set up and use VNet service endpoints with Custom Translator. |
| 18 | + |
| 19 | +Azure Virtual Network (VNet) [service endpoints](../../../../virtual-network/virtual-network-service-endpoints-overview.md) securely connect your Azure service resources to your virtual networks over an optimized route via the Azure global network. Service endpoints enable private IP addresses within your virtual network to reach the endpoint of an Azure service without the need for a public IP address on the virtual network. |
| 20 | + |
| 21 | +For more information, see [Azure Virtual Network overview](../../../../virtual-network/virtual-networks-overview.md) |
| 22 | + |
| 23 | +> [!NOTE] |
| 24 | +> Before you start, review [how to use virtual networks with Cognitive Services](../../../cognitive-services-virtual-networks.md). |
| 25 | +
|
| 26 | + To set up a Translator resource for VNet service endpoint scenarios, you need the resources: |
| 27 | + |
| 28 | +* [A regional Translator resource (global isn't supported)](../../create-translator-resource.md). |
| 29 | +* [VNet and networking settings for the Translator resource](#configure-virtual-networks-resource-networking-settings). |
| 30 | + |
| 31 | +## Configure virtual networks resource networking settings |
| 32 | + |
| 33 | +To start, you need to add all virtual networks that are allowed access via the service endpoint to the Translator resource networking properties. To enable access to a Translator resource via the VNet, you need to enable the `Microsoft.CognitiveServices` service endpoint type for the required subnets of your virtual network. Doing so routes all subnet traffic related to Cognitive Services through the private global network. If you intend to access any other Cognitive Services resources from the same subnet, make sure these resources are also configured to allow your virtual network. |
| 34 | + |
| 35 | +> [!NOTE] |
| 36 | +> |
| 37 | +> * If a virtual network isn't added as *allowed* in the Translator resource networking properties, it won't have access to the Translator resource via the service endpoint, even if the `Microsoft.CognitiveServices` service endpoint is enabled for the virtual network. |
| 38 | +> * If the service endpoint is enabled but the virtual network isn't allowed, the Translator resource won't be accessible for the virtual network through a public IP address, regardless of your other network security settings. |
| 39 | +> * Enabling the `Microsoft.CognitiveServices` endpoint routes all traffic related to Cognitive Services through the private global network. Thus, the virtual network should be explicitly allowed to access the resource. |
| 40 | +> * This guidance applies for all Cognitive Services resources, not just for Translator resources. |
| 41 | +
|
| 42 | +Let's get started: |
| 43 | + |
| 44 | +1. Navigate to the [Azure portal](https://portal.azure.com/) and sign in to your Azure account. |
| 45 | + |
| 46 | +1. Select a regional Translator resource. |
| 47 | + |
| 48 | +1. From the **Resource Management** group in the left side panel, select **Networking**. |
| 49 | + |
| 50 | + :::image type="content" source="../media/how-to/resource-management-networking.png" alt-text="Screenshot of the networking selection under Resource Management in the Azure portal."::: |
| 51 | + |
| 52 | +1. From the **Firewalls and virtual networks** tab, choose **Selected Networks and Private Endpoints**. |
| 53 | + |
| 54 | + :::image type="content" source="../media/how-to/firewalls-virtual-network.png" alt-text="Screenshot of the firewalls and virtual network page in the Azure portal."::: |
| 55 | + |
| 56 | + > [!NOTE] |
| 57 | + > To use Virtual Network service endpoints, you need to select the **Selected Networks and Private Endpoints** network security option. No other options are supported. |
| 58 | +
|
| 59 | +1. Select **Add existing virtual network** or **Add new virtual network** and provide the required parameters. |
| 60 | + |
| 61 | + * Complete the process by selecting **Add** for an existing virtual network or **Create** for a new one. |
| 62 | + |
| 63 | + * If you add an existing virtual network, the `Microsoft.CognitiveServices` service endpoint is automatically enabled for the selected subnets. |
| 64 | + |
| 65 | + * If you create a new virtual network, the **default** subnet is automatically configured to the `Microsoft.CognitiveServices` service endpoint. This operation can take few minutes. |
| 66 | + |
| 67 | + > [!NOTE] |
| 68 | + > As described in the [previous section](#configure-virtual-networks-resource-networking-settings), when you configure a virtual network as *allowed* for the Translator resource, the `Microsoft.CognitiveServices` service endpoint is automatically enabled. If you later disable it, you need to re-enable it manually to restore the service endpoint access to the Translator resource (and to other Cognitive Services resources). |
| 69 | +
|
| 70 | +1. Now, when you choose the **Selected Networks and Private Endpoints** tab, you can see your enabled virtual network and subnets under the **Virtual networks** section. |
| 71 | + |
| 72 | +1. How to check the service endpoint |
| 73 | + |
| 74 | + * From the **Resource Management** group in the left side panel, select **Networking**. |
| 75 | + |
| 76 | + * Select your **virtual network** and then select the desired **subnet**. |
| 77 | + |
| 78 | + :::image type="content" source="../media/how-to/select-subnet.png" alt-text="Screenshot of subnet selection section in the Azure portal."::: |
| 79 | + |
| 80 | + * A new **Subnets** window appears. |
| 81 | + |
| 82 | + * Select **Service endpoints** from the **Settings** menu located on the left side panel. |
| 83 | + |
| 84 | + :::image type="content" source="../media/how-to/service-endpoints.png" alt-text="Screenshot of the **Subnets** selection from the **Settings** menu in the Azure portal."::: |
| 85 | + |
| 86 | +1. From the **Settings** menu in the left side panel, choose **Service Endpoints** and, in the main window, check that your virtual network subnet is included in the `Microsoft.CognitiveServices` list. |
| 87 | + |
| 88 | +## Use the Custom Translator portal |
| 89 | + |
| 90 | +The following table describes Custom Translator project accessibility per Translator resource **Networking** → **Firewalls and virtual networks** security setting: |
| 91 | + |
| 92 | + :::image type="content" source="../media/how-to/allow-network-access.png" alt-text="Screenshot of allowed network access section in the Azure portal."::: |
| 93 | + |
| 94 | +> [!IMPORTANT] |
| 95 | + > If you configure **Selected Networks and Private Endpoints** via the **Networking** → **Firewalls and virtual networks** tab, you can't use the Custom Translator portal and your Translator resource. However, you can still use the Translator resource outside of the Custom Translator portal. |
| 96 | +
|
| 97 | +| Translator resource network security setting | Custom Translator portal accessibility | |
| 98 | +|--|--| |
| 99 | +| All networks | No restrictions | |
| 100 | +| Selected Networks and Private Endpoints | Accessible from allowed VNET IP addresses | |
| 101 | +| Disabled | Not accessible | |
| 102 | + |
| 103 | +To use Custom Translator without relaxing network access restrictions on your production Translator resource, consider this workaround: |
| 104 | + |
| 105 | +* Create another Translator resource for development that can be used on a public network. |
| 106 | + |
| 107 | +* Prepare your custom model in the Custom Translator portal on the development resource. |
| 108 | + |
| 109 | +* Copy the model on your development resource to your production resource using [Custom Translator non-interactive REST API](https://microsofttranslator.github.io/CustomTranslatorApiSamples/) `workspaces` → `copy authorization and models` → `copy functions`. |
| 110 | + |
| 111 | +Congratulations! You learned how to use Azure VNet service endpoints with Custom Translator. |
| 112 | + |
| 113 | +## Learn more |
| 114 | + |
| 115 | +Visit the [**Custom Translator API**](https://microsofttranslator.github.io/CustomTranslatorApiSamples/) page to view our non-interactive REST APIs. |
0 commit comments