Compreender o suporte para atualizações de dispositivos desligadas (pré-visualização)
O módulo Microsoft Connected Cache (MCC) para dispositivos IoT Edge permite capacidades de Atualização de Dispositivos em dispositivos desligados atrás de gateways. Num cenário de gateway transparente, um ou mais dispositivos podem transmitir as suas mensagens através de um único dispositivo de gateway que mantém a ligação ao Hub IoT do Azure. Nestes casos, os dispositivos subordinados podem não ter conectividade à Internet ou não podem ser autorizados a transferir conteúdos a partir da Internet. O módulo MCC fornece a Atualização de Dispositivos para Hub IoT clientes com a capacidade de uma cache inteligente na rede. A cache permite atualizações baseadas em imagens e em pacotes de dispositivos baseados em SO Linux que estão protegidos por um gateway de IoT Edge (também denominados dispositivos IoT a jusante). A cache também ajuda a reduzir a largura de banda utilizada para atualizações.
Nota
Estas informações estão relacionadas com uma funcionalidade de pré-visualização que está disponível para testes e utilização precoces num ambiente de produção. Esta funcionalidade é totalmente suportada, mas ainda está em desenvolvimento ativo e pode receber alterações substanciais até ficar disponível para o público.
Se não estiver familiarizado com gateways de IoT Edge, saiba mais sobre Como um dispositivo IoT Edge pode ser utilizado como um gateway.
O que é a Cache Ligada da Microsoft
A Cache Ligada da Microsoft é uma cache inteligente e transparente para conteúdos publicados para a Atualização de Dispositivos para Hub IoT e pode ser personalizada para colocar conteúdo em cache a partir de outras origens, como repositórios de pacotes. A Cache Ligada da Microsoft é uma cache fria que é aquecido por pedidos de cliente para os intervalos de ficheiros exatos pedidos pelo cliente de Otimização da Entrega e não pré-propaga conteúdos. O diagrama seguinte e a descrição passo a passo explicam como a Cache Ligada da Microsoft funciona na infraestrutura de Atualização de Dispositivos.
Nota
Este fluxo pressupõe que o gateway de IoT Edge tem conectividade à Internet. Para o cenário de gateway de IoT Edge a jusante (edge aninhado), a rede de entrega de conteúdos (CDN) pode ser considerada o MCC alojado no gateway de IoT Edge principal.
A Cache Ligada da Microsoft é implementada como um módulo de IoT Edge no servidor de gateway no local.
A Atualização de Dispositivos para clientes Hub IoT está configurada para transferir conteúdos da Cache Ligada da Microsoft através do atributo GatewayHostName da cadeia de ligação do dispositivo para dispositivos de folha IoT ou do parent_hostname definido no config.toml para IoT Edge dispositivos subordinados.
Atualização de Dispositivos para clientes Hub IoT recebem comandos de transferência do serviço Atualização de Dispositivos e pedem conteúdo de atualização da Cache Ligada da Microsoft em vez da CDN. A Cache Ligada da Microsoft escuta na porta HTTP 80 por predefinição e o cliente de Otimização da Entrega faz o pedido de conteúdo na porta 80, pelo que o principal tem de ser configurado para escutar nesta porta. Neste momento, apenas o protocolo HTTP é suportado.
O servidor de Cache Ligada da Microsoft transfere conteúdo da CDN, efetua a sua cache local armazenada no disco e entrega o conteúdo ao cliente de Atualização de Dispositivos.
Nota
Ao utilizar atualizações baseadas em pacotes, o servidor da Cache Ligada da Microsoft será configurado pelo administrador com o nome de anfitrião do pacote necessário.
Os pedidos subsequentes de outros clientes de Atualização de Dispositivos para o mesmo conteúdo de atualização provêm agora da cache e a Cache Ligada da Microsoft não fará pedidos à CDN para o mesmo conteúdo.
Suportar IoT industrial (IIoT) com cenários de alojamento principal/subordinado
Os cenários de IoT Industrial (IIoT) envolvem frequentemente vários níveis de gateways de IoT Edge, com apenas o nível superior a ter acesso à Internet. Neste cenário, cada gateway aloja um serviço de Cache Ligada da Microsoft configurado para pedir conteúdo de atualização a partir do respetivo gateway principal.
Quando um gateway de IoT Edge subordinado (ou a jusante) faz um pedido de atualização de conteúdo do gateway principal, este pedido é repetido para o número de níveis necessários antes de chegar ao gateway de IoT Edge superior que aloja um servidor de Cache Ligada da Microsoft que tenha acesso à Internet. A partir do servidor ligado à Internet, o conteúdo é pedido à CDN, altura em que o conteúdo é devolvido ao gateway de IoT Edge subordinado que solicitou originalmente o conteúdo. O conteúdo é armazenado no disco em todos os níveis.
Pedir acesso à pré-visualização
O módulo microsoft connected cache IoT Edge é lançado como uma pré-visualização para clientes que estão a implementar soluções com a Atualização de Dispositivos para Hub IoT. O acesso à pré-visualização é por convite. Peça acesso à pré-visualização da Cache Ligada da Microsoft para Atualização de Dispositivos para Hub IoT e forneça as informações pedidas se quiser aceder ao módulo.
Configuração do módulo cache ligada da Microsoft
A Cache Ligada da Microsoft é implementada nos gateways do Azure IoT Edge como um módulo de IoT Edge. À semelhança de outros módulos de IoT Edge, as variáveis de ambiente e as opções de criação de contentores são utilizadas para configurar módulos MCC. Esta secção define as variáveis de ambiente e as opções de criação de contentores necessárias para implementar com êxito o módulo MCC para utilização pela Atualização de Dispositivos para Hub IoT.
Não existe nenhum requisito de nomenclatura para o módulo cache ligada da Microsoft, uma vez que nenhuma outra interação de módulo ou serviço depende do nome do módulo MCC para comunicação. Além disso, a relação principal-subordinado dos servidores da Cache Ligada da Microsoft não depende deste nome de módulo, mas sim do FQDN ou do endereço IP do gateway de IoT Edge.
Variáveis de ambiente do módulo
As variáveis de ambiente do módulo cache ligada da Microsoft são utilizadas para transmitir informações básicas de identidade do módulo e definições de módulo funcional para o contentor.
Nome da variável | Formato do valor | Descrição |
---|---|---|
CUSTOMER_ID | GUID do ID da subscrição do Azure | Necessário Este valor é o ID do cliente, que fornece a autenticação segura do nó de cache para os serviços de Otimização da Entrega. |
CACHE_NODE_ID | GUID do ID do nó da cache | Necessário Identifica exclusivamente o nó MCC para os serviços de Otimização da Entrega. |
CUSTOMER_KEY | GUID da Chave de Cliente | Necessário Este valor é a chave do cliente, que fornece a autenticação segura do nó de cache para os serviços de Otimização da Entrega. |
STORAGE_N_SIZE_GB (em que N é a unidade de cache) | Número inteiro | Necessário Especifique até nove unidades para colocar o conteúdo em cache e especifique o espaço máximo em gigabytes a alocar para conteúdo em cada unidade de cache. O número da unidade tem de corresponder aos valores de enlace da unidade de cache especificados no valor MicrosoftConnectedCacheN da opção de criação do contentor. Exemplos: STORAGE_1_SIZE_GB = 150 STORAGE_2_SIZE_GB = 50 O tamanho mínimo da cache é de 10 GB. |
UPSTREAM_HOST | FQDN/IP | Opcional Este valor pode especificar um nó MCC a montante que age como um proxy se o nó cache ligada estiver desligado da Internet. Esta definição é utilizada para suportar o cenário de IoT aninhado. Nota: O MCC escuta na porta predefinida http 80. |
UPSTREAM_PROXY | FQDN/IP:PORT | Opcional O proxy de Internet de saída. Este valor também pode ser o proxy OT DMZ de uma rede ISA 95. |
CACHEABLE_CUSTOM_N_HOST | ANFITRIÃO/IP FQDN |
Opcional Necessário para suportar repositórios de pacotes personalizados. Os repositórios podem ser alojados localmente ou na Internet. Não existe um limite para o número de anfitriões personalizados que podem ser configurados. Exemplos: Nome = CACHEABLE_CUSTOM_1_HOST Valor = packages.foo.com Name = CACHEABLE_CUSTOM_2_HOST Value = packages.bar.com |
CACHEABLE_CUSTOM_N_CANONICAL | Alias | Opcional Necessário para suportar repositórios de pacotes personalizados. Este valor pode ser utilizado como um alias e será utilizado pelo servidor de cache para referenciar nomes DNS diferentes. Por exemplo, o nome do anfitrião do conteúdo do repositório pode ser packages.foo.com, mas para regiões diferentes pode haver um prefixo adicional que é adicionado ao nome do anfitrião, como westuscdn.packages.foo.com e eastuscdn.packages.foo.com. Ao definir o alias canónico, garante que o conteúdo não é duplicado para conteúdo proveniente do mesmo anfitrião, mas sim de origens de CDN diferentes. O formato do valor canónico não é importante, mas tem de ser exclusivo do anfitrião. Pode ser mais fácil definir o valor para corresponder ao valor do anfitrião. Exemplos baseados nos exemplos de anfitriões personalizados anteriores: Name = CACHEABLE_CUSTOM_1_CANONICAL Value = foopackages Nome = Valor CACHEABLE_CUSTOM_2_CANONICAL = packages.bar.com |
IS_SUMMARY_PUBLIC | Verdadeiro ou Falso | Opcional Permite a visualização do relatório de resumo na rede local ou na Internet. A utilização de uma chave de API (discutida mais tarde) é necessária para ver o relatório de resumo, se definido como verdadeiro. |
IS_SUMMARY_ACCESS_UNRESTRICTED | Verdadeiro ou Falso | Opcional Permite a visualização do relatório de resumo na rede local ou na Internet sem a utilização da chave de API de qualquer dispositivo na rede. Utilize se não quiser bloquear o acesso à visualização de dados de resumo do servidor de cache através do browser. |
Opções de criação de contentores de módulos
As opções de criação de contentores fornecem o controlo das definições relacionadas com o armazenamento e as portas utilizadas pelo módulo Microsoft Connected Cache.
Opções de criação de contentores de exemplo:
{
"HostConfig": {
"Binds": [
"/microsoftConnectedCache1/:/nginx/cache1/"
],
"PortBindings": {
"8081/tcp": [
{
"HostPort": "80"
}
],
"5000/tcp": [
{
"HostPort": "5100"
}
]
}
}
}
As secções seguintes listam as variáveis de criação de contentores necessárias utilizadas para implementar o módulo MCC.
HostConfig
Os HostConfig
parâmetros são necessários para mapear a localização de armazenamento do contentor para a localização de armazenamento no disco. Podem ser especificadas até nove localizações.
Nota
O número da unidade tem de corresponder aos valores de enlace da unidade de cache especificados na variável de ambiente STORAGE_N_SIZE_GB valor, /MicrosoftConnectedCache*N*/:/nginx/cache*N*/
.
PortBindings
Os PortBindings
parâmetros mapeiam portas de contentor para portas no dispositivo anfitrião.
O primeiro enlace de porta especifica a porta HTTP do computador externo que o MCC escuta para pedidos de conteúdo. O HostPort predefinido é a porta 80 e outras portas não são suportadas neste momento, uma vez que o cliente da ADU faz pedidos na porta 80 atualmente. A porta TCP 8081 é a porta de contentor interna que o MCC escuta e não pode ser alterada.
O segundo enlace de porta garante que o contentor não está a escutar na porta de anfitrião 5000. O módulo Cache Ligada da Microsoft tem um serviço .NET Core, que é utilizado pelo motor de colocação em cache para várias funções. Para suportar o edge aninhado, o HostPort não pode ser definido como 5000 porque o módulo proxy de registo já está a escutar na porta de anfitrião 5000.
Relatório de resumo da Cache Ligada da Microsoft
O relatório de resumo é atualmente a única forma de um cliente ver os dados de colocação em cache das instâncias da Cache Ligada da Microsoft implementadas em gateways de IoT Edge. O relatório é gerado em intervalos de 15 segundos e inclui estatísticas médias para o período e estatísticas agregadas para a duração do módulo. As principais estatísticas fornecidas pelo relatório são:
- hitBytes - a soma dos bytes entregues que vieram diretamente da cache.
- missBytes – a soma dos bytes fornecidos que a Cache Ligada da Microsoft teve de transferir da CDN para ver a cache.
- eggressBytes - a soma de hitBytes e missBytes e é o total de bytes entregues aos clientes.
- hitRatioBytes – a proporção de hitBytes para egressBytes. Por exemplo, se 100% dos eggressBytes entregues num período fossem iguais aos hitBytes, este valor seria 1.
O relatório de resumo está disponível em http://<IoT Edge gateway>:5001/summary
Substituir <IoT Edge Gateway> pelo endereço IP ou nome do anfitrião do gateway de IoT Edge que aloja o módulo MCC.
Passos seguintes
Saiba como implementar a Cache Ligada da Microsoft em gateways únicos ou gateways IoT aninhados e industriais.