Configurar reglas de firewall de IP para permitir conexiones de indexador de Azure AI Search

En nombre de un indexador, un servicio de búsqueda emite llamadas salientes a un recurso externo de Azure para extraer datos durante la indexación. Si el recurso de Azure usa reglas de firewall de IP para filtrar las llamadas entrantes, debes crear una regla de entrada en el firewall que admita las solicitudes del indexador.

En este artículo se explica cómo buscar la dirección IP del servicio de búsqueda y configurar una regla de IP de entrada en una cuenta de Azure Storage. Aunque es específico de Azure Storage, este enfoque también funciona con otros recursos de Azure que usan reglas de firewall de IP para el acceso a datos, como Azure Cosmos DB y Azure SQL.

Nota:

La cuenta de almacenamiento y el servicio de búsqueda deben estar en regiones diferentes si desea definir reglas de firewall de IP. Si la configuración no permite esto, pruebe una excepción de servicio de confianza o una regla de instancia de un recurso.

Obtención de una dirección IP del servicio de búsqueda

  1. Obtenga el nombre de dominio completo del servicio de búsqueda. Es similar a <search-service-name>.search.windows.net. Para encontrar el nombre de dominio completo, busque el servicio de búsqueda en Azure Portal.

    Screenshot of the search service Overview page.

  2. Para buscar la dirección IP del servicio de búsqueda realice una operación de nslookup (o ping) con el nombre de dominio completo. Asegúrese de quitar el prefijo "https://" del nombre de dominio completo.

  3. Copie la dirección IP para que pueda especificarla en una regla de entrada en el paso siguiente. En el ejemplo siguiente, la dirección IP que debe copiar es "150.0.0.1".

    nslookup contoso.search.windows.net
    Server:  server.example.org
    Address:  10.50.10.50
    
    Non-authoritative answer:
    Name:    <name>
    Address:  150.0.0.1
    aliases:  contoso.search.windows.net
    

Permiso de acceso desde la dirección IP de cliente

Las aplicaciones cliente que insertan solicitudes de indexación y consulta en el servicio de búsqueda deben representarse en un intervalo IP. En Azure, generalmente se puede determinar la dirección IP haciendo ping al FQDN de un servicio (por ejemplo, ping <your-search-service-name>.search.windows.net devuelve la dirección IP de un servicio de búsqueda).

Agregue la dirección IP del cliente para permitir el acceso al servicio desde Azure Portal en el equipo actual. Vaya a la sección Redes en el panel de navegación izquierdo. Cambie Acceso de red pública a Redes seleccionadas y, después, active Agregar la dirección IP del cliente en Firewall.

Screenshot of adding client ip to search service firewall

Obtención de la dirección IP de Azure Portal

Si usas el portal o el Asistente para importar datos para crear un indexador, también vas a necesitar una regla de entrada para el portal.

Para obtener la dirección IP del portal, realice la operación nslookup (o ping) en stamp2.ext.search.windows.net, que es el dominio del administrador de tráfico. En el caso de nslookup, la dirección IP estará visible en la parte "Respuesta no autoritativa" de la respuesta.

En el ejemplo siguiente, la dirección IP que se debe copiar es "52.252.175.48".

$ nslookup stamp2.ext.search.windows.net
Server:  ZenWiFi_ET8-0410
Address:  192.168.50.1

Non-authoritative answer:
Name:    azsyrie.northcentralus.cloudapp.azure.com
Address:  52.252.175.48
Aliases:  stamp2.ext.search.windows.net
          azs-ux-prod.trafficmanager.net
          azspncuux.management.search.windows.net

Los servicios de diferentes regiones se conectan a diferentes administradores de tráfico. Independientemente del nombre de dominio, la dirección IP devuelta por ping es la correcta que se va a usar al definir una regla de Firewall de entrada para el Azure Portal en su región.

Para ping, la solicitud va a agotar el tiempo de espera, pero la dirección IP estará visible en la respuesta. Por ejemplo, en el mensaje "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]" (Haciendo ping a azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]), la dirección IP es "52.252.175.48".

Obtención de las direcciones IP para la etiqueta de servicio "AzureCognitiveSearch"

También necesitará crear una regla de entrada que permita las solicitudes del entorno de ejecución multiinquilino. Microsoft administra este entorno y se usa para descargar trabajos en los que hay mucho que, de lo contrario, podrían sobrecargar el servicio de búsqueda. En esta sección se explica cómo obtener el intervalo de direcciones IP necesario para esta regla de entrada.

Se define un intervalo de direcciones IP para cada región que admite Azure AI Search. Se debe especificar el intervalo completo para asegurarse del éxito de las solicitudes procedentes del entorno de ejecución multiinquilino.

Puede obtener este intervalo de direcciones IP de la etiqueta de servicio AzureCognitiveSearch.

  1. Use la API de detección o el archivo JSON descargable. Si el servicio de búsqueda es la nube pública de Azure, descargue el archivo JSON público de Azure.

  2. Abra el archivo JSON y busque "AzureCognitiveSearch". En el caso de un servicio de búsqueda en WestUS2, las direcciones IP del entorno de ejecución multiinquilino del indexador son las siguientes:

    {
    "name": "AzureCognitiveSearch.WestUS2",
    "id": "AzureCognitiveSearch.WestUS2",
    "properties": {
       "changeNumber": 1,
       "region": "westus2",
       "regionId": 38,
       "platform": "Azure",
       "systemService": "AzureCognitiveSearch",
       "addressPrefixes": [
          "20.42.129.192/26",
          "40.91.93.84/32",
          "40.91.127.116/32",
          "40.91.127.241/32",
          "51.143.104.54/32",
          "51.143.104.90/32",
          "2603:1030:c06:1::180/121"
       ],
       "networkFeatures": null
    }
    },
    
  3. En el caso de las direcciones IP que tienen el sufijo "/32", elimine el "/32" (40.91.93.84/32 se convierte en 40.91.93.84 en la definición de la regla). Todas las demás direcciones IP se pueden usar textualmente.

  4. Copie todas las direcciones IP de la región.

Adición de direcciones IP a reglas de firewall de IP

Ahora que tiene las direcciones IP necesarias, puede configurar la regla de entrada. La forma más fácil de agregar intervalos de direcciones IP a la regla de firewall de una cuenta de almacenamiento es a través de Azure Portal.

  1. Busque la cuenta de almacenamiento en el portal y abra Redes en el panel de navegación izquierdo.

  2. En la pestaña Firewall y redes virtuales, elija Redes seleccionadas.

    Screenshot of Azure Storage Firewall and virtual networks page

  3. Agregue la dirección IP obtenida anteriormente en el intervalo de direcciones y seleccione Guardar. Debe tener reglas para el servicio de búsqueda, Azure Portal (opcional), además de todas las direcciones IP de la etiqueta de servicio "AzureCognitiveSearch" para la región.

    Screenshot of the IP address section of the page.

Las reglas de firewall pueden tardar entre 5 y 10 minutos en actualizarse; transcurrido este tiempo, los indexadores podrán acceder a los datos de la cuenta de almacenamiento detrás del firewall.

Pasos siguientes