Compartir a través de


Seguridad en Azure AI Search

Azure AI Search es una infraestructura de búsqueda escalable que indexa contenido heterogéneo y permite la recuperación a través de API, aplicaciones y agentes de IA. Es adecuado para escenarios de búsqueda empresarial y experiencias de clientes con tecnología de inteligencia artificial que requieren generación dinámica de contenido a través de modelos de finalización de chat. Como servicio de Azure, AI Search proporciona una variedad de funcionalidades para satisfacer sus requisitos de confiabilidad.

Cuando se usa Azure, la confiabilidad es una responsabilidad compartida. Microsoft proporciona una variedad de funcionalidades para admitir resistencia y recuperación. Es responsable de comprender cómo funcionan esas funcionalidades dentro de todos los servicios que usa y de seleccionar las funcionalidades que necesita para cumplir los objetivos empresariales y los objetivos de tiempo de actividad.

En este artículo se describe cómo hacer que Azure AI Search sea resistente a una variedad de posibles interrupciones y problemas, incluidos errores transitorios, interrupciones de zona de disponibilidad, interrupciones de regiones y mantenimiento del servicio. También se describe cómo puede usar copias de seguridad para recuperarse de otros tipos de problemas y se resalta cierta información clave sobre el acuerdo de nivel de servicio (SLA) de Azure AI Search.

Recomendaciones de implementación de producción para la confiabilidad

En el caso de las cargas de trabajo de producción, se recomienda que usted:

  • Use un nivel facturable que tenga al menos dos réplicas. Esta configuración hace que su servicio de búsqueda sea más resistente a errores transitorios y operaciones de mantenimiento. También cumple el acuerdo de nivel de servicio (SLA) para la búsqueda de IA. El Acuerdo de Nivel de Servicio requiere dos réplicas para cargas de trabajo de solo lectura y tres o más réplicas para cargas de trabajo de lectura y escritura.
  • No use el nivel Gratis para su uso en producción. Búsqueda de IA no ofrece un Acuerdo de Nivel de Servicio (SLA) para el nivel gratuito, que está limitado a una réplica.

Introducción a la arquitectura de confiabilidad

Cuando se usa AI Search, se crea un servicio de búsqueda. Cada servicio de búsqueda admite muchos índices de búsqueda que almacenan el contenido que se puede buscar.

La búsqueda de IA no está diseñada como un almacén de datos principal. En su lugar, se usan indexadores para conectar el servicio de búsqueda a orígenes de datos externos. Un indexador rastrea los datos de origen, invoca aptitudes que realizan el procesamiento y el enriquecimiento, y rellena el índice con las salidas de aptitud.

También configurará el número de réplicas para el servicio. En AI Search, una réplica es una copia del motor de búsqueda de tu servicio. Puede pensar en una réplica como si representara una sola máquina virtual (VM). Cada servicio Search puede tener entre 1 y 12 réplicas.

La adición de varias réplicas permite que AI Search pueda:

  • Aumente la disponibilidad del servicio Search.

  • Realice el mantenimiento en una réplica mientras las consultas continúan ejecutándose en otras réplicas.

  • Controle cargas de trabajo de consulta e indexación más altas.

  • Mejore la resistencia intentando aprovisionar réplicas en diferentes zonas de disponibilidad, si la región las admite.

Ai Search asigna automáticamente una réplica para que sea la réplica principal. Todas las operaciones de escritura se realizan en esa réplica. Las otras réplicas se usan para las operaciones de lectura.

En el diagrama siguiente se muestra cómo un servicio Search con tres réplicas se puede distribuir entre tres zonas de disponibilidad:

Diagrama que muestra un servicio Search de IA con tres réplicas. Las operaciones de lectura se envían a todas las réplicas y las operaciones de escritura se envían a la réplica principal.

También puede configurar el número de particiones, que representan el almacenamiento que usan los índices de búsqueda.

Es importante comprender el impacto de agregar réplicas y particiones, ya que cada uno afecta al rendimiento de lectura y escritura de maneras diferentes. Para obtener más información sobre las réplicas y las particiones, consulte Estimación y administración de la capacidad de un servicio Search.

Resistencia a errores transitorios

Los errores transitorios son errores breves e intermitentes en los componentes. Se producen con frecuencia en un entorno distribuido como la nube y son una parte normal de las operaciones. Los errores transitorios se corrigen después de un breve período de tiempo. Es importante que sus aplicaciones puedan administrar errores transitorios, generalmente reintentando las solicitudes afectadas.

Todas las aplicaciones hospedadas en la nube deben seguir las instrucciones de control de errores transitorios de Azure cuando se comunican con cualquier API, bases de datos y otros componentes hospedados en la nube. Para obtener más información, consulte Recomendaciones para controlar errores transitorios.

Los indexadores de AI Search tienen un control de errores transitorios integrado. Si un origen de datos no está disponible brevemente, el indexador está diseñado para recuperarse y volver a intentarlo. Usa el seguimiento de cambios para reanudar la indexación del último documento indizado correctamente.

Los servicios de búsqueda pueden experimentar errores transitorios durante las operaciones de mantenimiento estándar y no programadas. Búsqueda de Azure AI no proporciona notificaciones anticipadas ni permite la programación de mantenimiento en momentos específicos. Aunque se hace todo lo posible por minimizar el tiempo de inactividad, incluso en los servicios de réplica única, pueden producirse breves interrupciones. Para mejorar la resistencia frente a estos errores transitorios, se recomienda usar dos o más réplicas.

Si construyes aplicaciones que interactúan con AI Search, estas deben manejar errores transitorios. Use una estrategia de reintento con retrocesos exponenciales para las operaciones de lectura y escritura.

Resistencia a errores de zona de disponibilidad

Las zonas de disponibilidad son grupos físicamente independientes de centros de datos dentro de una región de Azure. Cuando una zona falla, los servicios pueden transferirse a una de las zonas restantes.

AI Search tiene redundancia de zona, lo que significa que las réplicas se distribuyen a través de varias zonas de disponibilidad dentro de la región del servicio de búsqueda.

Al agregar dos o más réplicas al servicio, AI Search intenta colocar cada réplica en una zona de disponibilidad diferente. En el caso de los servicios que tienen más réplicas que las zonas disponibles, las réplicas se distribuyen entre zonas lo más uniformemente posible.

En el diagrama siguiente se muestra cómo se puede implementar un servicio de búsqueda de ejemplo con cuatro réplicas en tres zonas de disponibilidad:

Diagrama que muestra un servicio Search de IA con cuatro réplicas distribuidas entre tres zonas de disponibilidad.

Importante

La búsqueda de IA no garantiza la ubicación exacta de las réplicas. La selección de ubicación está sujeta a restricciones de capacidad, operaciones de escalado y otros factores.

Requisitos

La redundancia de zona se habilita automáticamente cuando el servicio Search cumple todos los criterios siguientes:

  • Compatibilidad con regiones: La compatibilidad con zonas de disponibilidad depende de la infraestructura y el almacenamiento. Para obtener una lista de las regiones admitidas, consulte Elección de una región para la búsqueda de IA.

  • Nivel: El servicio debe estar en el nivel Básico o superior.

  • Número de réplicas: El servicio debe tener al menos dos réplicas.

    Nota:

    Ai Search intenta distribuir réplicas entre varias zonas cuando tiene dos o más réplicas. Sin embargo, para las cargas de trabajo de lectura y escritura, debería usar tres o más réplicas para lograr el SLA de disponibilidad más alto posible.

Distribución de instancias a través de zonas

AI Search intenta colocar réplicas en diferentes zonas de disponibilidad. Sin embargo, en ocasiones hay situaciones en las que todas las réplicas de un servicio de búsqueda pueden colocarse en la misma zona de disponibilidad. Esta situación puede ocurrir cuando las réplicas se quitan del servicio, como cuando se reduce horizontalmente configurando el servicio para que use menos réplicas. La eliminación de réplicas no hace que las réplicas restantes se redistribuyan automáticamente entre las zonas de disponibilidad.

Para reducir la probabilidad de que todas las réplicas se coloquen en una sola zona de disponibilidad, puede desencadenar manualmente una operación de escalabilidad horizontal inmediatamente después de una operación de reducción horizontal. Por ejemplo, supongamos que el servicio Search tiene 10 réplicas y desea reducir horizontalmente a 7 réplicas. En lugar de realizar una sola operación de escalado, puede escalar temporalmente a 6 instancias y, a continuación, escalar inmediatamente a 7 instancias para desencadenar el reequilibrio de zona.

Costos

Cada servicio de búsqueda comienza con una réplica. La redundancia de zona requiere dos o más réplicas, lo que aumenta el costo de ejecutar el servicio. Para comprender las implicaciones de facturación de las réplicas, utilice la calculadora de precios.

Configurar soporte de zonas de disponibilidad

Si su servicio de búsqueda cumple los requisitos de redundancia de zona, no es necesaria ninguna configuración adicional. Siempre que sea posible, AI Search procura colocar las réplicas en diferentes zonas de disponibilidad.

Planeamiento y administración de capacidad

Para prepararse para un fallo en la zona de disponibilidad, considere sobreaprovisionar el número de réplicas. El aprovisionamiento excesivo permite al servicio de búsqueda tolerar cierta pérdida de capacidad y seguir funcionando sin un rendimiento degradado. Agregar réplicas durante una interrupción es difícil, por lo que el aprovisionamiento excesivo ayuda a garantizar que el servicio de búsqueda pueda controlar los volúmenes de solicitudes normales, incluso con una capacidad reducida. Para más información, consulte Administración de la capacidad mediante el sobreaprovisionamiento.

Comportamiento cuando todas las zonas están en buen estado

En esta sección se describe qué esperar cuando los servicios Search están configurados para la redundancia de zona y todas las zonas de disponibilidad están operativas.

  • Enrutamiento de tráfico entre zonas: AI Search ejecuta el equilibrio de carga automático de todas las consultas y escrituras a través de todas las réplicas disponibles. AI Search puede enviar operaciones de lectura a cualquier réplica de cualquier zona de disponibilidad. Envía operaciones de escritura a una sola réplica principal que el servicio AI Search selecciona.

  • Replicación de datos entre zonas: Los cambios en los datos se replican automáticamente entre réplicas entre zonas de disponibilidad. La replicación se produce de forma asincrónica, lo que significa que las escrituras se confirman en una réplica principal antes de que se repliquen en otras réplicas.

Comportamiento durante un fallo de zona

En esta sección se describe qué esperar cuando los servicios de búsqueda están configurados para la redundancia de zona y se produce una interrupción de zona de disponibilidad.

  • Detección y respuesta: Ai Search es responsable de detectar un error en una zona de disponibilidad. No es necesario hacer nada para iniciar una conmutación por error de la zona.
  • Solicitudes activas: Se finalizan las solicitudes que las réplicas procesan en la zona con errores. Los clientes deben reintentar las solicitudes siguiendo las instrucciones para controlar errores transitorios.

  • Pérdida de datos esperada: Si la zona de disponibilidad afectada solo contiene réplicas de lectura, no se espera ninguna pérdida de datos.

    Si se pierde la réplica principal porque estaba en la zona afectada, es posible que se pierdan las operaciones de escritura que aún no se hayan replicado.

  • Tiempo de inactividad esperado: En la mayoría de las situaciones, no se espera que un error de zona provoque tiempo de inactividad en el servicio de búsqueda para las operaciones de lectura porque las réplicas de lectura de otras zonas de disponibilidad siguen atendiendo solicitudes.

    Si se pierde la réplica principal porque estaba en la zona afectada, AI Search promueve automáticamente otra réplica para convertirse en la nueva principal para que las operaciones de escritura se puedan reanudar. Normalmente, la promoción de la réplica tarda unos segundos en producirse. Durante este tiempo, es posible que las operaciones de escritura no se realicen correctamente. Asegúrese de que las aplicaciones están preparadas siguiendo las instrucciones de control de errores transitorios.

    Sin embargo, hay algunas situaciones poco probables en las que todas las réplicas de su servicio Search podrían encontrarse en una única zona de disponibilidad. En este escenario, puede experimentar una interrupción del servicio hasta que se recupere la zona. Para obtener más información y comprender una solución alternativa, consulte Distribución de instancias.

  • Reenrutamiento del tráfico: Cuando se produce un error en una zona, AI Search detecta el error y enruta las solicitudes a réplicas activas en las zonas supervivientes. Si se pierde la réplica principal, se promueve otra réplica para que sea la nueva principal.

Recuperación de zona

Cuando se recupera la zona de disponibilidad, AI Search restaura automáticamente las operaciones normales y comienza a enrutar el tráfico a las réplicas disponibles en todas las zonas, incluida la zona recuperada.

Prueba de fallos de zona

AI Search administra el enrutamiento del tráfico para los servicios con redundancia de zona. No es necesario iniciar ni validar ningún proceso de error de zona.

Resistencia a errores en toda la región

AI Search es un servicio de una sola región. Si la región deja de estar disponible, su servicio de búsqueda también dejará de estar disponible.

Soluciones personalizadas de varias regiones para la resistencia

Opcionalmente, puede implementar varios servicios de búsqueda de IA en diferentes regiones. Es responsable de implementar y configurar servicios independientes en cada región. Si crea una implementación idéntica en una región secundaria de Azure que usa una arquitectura de varias regiones, la aplicación será menos susceptible a un desastre de una sola región.

Cuando se sigue este enfoque, es necesario sincronizar los índices entre regiones para recuperar el último estado de la aplicación. También debe configurar las directivas de equilibrio de carga y conmutación por error.

Para optimizar el rendimiento de la solución general, busque oportunidades para realizar la indexación en réplicas de solo lectura de los orígenes de datos. Por ejemplo, algunos indexadores admiten la lectura desde las réplicas de lectura de un origen de datos distribuido geográficamente.

Para más información, consulte Implementaciones de varias regiones en Búsqueda de Azure AI.

Copias de seguridad y restauración

Dado que AI Search no es una solución de almacenamiento de datos principal, no proporciona opciones de copia de seguridad y restauración de autoservicio. Sin embargo, puede usar la muestra index-backup-restore para .NET o Python para hacer una copia de seguridad de la definición del índice y sus documentos en una serie de archivos JSON, que luego se usan para restaurar el índice.

Sin embargo, si elimina accidentalmente el índice y no tiene una copia de seguridad, puede volver a generar el índice. La regeneración implica volver a crear el índice en su servicio de búsqueda y luego volver a cargarlo recuperando los datos de su almacén de datos principal.

Acuerdo de nivel de servicio

El contrato de nivel de servicio (SLA) para los servicios de Azure describe la disponibilidad esperada de cada servicio y las condiciones que la solución deberá cumplir para lograr esa expectativa de disponibilidad. Para obtener más información, consulte Acuerdos de Nivel de Servicio para servicios en línea.

En AI Search, el Acuerdo de Nivel de Servicio de disponibilidad se aplica a los servicios de búsqueda que:

  • Están configurados para usar un nivel facturable.
  • Tener al menos dos réplicas para cargas de trabajo de solo lectura (consultas).
  • Tener al menos tres réplicas para cargas de trabajo de lectura y escritura (consultas e indexación).