Dela via


Förstå stöd för frånkopplade enhetsuppdateringar (förhandsversion)

McC-modulen (Microsoft Connected Cache) för IoT Edge-enheter möjliggör enhetsuppdateringsfunktioner på frånkopplade enheter bakom gatewayer. I ett transparent gatewayscenario kan en eller flera enheter skicka sina meddelanden via en enda gatewayenhet som underhåller anslutningen till Azure IoT Hub. I dessa fall kanske de underordnade enheterna inte har internetanslutning eller kanske inte får ladda ned innehåll från Internet. MCC-modulen tillhandahåller enhetsuppdatering för IoT Hub kunder med funktionen för en intelligent cache i nätverket. Cachen möjliggör avbildningsbaserade och paketbaserade uppdateringar av Linux OS-baserade enheter som finns bakom en IoT Edge gateway (kallas även underordnade IoT-enheter). Cachen bidrar också till att minska bandbredden som används för uppdateringar.

Anteckning

Den här informationen gäller en förhandsversionsfunktion som är tillgänglig för tidig testning och användning i en produktionsmiljö. Den här funktionen stöds fullt ut, men den är fortfarande i aktiv utveckling och kan få betydande ändringar tills den blir allmänt tillgänglig.

Om du inte är bekant med IoT Edge gatewayer kan du läsa mer om hur en IoT Edge enhet kan användas som en gateway.

Vad är Microsoft Connected Cache

Microsoft Connected Cache är en intelligent, transparent cache för innehåll som publicerats för Enhetsuppdatering för IoT Hub och kan anpassas för att cachelagras innehåll från andra källor, till exempel paketlagringsplatser. Microsoft Connected Cache är en kall cache som värms upp av klientbegäranden för de exakta filintervall som begärs av leveransoptimeringsklienten och som inte förutser innehåll. Följande diagram och stegvisa beskrivning förklarar hur Microsoft Connected Cache fungerar i infrastrukturen för enhetsuppdatering.

Anteckning

Det här flödet förutsätter att IoT Edge gateway har internetanslutning. För scenariot med nedströms IoT Edge gateway (kapslad kant) kan innehållsleveransnätverket (CDN) betraktas som DEN MCC som finns på den överordnade IoT Edge gatewayen.

Diagram som visar hur Microsoft Connected Cache-modulen aktiverar frånkopplad enhetsuppdatering.

  1. Microsoft Connected Cache distribueras som en IoT Edge modul till den lokala gatewayservern.

  2. Enhetsuppdatering för IoT Hub klienter är konfigurerade för att ladda ned innehåll från Microsoft Connected Cache med antingen attributet GatewayHostName för enhetsanslutningssträngen för IoT-lövenheter eller parent_hostname som anges i config.toml för IoT Edge underordnade enheter.

  3. Enhetsuppdatering för IoT Hub klienter tar emot nedladdningskommandon från enhetsuppdateringstjänsten och begär uppdateringsinnehåll från Microsoft Connected Cache i stället för CDN. Microsoft Connected Cache lyssnar som standard på HTTP-port 80 och leveransoptimeringsklienten gör innehållsbegäran på port 80 så att den överordnade måste konfigureras för att lyssna på den här porten. Endast HTTP-protokollet stöds just nu.

  4. Microsoft Connected Cache-servern laddar ned innehåll från CDN, skapar ett lokalt cacheminne som lagras på disken och levererar innehållet till enhetsuppdateringsklienten.

    Anteckning

    När du använder paketbaserade uppdateringar konfigureras Microsoft Connected Cache-servern av administratören med det nödvändiga paketvärdnamnet.

  5. Efterföljande begäranden från andra enhetsuppdateringsklienter för samma uppdateringsinnehåll kommer nu från cachen och Microsoft Connected Cache gör inte begäranden till CDN för samma innehåll.

Stöd för industriell IoT (IIoT) med överordnade/underordnade värdscenarier

IOT-scenarier (Industrial IoT) omfattar ofta flera nivåer av IoT Edge gatewayer, där endast den översta nivån har internetåtkomst. I det här scenariot är varje gateway värd för en Microsoft Connected Cache-tjänst som är konfigurerad för att begära uppdateringsinnehåll från den överordnade gatewayen.

När en underordnad (eller nedströms) IoT Edge gateway begär uppdateringsinnehåll från den överordnade gatewayen upprepas denna begäran i så många nivåer som behövs innan den når den översta IoT Edge gateway som är värd för en Microsoft Connected Cache-server som har internetåtkomst. Från den Internetanslutna servern begärs innehållet från CDN då innehållet levereras tillbaka till den underordnade IoT Edge gateway som ursprungligen begärde innehållet. Innehållet lagras på disken på alla nivåer.

Begär åtkomst till förhandsversionen

Microsoft Connected Cache IoT Edge-modulen släpps som en förhandsversion för kunder som distribuerar lösningar med enhetsuppdatering för IoT Hub. Åtkomst till förhandsversionen sker via inbjudan. Begär åtkomst till förhandsversionen av Microsoft Connected Cache för enhetsuppdatering för IoT Hub och ange den information som begärs om du vill ha åtkomst till modulen.

Konfiguration av Microsoft Connected Cache-modul

Microsoft Connected Cache distribueras till Azure IoT Edge-gatewayer som en IoT Edge modul. Precis som andra IoT Edge moduler används miljövariabler och alternativ för containerskapande för att konfigurera MCC-moduler. Det här avsnittet definierar de miljövariabler och alternativ för containerskapande som krävs för att distribuera MCC-modulen för användning av Enhetsuppdatering för IoT Hub.

Det finns inget namngivningskrav för Microsoft Connected Cache-modulen eftersom inga andra modul- eller tjänstinteraktioner förlitar sig på namnet på MCC-modulen för kommunikation. Dessutom är relationen mellan överordnad och underordnad för Microsoft Connected Cache-servrarna inte beroende av det här modulnamnet, utan snarare FQDN eller IP-adressen för IoT Edge-gatewayen.

Miljövariabler för modul

Miljövariabler för Microsoft Connected Cache-modulen används för att skicka grundläggande modulidentitetsinformation och funktionella modulinställningar till containern.

Variabelnamn Värdeformat Beskrivning
KUND GUID för Azure-prenumerations-ID Obligatorisk

Det här värdet är kundens ID, som ger säker autentisering av cachenoden till leveransoptimeringstjänster.
CACHE_NODE_ID Cachenod-ID GUID Obligatorisk

Identifierar MCC-noden unikt för leveransoptimeringstjänster.
CUSTOMER_KEY GUID för kundnyckel Obligatorisk

Det här värdet är kundens nyckel, som ger säker autentisering av cachenoden till leveransoptimeringstjänster.
STORAGE_N_SIZE_GB (där N är cacheenheten) Integer Obligatorisk

Ange upp till nio enheter för cachelagring av innehåll och ange det maximala utrymmet i gigabyte som ska allokeras för innehåll på varje cacheenhet. Enhetens antal måste matcha bindningsvärdena för cacheenheten som anges i värdet för alternativet MicrosoftConnectedCacheN för containerskapande.

Exempel:
STORAGE_1_SIZE_GB = 150
STORAGE_2_SIZE_GB = 50

Cachens minsta storlek är 10 GB.
UPSTREAM_HOST FQDN/IP Valfritt

Det här värdet kan ange en överordnad MCC-nod som fungerar som proxy om noden Ansluten cache är frånkopplad från Internet. Den här inställningen används för att stödja det kapslade IoT-scenariot.

Observera: MCC lyssnar på http-standardport 80.
UPSTREAM_PROXY FQDN/IP:PORT Valfritt

Den utgående Internetproxyn. Det här värdet kan också vara OT DMZ-proxyn för ett ISA 95-nätverk.
CACHEABLE_CUSTOM_N_HOST VÄRD/IP
FQDN
Valfritt

Krävs för att stödja anpassade paketlagringsplatser. Lagringsplatser kan finnas lokalt eller på Internet. Det finns ingen gräns för antalet anpassade värdar som kan konfigureras.

Exempel:
Namn = CACHEABLE_CUSTOM_1_HOST värde = packages.foo.com
Namn = CACHEABLE_CUSTOM_2_HOST värde = packages.bar.com
CACHEABLE_CUSTOM_N_CANONICAL Alias Valfritt

Krävs för att stödja anpassade paketlagringsplatser. Det här värdet kan användas som alias och används av cacheservern för att referera till olika DNS-namn. Värdnamnet för lagringsplatsens innehåll kan till exempel vara packages.foo.com, men för olika regioner kan det finnas ett extra prefix som läggs till i värdnamnet som westuscdn.packages.foo.com och eastuscdn.packages.foo.com. Genom att ange det kanoniska aliaset ser du till att innehållet inte dupliceras för innehåll som kommer från samma värd, utan från olika CDN-källor. Formatet för det kanoniska värdet är inte viktigt, men det måste vara unikt för värden. Det kan vara enklast att ange värdet så att det matchar värdvärdet.

Exempel som baseras på tidigare anpassade värdexempel:
Namn = CACHEABLE_CUSTOM_1_CANONICAL Värde = foopackages
Namn = CACHEABLE_CUSTOM_2_CANONICAL värde = packages.bar.com
IS_SUMMARY_PUBLIC Sant eller falskt Valfritt

Aktiverar visning av sammanfattningsrapporten i det lokala nätverket eller internet. Användning av en API-nyckel (beskrivs senare) krävs för att visa sammanfattningsrapporten om den är inställd på true.
IS_SUMMARY_ACCESS_UNRESTRICTED Sant eller falskt Valfritt

Aktiverar visning av sammanfattningsrapport i det lokala nätverket eller Internet utan användning av API-nyckeln från någon enhet i nätverket. Använd om du inte vill låsa åtkomsten till att visa sammanfattningsdata för cacheservern via webbläsaren.

Alternativ för att skapa modulcontainer

Alternativ för att skapa containrar ger kontroll över inställningarna för lagring och portar som används av Microsoft Connected Cache-modulen.

Alternativ för att skapa exempelcontainer:

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

I följande avsnitt visas de nödvändiga variablerna för att skapa containrar som används för att distribuera MCC-modulen.

Hostconfig

Parametrarna HostConfig krävs för att mappa containerlagringsplatsen till lagringsplatsen på disken. Upp till nio platser kan anges.

Anteckning

Enhetens antal måste matcha de bindningsvärden för cacheenheten som anges i miljövariabeln STORAGE_N_SIZE_GB värdet, /MicrosoftConnectedCache*N*/:/nginx/cache*N*/.

PortBindings

Parametrarna PortBindings mappar containerportar till portar på värdenheten.

Den första portbindningen anger den externa datorns HTTP-port som MCC lyssnar på efter innehållsbegäranden. Standardvärdet för HostPort är port 80 och andra portar stöds inte just nu eftersom ADU-klienten gör begäranden på port 80 i dag. TCP-port 8081 är den interna containerporten som MCC lyssnar på och inte kan ändras.

Den andra portbindningen säkerställer att containern inte lyssnar på värdport 5000. Microsoft Connected Cache-modulen har en .NET Core-tjänst som används av cachelagringsmotorn för olika funktioner. HostPort får inte vara inställt på 5000 eftersom registerproxymodulen redan lyssnar på värdport 5000 för att stödja kapslad kant.

Sammanfattningsrapport för Microsoft Connected Cache

Sammanfattningsrapporten är för närvarande det enda sättet för en kund att visa cachelagringsdata för Microsoft Connected Cache-instanser som distribuerats till IoT Edge gatewayer. Rapporten genereras med 15 sekunders intervall och innehåller genomsnittlig statistik för perioden och aggregerad statistik för modulens livslängd. Den viktiga statistik som rapporten innehåller är:

  • hitBytes – summan av antalet levererade byte som kom direkt från cacheminnet.
  • missBytes – summan av byte som levererades som Microsoft Connected Cache var tvungen att ladda ned från CDN för att se cachen.
  • eggressBytes – summan av hitBytes och missBytes och är det totala antalet byte som levereras till klienter.
  • hitRatioBytes – förhållandet mellan hitBytes och egressBytes. Om till exempel 100 % av de eggressByte som levererades under en period var lika med hitBytes skulle det här värdet vara 1.

Sammanfattningsrapporten finns i http://<IoT Edge gateway>:5001/summary Ersätt <IoT Edge Gateway> med IP-adressen eller värdnamnet för den IoT Edge gateway som är värd för MCC-modulen.

Nästa steg

Lär dig hur du implementerar Microsoft Connected Cache i enskilda gatewayer eller kapslade och industriella IoT-gatewayer.