Uso de contenedores de Docker en entornos desconectados
Los contenedores permiten ejecutar las API de servicios de Azure AI en su propio entorno y cumplen de manera ideal sus requisitos específicos de seguridad y gobernanza de datos. Los contenedores desconectados permiten usar varias de estas API sin conexión a Internet. Actualmente, los siguientes contenedores se pueden ejecutar de esta manera:
- Speech to Text
- Conversión de voz en texto personalizada
- Texto a voz neuronal
- Traducción de texto (Estándar)
- Lenguaje de Azure AI
- Visión de Azure AI: Lectura
- Inteligencia de documentos
Antes de intentar ejecutar un contenedor de Docker en un entorno sin conexión, asegúrese de conocer los pasos para descargar y usar correctamente el contenedor. Por ejemplo:
- Recomendaciones y requisitos del equipo host.
- El comando
pull
de Docker que usará para descargar el contenedor. - Validación de que un contenedor está en ejecución.
- Envío de consultas al punto de conexión del contenedor, una vez que se está ejecutando.
Solicitud de acceso para usar contenedores en entornos desconectados
Rellene y envíe el formulario de solicitud para solicitar acceso a los contenedores desconectados de Internet.
El formulario solicita información acerca del usuario y de su empresa, así como del escenario de usuario para el que se va a usar el contenedor. Después de enviar el formulario, el equipo de servicios de Azure AI lo revisará y le informará de la decisión por correo electrónico en un plazo máximo de 10 días laborables.
Importante
- En el formulario, debe usar una dirección de correo electrónico asociada a un identificador de suscripción de Azure.
- El recurso de Azure que se usa para ejecutar el contenedor se debe haber creado con el identificador de la suscripción de Azure aprobada.
- Compruebe el correo electrónico (bandeja de entrada y carpetas de correo no deseado) para obtener las actualizaciones del estado de la aplicación por parte de Microsoft.
Una vez aprobado, podrá ejecutar el contenedor después de descargarlo de Microsoft Container Registry (MCR) que se describe más adelante en el artículo.
No podrá ejecutar el contenedor si su suscripción de Azure no se ha aprobado.
El acceso se limita a los clientes que cumplen los siguientes requisitos:
- Su organización debe estar identificada como cliente estratégico o asociado de Microsoft.
- Se espera que los contenedores desconectados se ejecuten completamente sin conexión, de ahí que los casos de uso deban cumplir uno de los requisitos siguientes o similares:
- Entornos o dispositivos sin conectividad a Internet.
- Ubicación remota que de vez en cuando tiene acceso a Internet.
- Organización bajo una estricta regulación de no devolver ningún tipo de datos a la nube.
- Aplicación completada como se ha indicado: preste mucha atención a las instrucciones que se dan en la aplicación para asegurarse de que aporta toda la información necesaria para la aprobación.
Compra de un plan de precios de nivel de compromiso para contenedores desconectados
Crear un nuevo recurso
Inicie sesión en Azure Portal y seleccione Crear un nuevo recurso para uno de los servicios de Azure AI aplicables enumerados anteriormente.
Escriba la información correspondiente para crear el recurso. Asegúrese de seleccionar Contenedores desconectados de nivel de compromiso como plan de tarifa.
Nota
- La opción de adquirir un nivel de compromiso solo se ve si se ha recibido la aprobación de Microsoft.
- Los detalles de precios son solo un ejemplo.
En la parte inferior de la página, seleccione Revisar y crear. Examine la información y seleccione Crear.
Configuración del contenedor para el uso desconectado
Consulta la siguiente documentación para conocer los pasos para descargar y configurar el contenedor para uso sin conexión:
- Visión: Lectura
- Language Understanding (LUIS)
- Traducción de texto (Estándar)
- Inteligencia de documentos
Servicio Voz
Servicio de lenguaje
- Análisis de sentimiento
- Extracción de frases clave
- Detección de idioma
- Reconocimiento de entidades con nombre
- Detección de información de identificación personal
Nombres de variables de entorno en las implementaciones de Kubernetes
Algunos contenedores de Azure AI, por ejemplo Traductor, requieren que los usuarios pasen nombres de variables de entorno que incluyan dos puntos (:
) al ejecutar el contenedor. Esto funcionará bien al usar Docker, pero Kubernetes no acepta dos puntos en los nombres de variables de entorno.
Para resolverlo, puede reemplazar los dos puntos por caracteres de subrayado doble (__
) al implementar en Kubernetes. Consulte el ejemplo siguiente de un formato aceptable para los nombres de las variables de entorno:
env:
- name: Mounts__License
value: "/license"
- name: Mounts__Output
value: "/output"
Este ejemplo reemplaza el formato predeterminado para los nombres de las variables de entorno Mounts:License
y Mounts:Output
en el comando docker run.
Actualizaciones de imágenes y licencias de contenedor
Los archivos de licencia de contenedor se usan como claves para descifrar determinados archivos dentro de cada imagen de contenedor. Si estos archivos cifrados se actualizan dentro de una nueva imagen de contenedor, es posible que el archivo de licencia que tenga no pueda iniciar el contenedor aunque funcione con la versión anterior de la imagen de contenedor. Para evitar este problema, se recomienda descargar un nuevo archivo de licencia del punto de conexión de recursos para el contenedor proporcionado en Azure Portal después de extraer nuevas versiones de imagen de mcr.microsoft.com.
Para descargar un nuevo archivo de licencia, puede agregar DownloadLicense=True
al comando de ejecución de Docker junto con un montaje de licencia, la clave de API y el punto de conexión de facturación. Consulte la documentación del contenedor para obtener instrucciones detalladas.
Registros de uso
Cuando los contenedores de Docker se operan en un entorno sin conexión, el contenedor escribirá los registros de uso en un volumen en el que se recopilan a lo largo del tiempo. También puede llamar a un punto de conexión de REST para generar un informe sobre el uso del servicio.
Argumentos para almacenar registros
Cuando se ejecuta en un entorno desconectado, debe estar disponible un montaje de salida en el contenedor para almacenar los registros de uso. Por ejemplo, incluiría -v /host/output:{OUTPUT_PATH}
y Mounts:Output={OUTPUT_PATH}
en el ejemplo siguiente, y reemplazaría {OUTPUT_PATH}
por la ruta de acceso donde se almacenarán los registros:
docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}
Obtención de registros mediante los puntos de conexión del contenedor
El contenedor proporciona dos puntos de conexión para devolver registros sobre su uso.
Obtención de todos los registros
El siguiente punto de conexión proporcionará un informe que resume todo el uso recopilado en el directorio de registros de facturación montado.
https://<service>/records/usage-logs/
Devolverá un código JSON similar al ejemplo siguiente.
{
"apiType": "noop",
"serviceName": "noop",
"meters": [
{
"name": "Sample.Meter",
"quantity": 253
}
]
}
Obtención de registros de un mes concreto
El siguiente punto de conexión proporcionará un informe que resume el uso durante un mes y año específicos.
https://<service>/records/usage-logs/{MONTH}/{YEAR}
Devolverá una respuesta JSON similar al ejemplo siguiente:
{
"apiType": "string",
"serviceName": "string",
"meters": [
{
"name": "string",
"quantity": 253
}
]
}
Compra de un plan de compromiso para usar contenedores en entornos desconectados
Los planes de compromiso para contenedores sin conexión tienen un período de compromiso de un año natural. Al comprar un plan, se le cobrará el precio completo de inmediato. Durante el período de compromiso, no puede cambiar el plan de compromiso, pero puede comprar unidades adicionales a un precio prorrateado para los días que falten del año. Tiene hasta la medianoche (UTC) del último día del compromiso para finalizar un plan de compromiso.
Puede elegir otro plan de compromiso en la configuración de Precios de nivel de compromiso del recurso.
Finalización de un plan de compromiso
Si decide que no quiere seguir comprando un plan de compromiso, puede establecer la renovación automática del recurso en No renovar automáticamente. El plan de compromiso expirará en la fecha de finalización del compromiso mostrada. Después de esta fecha, no se le cobrará por el plan de compromiso. Podrá seguir usando el recurso de Azure para realizar llamadas API, según los precios de pago por uso. Tiene hasta la medianoche (UTC) del último día del año para finalizar un plan de compromiso para contenedores sin conexión y no se le cobrará el año siguiente.
Solución de problemas
Si ejecuta el contenedor con un montaje de salida y el registro habilitados, el contenedor genera archivos de registro que resultan útiles para solucionar problemas que se producen al iniciar o ejecutar el contenedor.
Sugerencia
Para más información e instrucciones para la solución de problemas, consulte Preguntas frecuentes sobre los contenedores sin conexión.