Implementar o módulo cache ligada da Microsoft em gateways aninhados, incluindo em cenários IIoT (pré-visualização)
O módulo Cache Ligada da Microsoft suporta gateways aninhados ou hierárquicos, nos quais um ou mais dispositivos de gateway IoT Edge estão protegidos por um único gateway que tem acesso à Internet. Este artigo descreve um exemplo de cenário de implementação que tem dois dispositivos de gateway aninhados do Azure IoT Edge (um gateway principal e um gateway subordinado) com proxy não autenticado de saída.
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.
O diagrama seguinte descreve o cenário em que um gateway do Azure IoT Edge tem acesso direto aos recursos da CDN e está a agir como principal para outro gateway de IoT Edge do Azure. O gateway de IoT Edge subordinado está a agir como elemento principal de um dispositivo de folha de IoT, como um Raspberry Pi. Tanto o IoT Edge gateway subordinado como o dispositivo IoT estão isolados da Internet. Este exemplo demonstra a configuração de dois níveis de gateways de IoT Edge do Azure, mas não há limite para a profundidade dos anfitriões a montante suportados pela Cache Ligada da Microsoft.
Veja a documentação Ligar a jusante IoT Edge dispositivos para obter mais detalhes sobre como configurar implementações em camadas de gateways do Azure IoT Edge. Além disso, tenha em atenção que, ao implementar o Azure IoT Edge, a Cache Ligada da Microsoft e os módulos personalizados, todos os módulos têm de residir no mesmo registo de contentor.
Nota
Ao implementar o Azure IoT Edge, a Cache Ligada da Microsoft e os módulos personalizados, todos os módulos têm de residir no mesmo registo de contentor.
Configuração do gateway principal
Utilize os seguintes passos para configurar o módulo cache ligada da Microsoft no dispositivo de gateway principal.
Adicione o módulo Cache Ligada da Microsoft à implementação do dispositivo de gateway do Azure IoT Edge no Hub IoT do Azure (veja Suporte para dispositivos desligados para obter detalhes sobre como pedir acesso ao módulo de pré-visualização).
Adicione as variáveis de ambiente para a implementação. A tabela seguinte é um exemplo das variáveis de ambiente:
Name Valor CACHE_NODE_ID Ver descrições de variáveis de ambiente CUSTOMER_ID Ver descrições de variáveis de ambiente CUSTOMER_KEY Ver descrições de variáveis de ambiente STORAGE_1_SIZE_GB 10 CACHEABLE_CUSTOM_1_HOST Packagerepo.com:80 CACHEABLE_CUSTOM_1_CANONICAL Packagerepo.com IS_SUMMARY_ACCESS_UNRESTRICTED true Adicione as opções de criação do contentor para a implementação. Não existem diferenças nas opções de criação de contentores MCC para gateways únicos ou aninhados. O exemplo seguinte mostra as opções de criação de contentores para o módulo MCC:
{ "HostConfig": { "Binds": [ "/MicrosoftConnectedCache1/:/nginx/cache1/" ], "PortBindings": { "8081/tcp": [ { "HostPort": "80" } ], "5000/tcp": [ { "HostPort": "5100" } ] } } }
Configuração do gateway subordinado
Utilize os seguintes passos para configurar o módulo Cache Ligada da Microsoft no dispositivo de gateway subordinado.
Nota
Se tiver replicado contentores utilizados na sua configuração no seu próprio registo privado, terá de haver uma modificação nas definições config.toml e definições de runtime na implementação do módulo. Para obter mais informações, veja Ligar dispositivos IoT Edge a jusante.
Modifique o caminho da imagem para o agente IoT Edge, conforme demonstrado no exemplo abaixo:
[agent] name = "edgeAgent" type = "docker" env = {} [agent.config] image = "<parent_device_fqdn_or_ip>:8000/iotedge/azureiotedge-agent:1.2.0-rc2" auth = {}
Modifique as definições de runtime do hub IoT Edge e do agente na implementação do IoT Edge, conforme demonstrado neste exemplo:
- Para a imagem do hub IoT Edge, introduza
$upstream:8000/iotedge/azureiotedge-hub:1.2.0-rc2
- Para a imagem do agente de IoT Edge, introduza
$upstream:8000/iotedge/azureiotedge-agent:1.2.0-rc2
- Para a imagem do hub IoT Edge, introduza
Adicione o módulo Cache Ligada da Microsoft à implementação do dispositivo de gateway do Azure IoT Edge no Hub IoT do Azure.
- Escolha um nome para o módulo:
ConnectedCache
- Modifique o URI da imagem:
$upstream:8000/mcc/linux/iot/mcc-ubuntu-iot-amd64:latest
- Escolha um nome para o módulo:
Adicione o mesmo conjunto de variáveis de ambiente e opções de criação de contentores utilizadas na implementação principal.
Nota
O CACHE_NODE_ID deve ser exclusivo. Os valores CUSTOMER_ID e CUSTOMER_KEY serão idênticos aos valores principais. Para obter mais informações, veja Variáveis de ambiente do módulo.
Para uma validação do funcionamento correto da Cache Ligada da Microsoft, execute o seguinte comando no terminal do dispositivo IoT Edge que aloja o módulo ou qualquer dispositivo na rede. Substitua <o IP> do Gateway de IoT Edge do Azure pelo endereço IP ou nome do anfitrião do gateway de IoT Edge. Para obter informações sobre a visibilidade deste relatório, veja Relatório de resumo da Cache Ligada da Microsoft.
wget http://<CHILD Azure IoT Edge Gateway IP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
Configuração de IoT Industrial (IIoT)
As redes de fabrico são frequentemente organizadas em camadas hierárquicas, seguindo o modelo de rede Purdue (incluído nas normas ISA 95 e ISA 99 ). Nestas redes, apenas a camada superior tem conectividade à cloud e as camadas inferiores da hierarquia só podem comunicar com camadas norte e sul adjacentes.
Este exemplo do GitHub, Azure IoT Edge para IoT Industrial, implementa os seguintes componentes:
- Rede Purdue simulada no Azure
- Recursos industriais
- Hierarquia de gateways de IoT Edge do Azure
Estes componentes serão utilizados para adquirir dados industriais e carregá-los em segurança para a cloud sem comprometer a segurança da rede. A Cache Ligada da Microsoft pode ser implementada para suportar a transferência de conteúdos a todos os níveis na rede compatível com o ISA 95.
A chave para configurar implementações da Cache Ligada da Microsoft numa rede compatível com ISA 95 está a configurar o proxy OT e o anfitrião a montante no gateway de IoT Edge L3.
Configurar implementações da Cache Ligada da Microsoft nos níveis L5 e L4, conforme descrito no Two-Level exemplo de gateway de IoT Edge Aninhado
A implementação no gateway de IoT Edge L3 tem de especificar:
- UPSTREAM_HOST - O IP/FQDN do gateway de IoT Edge L4, que a Cache Ligada da Microsoft L3 irá pedir conteúdo.
- UPSTREAM_PROXY - O IP/FQDN:PORT do servidor proxy OT.
O proxy OT tem de adicionar o endereço FQDN/IP do MCC L4 à lista de permissões.
Para validar que a Cache Ligada da Microsoft está a funcionar corretamente, execute o seguinte comando no terminal do IoT Edge dispositivo que aloja o módulo ou em qualquer dispositivo na rede. Substitua <o IP> do Gateway de IoT Edge do Azure pelo endereço IP ou nome do anfitrião do gateway de IoT Edge. Para obter informações sobre a visibilidade deste relatório, veja Relatório de resumo da Cache Ligada da Microsoft.
wget http://<L3 IoT Edge Gateway IP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com