Compartilhar via


Saiba mais sobre o suporte à atualização de dispositivos desconectados (versão prévia)

O módulo Cache Conectado da Microsoft (MCC) para dispositivos IoT Edge habilita recursos de Atualização de Dispositivo em dispositivos desconectados por trás de gateways. Em um cenário de gateway transparente, um ou mais dispositivos podem passar suas mensagens por meio de um único dispositivo de gateway que mantém a conexão com o Hub IoT do Azure. Nesses casos, os dispositivos filhos podem não ter conectividade com a Internet ou permissão para baixar conteúdo da Internet. O módulo MCC fornece aos clientes da Atualização de Dispositivo para Hub IoT a capacidade de um cache inteligente na rede. O cache permite atualizações baseadas em imagem e em pacote de dispositivos baseados no sistema operacional Linux que estão por trás de um gateway IoT Edge (também chamado de dispositivos IoT downstream). O cache também ajuda a reduzir a largura de banda usada para atualizações.

Observação

Essas informações referem-se a uma versão prévia do recurso disponível para testes antecipados e uso em um ambiente de produção. Esse recurso tem suporte total, mas ainda está em desenvolvimento ativo e pode receber alterações substanciais até que ele fique disponível.

Se você não estiver familiarizado com gateways IoT Edge, saiba mais sobre Como um dispositivo IoT Edge pode ser usado como um gateway.

O que é o Cache Conectado da Microsoft

O Cache Conectado da Microsoft é um cache inteligente e transparente para conteúdo publicado para a Atualização de Dispositivo para Hub IoT e pode ser personalizado para armazenar em cache o conteúdo de outras fontes como repositórios de pacotes. O Cache Conectado da Microsoft é um cache frio que é aquecido por solicitações de cliente para os intervalos de arquivos exatos solicitados pelo cliente de Otimização de Entrega e não faz o pré-lançamento do conteúdo. O diagrama e a descrição passo a passo a seguir explicam como o Cache Conectado da Microsoft funciona na infraestrutura de Atualização de Dispositivo.

Observação

Esse fluxo pressupõe que o gateway de IoT Edge tenha conectividade com a internet. Para o cenário de gateway downstream do IoT Edge (borda aninhada), a CDN (rede de distribuição de conteúdo) pode ser considerada o MCC hospedado no gateway do IoT Edge pai.

Diagrama que demonstra como o módulo Cache Conectado da Microsoft habilita a atualização de dispositivos desconectados.

  1. O Cache Conectado da Microsoft é implantado como um módulo IoT Edge no servidor de gateway local.

  2. Os clientes da Atualização de Dispositivo para Hub IoT são configurados para fazer download do conteúdo do Cache Conectado da Microsoft usando o atributo GatewayHostName da cadeia de conexão do dispositivo para dispositivos IoT folha ou do parent_hostname definido no config.toml para dispositivos IOT Edge filho.

  3. Os clientes da Atualização de Dispositivo para Hub IoT recebem comandos de download do serviço de Atualização de Dispositivo e solicitam conteúdo de atualização do Cache Conectado da Microsoft em vez da CDN. O Cache Conectado da Microsoft escuta na porta HTTP 80 por padrão, e o cliente de Otimização de Entrega faz a solicitação de conteúdo na porta 80, de modo que o pai deve ser configurado para escutar nessa porta. Há suporte apenas ao protocolo HTTP no momento.

  4. O servidor de Cache Conectado da Microsoft faz download do conteúdo da CDN, propaga seu cache local armazenado em disco e entrega o conteúdo para Atualização de Dispositivo ao cliente.

    Observação

    Ao usar atualizações baseadas em pacote, o servidor de Cache Conectado da Microsoft será configurado pelo administrador com o devido nome de host do pacote.

  5. As solicitações subsequentes de outros clientes da Atualização de Dispositivo do mesmo conteúdo de atualização agora serão provenientes do cache e o Cache Conectado da Microsoft não fará solicitações à CDN para o mesmo conteúdo.

Suporte ao IoT industrial (IIoT) com cenários de hospedagem pai/filho

Os cenários de IoT industrial (IIoT) geralmente envolvem vários níveis de gateways IoT Edge, com apenas o nível superior tendo acesso à Internet. Nesse cenário, cada gateway hospeda um serviço de Cache Conectado da Microsoft configurado para solicitar conteúdo de atualização de seu gateway pai.

Quando um gateway filho (ou downstream) IoT Edge faz uma solicitação de atualização de conteúdo de seu gateway pai, essa solicitação é repetida para quantos níveis forem necessários antes de atingir o gateway IoT Edge mais alto que hospeda um servidor de Cache Conectado da Microsoft que tenha acesso à Internet. A partir do servidor conectado à Internet, o conteúdo é solicitado da CDN e, neste momento, o conteúdo é retornado para o gateway de IoT Edge filho que solicitou o conteúdo originalmente. O conteúdo é armazenado em disco em todos os níveis.

Solicitar o acesso à pré-visualização

O módulo IoT Edge de Cache Conectado da Microsoft foi lançado como uma versão prévia para clientes que implantam soluções usando a Atualização de Dispositivo para Hub IoT. O acesso à versão prévia é feito mediante convite. Solicite acesso à versão prévia do Cache Conectado da Microsoft para a Atualização de Dispositivo para Hub IoT e forneça as informações solicitadas se você quiser acessar o módulo.

Configuração do módulo Cache Conectado da Microsoft

O Cache Conectado da Microsoft é implantado aos gateways Azure IoT Edge como um módulo do IoT Edge. Assim como outros módulos do IoT Edge, as variáveis de ambiente e as opções de criação de contêiner são usadas para configurar os módulos do MCC. Esta seção define as variáveis de ambiente e as opções de criação de contêiner necessárias para implantar com sucesso o módulo MCC para ser usado pela Atualização de Dispositivo para Hub IoT.

Não há nenhum requisito de nomenclatura para o módulo de Cache Conectado da Microsoft, pois 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 pai-filho dos servidores de Cache Conectado da Microsoft não depende desse nome de módulo, mas sim do endereço IP ou FQDN do gateway do IoT Edge.

Variáveis de ambiente do módulo

Variáveis de ambiente do módulo de Cache Conectado da Microsoft são usadas para passar informações de identidade de módulo básico e configurações de módulo funcional para o contêiner.

Nome da variável Formato de valor Descrição
CUSTOMER_ID GUID da ID de Assinatura do Azure Obrigatório

Esse valor é a ID do cliente que fornece autenticação segura do nó de cache aos serviços de Otimização de Entrega.
CACHE_NODE_ID GUID da ID de Nó de Cache Obrigatório

Identifica exclusivamente o nó MCC para os serviços de Otimização de Entrega.
CUSTOMER_KEY GUID da chave do cliente Obrigatório

Esse valor é a chave do cliente que fornece autenticação segura do nó de cache aos serviços de Otimização de Entrega.
STORAGE_N_SIZE_GB (onde N é a unidade de cache) Inteiro Obrigatório

Especifique até nove unidades para armazenar conteúdo em cache e especifique o espaço máximo em gigabytes a serem alocados para conteúdo em cada unidade de cache. O número da unidade deve corresponder aos valores de associação da unidade de cache especificados no valor da opção de criação de contêiner MicrosoftConnectedCacheN value.

Exemplos:
STORAGE_1_SIZE_GB = 150
STORAGE_2_SIZE_GB = 50

O tamanho mínimo do cache é 10 GB.
UPSTREAM_HOST FQDN/IP Opcional

Esse valor pode especificar um nó MCC upstream que atua como um proxy se o nó cache conectado estiver desconectado da Internet. Essa configuração é usada para dar suporte ao cenário de IoT aninhado.

Nota: O MCC escuta na porta padrão http 80.
UPSTREAM_PROXY FQDN/IP:PORT Opcional

O proxy da Internet de saída. Esse valor também pode ser o proxy OT DMZ de uma rede ISA 95.
CACHEABLE_CUSTOM_N_HOST HOST/IP
FQDN
Opcional

Necessário para dar suporte a repositórios de pacotes personalizados. Os repositórios podem ser hospedados localmente ou na Internet. Não há limite para o número de hosts personalizados que podem ser configurados.

Exemplos:
Nome = CACHEABLE_CUSTOM_1_HOST Valor = packages.foo.com
Nome = CACHEABLE_CUSTOM_2_HOST Valor = packages.bar.com
CACHEABLE_CUSTOM_N_CANONICAL Alias Opcional

Necessário para dar suporte a repositórios de pacotes personalizados. Esse valor pode ser usado como um alias e será usado pelo servidor de cache para fazer referência a diferentes nomes DNS. Por exemplo, o nome do host de conteúdo do repositório pode ser packages.foo.com, mas para regiões diferentes pode haver um prefixo extra que é adicionado ao nome do host, como westuscdn.packages.foo.com e eastuscdn.packages.foo.com. Ao definir o alias canônico, você garante que o conteúdo não seja duplicado para conteúdo proveniente do mesmo host, mas fontes diferentes da CDN. O formato do valor canônico não é importante, mas deve ser exclusivo para o host. Pode ser mais fácil definir o valor para corresponder ao valor do host.

Exemplos com base nos exemplos de host personalizado anteriores:
Nome = CACHEABLE_CUSTOM_1_CANONICAL Valor = foopackages
Nome = CACHEABLE_CUSTOM_2_CANONICAL Valor = packages.bar.com
IS_SUMMARY_PUBLIC Verdadeiro ou Falso Opcional

Habilita a exibição do relatório de resumo na rede local ou na Internet. O uso de uma chave de API (discutida posteriormente) é necessário para exibir o relatório de resumo se definido como true.
IS_SUMMARY_ACCESS_UNRESTRICTED Verdadeiro ou Falso Opcional

Habilita a exibição do relatório de resumo na rede local ou na Internet sem o uso da chave de API de qualquer dispositivo na rede. Use se você não quiser bloquear o acesso à exibição de dados de resumo do servidor de cache por meio do navegador.

Opções de criação de contêiner do módulo

As opções de criação de contêiner fornecem controle das configurações relacionadas ao armazenamento e às portas usadas pelo módulo do Cache Conectado da Microsoft.

Opções de criação de contêiner de exemplo:

{
    "HostConfig": {
        "Binds": [
            "/microsoftConnectedCache1/:/nginx/cache1/"
        ],
        "PortBindings": {
            "8081/tcp": [
                {
                    "HostPort": "80"
                }
            ],
            "5000/tcp": [
                {
                    "HostPort": "5100"
                }
            ]
        }
    }
}

As seções a seguir listam as variáveis de criação de contêiner necessárias usadas para implantar o módulo MCC.

HostConfig

Os parâmetros HostConfig são necessários para mapear o local de armazenamento do contêiner para o local de armazenamento no disco. Até nove locais podem ser especificados.

Observação

O número da unidade deve corresponder aos valores de associação da unidade de cache especificados na variável de ambiente STORAGE_N_SIZE_GB value, /MicrosoftConnectedCache*N*/:/nginx/cache*N*/.

PortBindings

Os parâmetros PortBindings mapeiam portas de contêiner para portas no dispositivo host.

A primeira associação de porta especifica a porta HTTP do computador externo que o MCC escuta para solicitações de conteúdo. O HostPort padrão é a porta 80 e outras portas não têm suporte no momento, pois o cliente ADU faz solicitações na porta 80 hoje. A porta TCP 8081 é a porta de contêiner interna na qual o MCC escuta e não pode ser alterada.

A segunda associação de porta garante que o contêiner não esteja escutando na porta do host 5000. O módulo de Cache Conectado da Microsoft possui um serviço .NET Core, que é usado pelo mecanismo de cache para várias funções. Para dar suporte à borda aninhada, o HostPort não deve ser definido como 5000, pois o módulo de proxy do Registro já está escutando na porta do host 5000.

Relatório de resumo do Cache Conectado da Microsoft

No momento, o relatório de resumo é a única maneira de um cliente exibir dados de cache para as instâncias de Cache Conectado da Microsoft implantadas em gateways do IoT Edge. O relatório é gerado em intervalos de 15 segundos e inclui estatísticas médias para o período, bem como estatísticas agregadas para a vida útil do módulo. As principais estatísticas que o relatório fornece são:

  • hitBytes – a soma de bytes entregues diretamente do cache.
  • dissbytes – a soma de bytes entregues que o Cache Conectado da Microsoft teve de baixar da CDN para ver o cache.
  • eggressBytes – a soma de hitBytes e missBytes e é o total de bytes entregues aos clientes.
  • hitRatioBytes – a taxa de HitBytes para egressBytes. Por exemplo, se 100% de eggressBytes entregues em um período forem iguais a hitBytes, esse valor seria 1.

O relatório de resumo está disponível em http://<IoT Edge gateway>:5001/summary Substituir <gateway do IoT Edge> pelo endereço IP ou pelo nome do host do módulo do MCC que hospeda o gateway do IoT Edge.

Próximas etapas

Saiba como implementar o Cache Conectado da Microsoft em gateways únicos ou gateways de IoT aninhados e industriais.