Información sobre la compatibilidad con las actualizaciones de dispositivos desconectados (versión preliminar)
El módulo Caché conectada de Microsoft (MCC) para dispositivos IoT Edge habilita las funcionalidades de Device Update en dispositivos desconectados detrás de puertas de enlace. En un escenario de puerta de enlace transparente, uno o varios dispositivos pueden pasar sus mensajes a través de un dispositivo de puerta de enlace único que mantiene la conexión con Azure IoT Hub. En estos casos, es posible que los dispositivos secundarios no tengan conectividad a Internet o que no se les permita descargar contenido de Internet. El módulo MCC proporciona a los clientes de Device Update for IoT Hub la capacidad de una caché inteligente en red. La memoria caché permite actualizaciones basadas en imágenes y basadas en paquetes de dispositivos basados en el sistema operativo Linux que se encuentran detrás de una puerta de enlace IoT Edge (también denominados dispositivos IoT de bajada). La memoria caché también ayuda a reducir el ancho de banda usado para las actualizaciones.
Nota
Esta información está relacionada con una característica en vista previa que está disponible para las primeras pruebas y su uso en un entorno de producción. Esta característica es totalmente compatible, pero todavía se encuentra en desarrollo activo y es posible que reciba cambios sustanciales hasta que esté disponible con carácter general.
Si no está familiarizado con las puertas de enlace IoT Edge, obtenga más información sobre Cómo se puede usar un dispositivo IoT Edge como puerta de enlace.
Qué es la Caché conectada de Microsoft
Caché conectada de Microsoft es una memoria caché inteligente y transparente para el contenido publicado para Device Update for IoT Hub y también se puede personalizar para almacenar en caché contenido de otros orígenes, como los repositorios de paquetes. Caché conectada de Microsoft es una memoria caché de uso poco frecuente que se activa con las solicitudes de cliente para los intervalos de archivos exactos solicitados por el cliente de Optimización de distribución y no realiza una inicialización previa del contenido. En el diagrama y la descripción paso a paso que se muestran a continuación se explica cómo funciona la Caché conectada de Microsoft dentro de la infraestructura de Device Update.
Nota
En este flujo se supone que la puerta de enlace de IoT Edge tiene conectividad a Internet. Para el escenario de puerta de enlace IoT Edge de bajada (perímetro anidado), la red de entrega de contenido (CDN) se puede considerar la MCC hospedada en la puerta de enlace IoT Edge primaria.
La Caché conectada de Microsoft se implementa como un módulo IoT Edge en el servidor de puerta de enlace local.
Los clientes de Device Update for IoT Hub están configurados para descargar contenido de la Caché conectada de Microsoft mediante el atributo GatewayHostName de la cadena de conexión del dispositivo para dispositivos hoja IoT o el valor establecido de parent_hostname en el archivo config.toml para los dispositivos IoT Edge secundarios.
Los clientes de Device Update for IoT Hub reciben los comandos de descarga desde el servicio de Device Update y solicitan el contenido de la actualización desde la Caché conectada de Microsoft en lugar de CDN. Caché conectada de Microsoft escucha en el puerto HTTP 80 de manera predeterminada, y el cliente de Optimización de distribución realiza la solicitud de contenido en el puerto 80, por lo que el elemento primario debe estar configurado para escuchar en este puerto. En este momento solo se admite el protocolo HTTP.
El servidor de Caché conectada de Microsoft descarga el contenido de la red CDN, inicializa su memoria caché local almacenada en el disco y entrega el contenido al cliente de Device Update.
Nota
Al utilizar actualizaciones basadas en paquetes, el administrador configurará el servidor de Caché conectada de Microsoft con el nombre de host del paquete necesario.
Las solicitudes posteriores de otros clientes de Device Update para el mismo contenido de actualización ahora proceden de la memoria caché y la Caché conectada de Microsoft no realizará solicitudes a la red CDN para el mismo contenido.
Compatibilidad con IoT industrial (IIoT) con escenarios de hospedaje de elementos primarios y secundarios
Los escenarios de IoT industrial (IIoT) suelen implicar varios niveles de puertas de enlace IoT Edge, donde solo el nivel superior tiene acceso a Internet. En este escenario, cada puerta de enlace hospeda un servicio de Caché conectada de Microsoft que está configurado para solicitar el contenido de la actualización de su puerta de enlace primaria.
Cuando una puerta de enlace IoT Edge secundaria (o de bajada) realiza una solicitud de contenido de actualización a su puerta de enlace primaria, esta solicitud se repite para tantos niveles como sea necesario antes de llegar a la puerta de enlace IoT Edge de nivel superior que hospeda un servidor de Caché conectada de Microsoft que tiene acceso a Internet. Desde el servidor conectado a Internet se solicita el contenido desde la red CDN, momento en el que el contenido se devuelve a la puerta de enlace IoT Edge secundaria que solicitó originalmente el contenido. El contenido se almacena en el disco en cada nivel.
Solicitud del acceso a la versión preliminar
El módulo IoT Edge de Caché conectada de Microsoft se ha publicado como una versión preliminar para los clientes que implementan soluciones con Device Update for IoT Hub. El acceso a la versión preliminar es por invitación. Solicite acceso a la versión preliminar de Caché conectada de Microsoft para Device Update for IoT Hub y proporcione la información solicitada si desea acceder al módulo.
Configuración del módulo de Caché conectada de Microsoft
La Caché conectada de Microsoft se implementa en las puertas de enlace Azure IoT Edge como un módulo de IoT Edge. Al igual que otros módulos de Azure IoT Edge, las variables de entorno y las opciones de creación del contenedor se usan para configurar los módulos de MCC. En esta sección se definen las variables de entorno y las opciones de creación del contenedor necesarias para implementar correctamente el módulo de MCC para su uso por parte de Device Update for IoT Hub.
No hay ningún requisito de nomenclatura para el módulo Caché conectada de Microsoft, ya que no hay ninguna interacción con otros módulos o servicios que dependa del nombre del módulo de MCC para la comunicación. Además, la relación entre elementos primarios y secundarios de los servidores de Caché conectada de Microsoft no depende del nombre de este módulo, sino del FQDN o la dirección IP de la puerta de enlace de Azure IoT Edge.
Variables de entorno del módulo
Las variables de entorno del módulo Caché conectada de Microsoft se usan para pasar al contenedor información básica de la identidad del módulo y las opciones funcionales del módulo.
Nombre de la variable | Formato del valor | Descripción |
---|---|---|
CUSTOMER_ID | GUID del identificador de suscripción de Azure | Requerido Este valor es el id. de cliente, que proporciona autenticación segura del nodo de caché a los servicios de Optimización de distribución. |
CACHE_NODE_ID | GUID del identificador del nodo de caché | Requerido Identifica de forma única el nodo de MCC a los servicios de Optimización de distribución. |
CUSTOMER_KEY | GUID de la clave de cliente | Obligatorio Este valor es la clave del cliente, que proporciona autenticación segura del nodo de caché a los servicios de Optimización de distribución. |
STORAGE_N_SIZE_GB (donde N es la unidad de caché) | Entero | Requerido Especifique hasta nueve unidades para almacenar contenido en caché y especifique el espacio máximo en gigabytes para asignar contenido a cada unidad de caché. El número de la unidad debe coincidir con los valores del enlace de la unidad de caché especificados en el valor MicrosoftConnectedCacheN de la configuración de creación del contenedor. Ejemplos: STORAGE_1_SIZE_GB = 150 STORAGE_2_SIZE_GB = 50 El tamaño mínimo de la caché es de 10 GB. |
UPSTREAM_HOST | FQDN/IP | Opcional Este valor puede especificar un nodo de MCC ascendente que actúa como proxy si el nodo de Caché conectada se desconecta de Internet. Esta configuración se usa para admitir el escenario de IoT anidado. Nota: MCC escucha en el puerto predeterminado http 80. |
UPSTREAM_PROXY | FQDN/IP:PORT | Opcional Servidor proxy de salida de Internet. Este valor también podría ser el proxy de la red perimetral (DMZ) de OT para una red ISA 95. |
CACHEABLE_CUSTOM_N_HOST | HOST/IP FQDN |
Opcional Necesario para admitir repositorios de paquetes personalizados. Los repositorios se pueden hospedar localmente o en Internet. No hay ningún límite en el número de hosts personalizados que se pueden configurar. Ejemplos: Nombre = CACHEABLE_CUSTOM_1_HOST valor = packages.foo.com Nombre = CACHEABLE_CUSTOM_2_HOST valor = packages.bar.com |
CACHEABLE_CUSTOM_N_CANONICAL | Alias | Opcional Necesario para admitir repositorios de paquetes personalizados. Este valor se puede usar como alias y el servidor de caché lo utilizará para hacer referencia a distintos nombres DNS. Por ejemplo, el nombre de host de contenido del repositorio puede ser packages.foo.com, pero para diferentes regiones podría haber un prefijo adicional que se agregue al nombre de host, como westuscdn.packages.foo.com y eastuscdn.packages.foo.com. Al establecer el alias canónico, se asegura de que el contenido no se duplique para el contenido procedente del mismo host, pero de orígenes de red CDN diferentes. El formato del valor canónico no es importante, pero debe ser único para el host. Puede ser más fácil establecer el valor para que coincida con el valor del host. Ejemplos basados en los ejemplos de host personalizados anteriores: Nombre = CACHEABLE_CUSTOM_1_CANONICAL valor = foopackages Nombre = CACHEABLE_CUSTOM_2_CANONICAL valor = packages.bar.com |
IS_SUMMARY_PUBLIC | Verdadero o falso | Opcional Permite ver el informe de resumen en la red local o en Internet. Es necesario el uso de una clave de API (que se describe más adelante) para ver el informe de resumen si está establecido en true. |
IS_SUMMARY_ACCESS_UNRESTRICTED | Verdadero o falso | Opcional Permite ver el informe de resumen en la red local o en Internet sin usar la clave de API desde cualquier dispositivo de la red. Úselo si no desea bloquear el acceso a la vista de los datos de resumen del servidor de caché mediante el explorador. |
Opciones de creación del contenedor del módulo
Las opciones de creación del contenedor proporcionan control de la configuración relacionado con el almacenamiento y los puertos utilizados por el módulo de Caché conectada de Microsoft.
Ejemplo de opciones de creación del contenedor:
{
"HostConfig": {
"Binds": [
"/microsoftConnectedCache1/:/nginx/cache1/"
],
"PortBindings": {
"8081/tcp": [
{
"HostPort": "80"
}
],
"5000/tcp": [
{
"HostPort": "5100"
}
]
}
}
}
En las secciones siguientes se enumeran las variables de creación de contenedor necesarias que se usan para implementar el módulo de MCC.
HostConfig
Los parámetros HostConfig
son necesarios para asignar la ubicación de almacenamiento del contenedor a la ubicación de almacenamiento en el disco. Se pueden especificar hasta nueve ubicaciones.
Nota
El número de la unidad debe coincidir con los valores del enlace de la unidad de caché especificados por el valor de la variable de entorno STORAGE_N_SIZE_GB, /MicrosoftConnectedCache*N*/:/nginx/cache*N*/
.
Enlaces de puerto
Los parámetros PortBindings
asignan puertos del contenedor a puertos en el dispositivo anfitrión.
El primer enlace de puerto especifica el puerto HTTP de la máquina externa en el que MCC escucha las solicitudes de contenido. El valor predeterminado de HostPort es el puerto 80, y no se admiten otros puertos en este momento, ya que el cliente de ADU realiza solicitudes en el puerto 80 actualmente. El puerto TCP 8081 es el puerto del contenedor interno en el que escucha MCC y no se puede cambiar.
El segundo enlace de puerto garantiza que el contenedor no escuche en el puerto de host 5000. El módulo de Caché conectada de Microsoft tiene un servicio de .NET Core que es utilizado por el motor de almacenamiento en caché para diversas funciones. Para admitir el perímetro anidado, HostPort no se debe establecer en 5000, porque el módulo de proxy del registro ya escucha en el puerto de host 5000.
Informe de resumen de Caché conectada de Microsoft
El informe de resumen es actualmente la única manera de que un cliente vea los datos de almacenamiento en caché de las instancias de Caché conectada de Microsoft implementadas en puertas de enlace de IoT Edge. El informe se genera en intervalos de 15 segundos e incluye las estadísticas promedio del período, así como las estadísticas agregadas para la duración del módulo. Las estadísticas clave que proporciona el informe son:
- hitBytes: la suma de los bytes entregados que proceden directamente de la memoria caché.
- missBytes: la suma de los bytes entregados que Caché conectada de Microsoft ha tenido que descargar de CDN para ver la memoria caché.
- eggressBytes: la suma de hitBytes y missBytes, y es el total de bytes entregados a los clientes.
- hitRatioBytes: la relación entre hitBytes y egressBytes. Por ejemplo, si el 100 % de los eggressBytes entregados en un período fuese igual a los hitBytes, este valor sería 1.
El informe de resumen está disponible en http://<IoT Edge gateway>:5001/summary
. Reemplace <Puerta de enlace de IoT Edge> por la dirección IP o el nombre de host de la puerta de enlace de IoT Edge que hospeda al módulo de MCC.
Pasos siguientes
Obtenga información sobre cómo implementar la Caché conectada de Microsoft en puertas de enlace únicas o puertas de enlace IoT anidadas e industriales.