Delen via


Ondersteuning voor niet-verbonden apparaatupdates begrijpen (preview)

De MCC-module (Microsoft Connected Cache) voor IoT Edge-apparaten maakt Device Update-mogelijkheden mogelijk op niet-verbonden apparaten achter gateways. In een transparant gatewayscenario kunnen een of meer apparaten hun berichten doorgeven via één gatewayapparaat dat de verbinding met Azure IoT Hub onderhoudt. In dergelijke gevallen hebben de onderliggende apparaten mogelijk geen internetverbinding of mogen ze geen inhoud downloaden van internet. De MCC-module biedt Device Update voor IoT Hub klanten de mogelijkheid van een intelligente in-network cache. De cache maakt updates op basis van afbeeldingen en pakketten mogelijk van Linux-apparaten met het besturingssysteem die zich achter een IoT Edge-gateway bevinden (ook wel downstream-IoT-apparaten genoemd). De cache helpt ook bij het verminderen van de bandbreedte die wordt gebruikt voor updates.

Notitie

Deze informatie heeft betrekking op een preview-functie die beschikbaar is voor vroege tests en gebruik in een productieomgeving. Deze functie wordt volledig ondersteund, maar is nog in ontwikkeling en kan aanzienlijke wijzigingen ontvangen totdat deze algemeen beschikbaar is.

Als u niet bekend bent met IoT Edge gateways, vindt u meer informatie over Hoe een IoT Edge apparaat als gateway kan worden gebruikt.

Wat is Microsoft Connected Cache?

Microsoft Connected Cache is een intelligente, transparante cache voor inhoud die is gepubliceerd voor Device Update voor IoT Hub en kan ook worden aangepast om inhoud uit andere bronnen, zoals pakketopslagplaatsen, op te cachen. Microsoft Connected Cache is een koude cache die wordt opgewarmd door clientaanvragen voor de exacte bestandsbereiken die zijn aangevraagd door de Delivery Optimization-client en die geen inhoud vooraf seedt. In het volgende diagram en een stapsgewijze beschrijving wordt uitgelegd hoe Microsoft Connected Cache werkt binnen de Device Update-infrastructuur.

Notitie

Bij deze stroom wordt ervan uitgegaan dat de IoT Edge-gateway een internetverbinding heeft. Voor het scenario downstream IoT Edge gateway (geneste edge) kan het CDN (Content Delivery Network) worden beschouwd als de MCC die wordt gehost op de bovenliggende IoT Edge-gateway.

Diagram dat laat zien hoe de Microsoft Connected Cache-module het bijwerken van niet-verbonden apparaten mogelijk maakt.

  1. Microsoft Connected Cache wordt geïmplementeerd als een IoT Edge-module op de on-premises gatewayserver.

  2. Apparaatupdate voor IoT Hub-clients zijn geconfigureerd om inhoud te downloaden van Microsoft Connected Cache met behulp van het kenmerk GatewayHostName van het apparaat connection string voor IoT-bladapparaten of de parent_hostname ingesteld in de config.toml voor IoT Edge onderliggende apparaten.

  3. Device Update voor IoT Hub-clients ontvangen downloadopdrachten van de Device Update-service en vragen update-inhoud aan bij de Microsoft Connected Cache in plaats van het CDN. Microsoft Connected Cache luistert standaard op HTTP-poort 80 en de Delivery Optimization-client maakt de inhoudsaanvraag op poort 80, zodat het bovenliggende element moet worden geconfigureerd om op deze poort te luisteren. Op dit moment wordt alleen het HTTP-protocol ondersteund.

  4. De Microsoft Connected Cache-server downloadt inhoud van het CDN, registreert de lokale cache die op schijf is opgeslagen en levert de inhoud aan de Device Update-client.

    Notitie

    Wanneer u updates op basis van pakketten gebruikt, wordt de Microsoft Connected Cache-server geconfigureerd door de beheerder met de vereiste pakkethostnaam.

  5. Volgende aanvragen van andere Device Update-clients voor dezelfde update-inhoud komen nu uit de cache en Microsoft Connected Cache verzendt geen aanvragen naar het CDN voor dezelfde inhoud.

Ondersteuning van industriële IoT (IIoT) met bovenliggende/onderliggende hostingscenario's

Industriële IoT-scenario's (IIoT) hebben vaak betrekking op meerdere niveaus van IoT Edge gateways, waarbij alleen het hoogste niveau internettoegang heeft. In dit scenario host elke gateway een Microsoft Connected Cache-service die is geconfigureerd om update-inhoud aan te vragen bij de bovenliggende gateway.

Wanneer een onderliggende (of downstream)IoT Edge-gateway een aanvraag indient voor het bijwerken van inhoud van de bovenliggende gateway, wordt deze aanvraag herhaald voor zoveel niveaus als nodig is voordat de bovenste IoT Edge gateway wordt bereikt die als host fungeert voor een Microsoft Connected Cache-server met internettoegang. Vanaf de server met internetverbinding wordt de inhoud aangevraagd vanaf het CDN, waarna de inhoud wordt teruggestuurd naar de onderliggende IoT Edge gateway die de inhoud oorspronkelijk heeft aangevraagd. De inhoud wordt op elk niveau op schijf opgeslagen.

Toegang tot de preview aanvragen

De Microsoft Connected Cache IoT Edge-module wordt uitgebracht als preview voor klanten die oplossingen implementeren met Device Update voor IoT Hub. Toegang tot de preview is op uitnodiging. Vraag toegang aan tot de Microsoft Connected Cache Preview voor Device Update voor IoT Hub en geef de gevraagde informatie op als u toegang wilt tot de module.

Configuratie van Microsoft Connected Cache-module

Microsoft Connected Cache wordt geïmplementeerd in Azure IoT Edge-gateways als een IoT Edge-module. Net als andere IoT Edge modules worden omgevingsvariabelen en opties voor het maken van containers gebruikt om MCC-modules te configureren. In deze sectie worden de omgevingsvariabelen en opties voor het maken van containers gedefinieerd die nodig zijn om de MCC-module te implementeren voor gebruik door Device Update voor IoT Hub.

Er is geen naamvereiste voor de Microsoft Connected Cache-module omdat geen andere module- of service-interacties afhankelijk zijn van de naam van de MCC-module voor communicatie. Bovendien is de bovenliggende en onderliggende relatie van de Microsoft Connected Cache-servers niet afhankelijk van deze modulenaam, maar eerder van de FQDN of het IP-adres van de IoT Edge gateway.

Moduleomgevingsvariabelen

Omgevingsvariabelen van de Microsoft Connected Cache-module worden gebruikt om basisinformatie over module-id's en functionele module-instellingen door te geven aan de container.

Naam van de variabele Waardenotatie Beschrijving
CUSTOMER_ID GUID van azure-abonnements-id Vereist

Deze waarde is de klant-id, die beveiligde verificatie van het cacheknooppunt biedt voor Delivery Optimization-services.
CACHE_NODE_ID GUID van cacheknooppunt-id Vereist

Identificeert op unieke wijze het MCC-knooppunt voor Delivery Optimization-services.
CUSTOMER_KEY GUID van klantsleutel Vereist

Deze waarde is de sleutel van de klant, die veilige verificatie van het cacheknooppunt biedt voor Delivery Optimization-services.
STORAGE_N_SIZE_GB (waarbij N het cachestation is) Geheel getal Vereist

Geef maximaal negen stations op om inhoud in de cache op te laden en geef de maximale ruimte in gigabytes op die moet worden toegewezen aan inhoud op elk cachestation. Het nummer van het station moet overeenkomen met de bindingswaarden van het cachestation die zijn opgegeven in de container maken optie MicrosoftConnectedCacheN waarde.

Voorbeelden:
STORAGE_1_SIZE_GB = 150
STORAGE_2_SIZE_GB = 50

De minimale grootte van de cache is 10 GB.
UPSTREAM_HOST FQDN/IP Optioneel

Met deze waarde kunt u een upstream MCC-knooppunt opgeven dat als proxy fungeert als het knooppunt Verbonden cache is losgekoppeld van internet. Deze instelling wordt gebruikt ter ondersteuning van het geneste IoT-scenario.

Opmerking: MCC luistert op http-standaardpoort 80.
UPSTREAM_PROXY FQDN/IP:POORT Optioneel

De uitgaande internetproxy. Deze waarde kan ook de OT DMZ-proxy van een ISA 95-netwerk zijn.
CACHEABLE_CUSTOM_N_HOST HOST/IP
FQDN
Optioneel

Vereist ter ondersteuning van aangepaste pakketopslagplaatsen. Opslagplaatsen kunnen lokaal of op internet worden gehost. Er is geen limiet voor het aantal aangepaste hosts dat kan worden geconfigureerd.

Voorbeelden:
Name = CACHEABLE_CUSTOM_1_HOST Value = packages.foo.com
Name = CACHEABLE_CUSTOM_2_HOST Value = packages.bar.com
CACHEABLE_CUSTOM_N_CANONICAL Alias Optioneel

Vereist ter ondersteuning van aangepaste pakketopslagplaatsen. Deze waarde kan worden gebruikt als een alias en wordt gebruikt door de cacheserver om te verwijzen naar verschillende DNS-namen. Hostnaam van opslagplaatsinhoud kan bijvoorbeeld packages.foo.com zijn, maar voor verschillende regio's kan er een extra voorvoegsel worden toegevoegd aan de hostnaam, zoals westuscdn.packages.foo.com en eastuscdn.packages.foo.com. Door de canonieke alias in te stellen, zorgt u ervoor dat inhoud niet wordt gedupliceerd voor inhoud die afkomstig is van dezelfde host, maar van verschillende CDN-bronnen. De indeling van de canonieke waarde is niet belangrijk, maar deze moet uniek zijn voor de host. Het is misschien het eenvoudigst om de waarde zo in te stellen dat deze overeenkomt met de hostwaarde.

Voorbeelden op basis van de vorige aangepaste hostvoorbeelden:
Name = CACHEABLE_CUSTOM_1_CANONICAL Value = foopackages
Name = CACHEABLE_CUSTOM_2_CANONICAL Value = packages.bar.com
IS_SUMMARY_PUBLIC Waar of Niet waar Optioneel

Hiermee kunt u het overzichtsrapport weergeven op het lokale netwerk of internet. Het gebruik van een API-sleutel (later besproken) is vereist om het overzichtsrapport weer te geven als deze is ingesteld op true.
IS_SUMMARY_ACCESS_UNRESTRICTED Waar of Niet waar Optioneel

Hiermee kunt u het overzichtsrapport op het lokale netwerk of internet weergeven zonder gebruik van een API-sleutel vanaf elk apparaat in het netwerk. Gebruik deze optie als u de toegang tot het weergeven van samenvattingsgegevens van de cacheserver niet wilt vergrendelen via de browser.

Opties voor het maken van modulecontainers

Opties voor het maken van containers bieden controle over de instellingen met betrekking tot opslag en poorten die worden gebruikt door de module Microsoft Connected Cache.

Opties voor het maken van voorbeeldcontainers:

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

De volgende secties bevatten de vereiste variabelen voor het maken van containers die worden gebruikt voor het implementeren van de MCC-module.

Hostconfig

De HostConfig parameters zijn vereist om de opslaglocatie van de container toe te wijzen aan de opslaglocatie op de schijf. Er kunnen maximaal negen locaties worden opgegeven.

Notitie

Het nummer van het station moet overeenkomen met de bindingswaarden van het cachestation die zijn opgegeven in de omgevingsvariabele STORAGE_N_SIZE_GB waarde, /MicrosoftConnectedCache*N*/:/nginx/cache*N*/.

PortBindings

De PortBindings parameters wijzen containerpoorten toe aan poorten op het hostapparaat.

De eerste poortbinding geeft de HTTP-poort van de externe machine op waarop MCC luistert voor inhoudsaanvragen. De standaardHostPort is poort 80 en andere poorten worden op dit moment niet ondersteund omdat de ADU-client momenteel aanvragen doet op poort 80. TCP-poort 8081 is de interne containerpoort waarop het MCC luistert en kan niet worden gewijzigd.

De tweede poortbinding zorgt ervoor dat de container niet luistert op hostpoort 5000. De Microsoft Connected Cache-module heeft een .NET Core-service, die wordt gebruikt door de caching-engine voor verschillende functies. Voor de ondersteuning van geneste edge moet de HostPort niet zijn ingesteld op 5000 omdat de registerproxymodule al luistert op hostpoort 5000.

Overzichtsrapport Microsoft Connected Cache

Het overzichtsrapport is momenteel de enige manier voor een klant om cachegegevens weer te geven voor de Microsoft Connected Cache-exemplaren die zijn geïmplementeerd in IoT Edge gateways. Het rapport wordt gegenereerd met intervallen van 15 seconden en bevat gemiddelde statistieken voor de periode en geaggregeerde statistieken voor de levensduur van de module. De belangrijkste statistieken die het rapport biedt, zijn:

  • hitBytes : de som van de geleverde bytes die rechtstreeks afkomstig zijn uit de cache.
  • missBytes : de som van de geleverde bytes die Microsoft Connected Cache moest downloaden van CDN om de cache te zien.
  • eggressBytes : de som van hitBytes en missBytes en is het totale aantal bytes dat aan clients wordt geleverd.
  • hitRatioBytes - De verhouding van hitBytes tot uitgaandbytes. Als bijvoorbeeld 100% van de geleverde eggressBytes in een periode gelijk was aan de hitBytes, zou deze waarde 1 zijn.

Het overzichtsrapport is beschikbaar op http://<IoT Edge gateway>:5001/summary Vervang <IoT Edge Gateway> door het IP-adres of de hostnaam van de IoT Edge gateway die als host fungeert voor de MCC-module.

Volgende stappen

Meer informatie over het implementeren van Microsoft Connected Cache in enkele gateways of geneste en industriële IoT-gateways.