Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Cloud Services (klassisk) är nu inaktuellt för alla kunder från och med den 1 september 2024. Alla befintliga distributioner som körs stoppas och stängs av av Microsoft och data försvinner permanent från och med oktober 2024. Nya distributioner bör använda den nya Azure Resource Manager-baserade distributionsmodellen Azure Cloud Services (utökad support).
Den här artikeln innehåller en översikt över de arbetsflödesprocesser som inträffar när du distribuerar eller uppdaterar en Azure-resurs, till exempel en virtuell dator.
Anmärkning
Azure har två olika distributionsmodeller för att skapa och arbeta med resurser: Resource Manager och klassisk. Den här artikeln beskriver den klassiska distributionsmodellen.
I följande diagram visas arkitekturen för Azure-resurser.
Grunderna i arbetsflödet
A RDFE/FFE är kommunikationssökvägen från användaren till nätverksstrukturen. RDFE (RedDog Front End) är det offentligt exponerade API:et som är klientdelen till hanteringsportalen och det klassiska distributionsmodell-API:et, till exempel Visual Studio, Azure MMC och så vidare. Alla begäranden från användaren går via RDFE. FFE (Fabric Front End) är det lager som översätter begäranden från RDFE till fabrickommandon. Alla begäranden från RDFE går igenom FFE för att nå infrastrukturkontrollanterna.
B. Infrastrukturkontrollanten ansvarar för att underhålla och övervaka alla resurser i datacentret. Den kommunicerar med infrastrukturvärdagenter på infrastrukturoperativsystemet som skickar information, till exempel gästoperativsystemversion, tjänstpaket, tjänstkonfiguration och tjänsttillstånd.
C. Värdagenten finns i värdoperativsystemet och ansvarar för att konfigurera gästoperativsystem. Den hanterar även kommunikation med gästagenten (WindowsAzureGuestAgent) för att uppdatera rollen mot ett avsett måltillstånd och utföra pulsslagskontroller med gästagenten. Om värdagent inte får hjärtslagsrespons på 10 minuter startar värdagent om gästoperativsystemet.
C2. WaAppAgent ansvarar för att installera, konfigurera och uppdatera WindowsAzureGuestAgent.exe.
D. WindowsAzureGuestAgent ansvarar för följande uppgifter:
- Konfigurera gästoperativsystemet, inklusive brandvägg, ACL:er, LocalStorage-resurser, tjänstpaket och konfiguration samt certifikat.
- Konfigurera SID för användarkontot som rollen körs under.
- Kommunicera rollstatusen till infrastrukturresursen.
- Starta WaHostBootstrapper och övervaka den för att säkerställa att rollen är i önskat tillstånd.
E. WaHostBootstrapper ansvarar för:
- Läsa rollkonfigurationen och starta alla lämpliga uppgifter och processer för att konfigurera och köra rollen.
- Övervaka alla underordnade processer.
- Höjning av StatusCheck-händelsen i rollvärdprocessen.
F. IISConfigurator körs om rollen är konfigurerad som en fullständig IIS-webbroll. Det är ansvarigt för:
- Starta standard-IIS-tjänsterna
- Konfigurera omskrivningsmodulen i webbkonfigurationen
- Konfigurera AppPool för den konfigurerade rollen i tjänstmodellen
- Konfigurera IIS-loggning så att den pekar på mappen DiagnosticStore LocalStorage
- Konfigurera behörigheter och ACL:er
- Webbplatsen finns i %roleroot%:\sitesroot\0, och AppPool pekar på den här platsen för att köra IIS.
G. Rollmodellen definierar startuppgifter, och WaHostBootstrapper startar dem. Startuppgifter kan konfigureras att köras asynkront i bakgrunden, och värdstartaren startar startuppgiften och fortsätter sedan med andra startuppgifter. Startuppgifter kan också konfigureras att köras i enkelt läge (standard). I Enkelt läge väntar värdbootstrappern på att startuppgiften ska köras klart och returnera en lyckad (0) slutkod innan det fortsätter till nästa startuppgift.
H. Dessa uppgifter är en del av SDK:t och definieras som plugin-program i rollens tjänstdefinition (.csdef). När de expanderas till startuppgifter är DiagnosticsAgent och RemoteAccessAgent unika eftersom de definierar två startuppgifter, en vanlig och en som har en /blockStartup-parameter . Den normala startaktiviteten definieras som en startaktivitet i bakgrunden så att den kan köras i bakgrunden medan själva rollen körs. Startaktiviteten /blockStartup definieras som en enkel startuppgift så att WaHostBootstrapper väntar på att den ska avslutas innan den fortsätter. /blockStartup-aktiviteten väntar på att den vanliga aktiviteten ska slutföra initieringen och avslutas sedan, vilket låter host-bootstrappern fortsätta. Den här processen görs så att diagnostik och RDP-åtkomst kan konfigureras innan rollprocesserna startar, vilket görs via /blockStartup-uppgiften. Den här processen gör det också möjligt för diagnostik och RDP-åtkomst att fortsätta köras efter att host-bootstrapparen har slutfört startuppgifterna, vilket görs via den Normala uppgiften.
Jag. WaWorkerHost är standardvärdprocessen för normala arbetsroller. Den här värdprocessen är värd för alla rollens DLL:er och startpunktskod, till exempel OnStart och Run.
J. WaIISHost är värdprocessen för rollinmatningspunktskod för webbroller som använder fullständig IIS. Den här processen läser in den första DLL som hittas som använder klassen RoleEntryPoint och kör koden från den här klassen (OnStart, Run, OnStop). Alla RoleEnvironment-händelser (till exempel StatusCheck och Changed) som skapas i klassen RoleEntryPoint genereras i den här processen.
K. W3WP är den standardprocess för IIS-arbetare som används om rollen är konfigurerad att använda fullständig IIS. Den här processen kör apppoolen som konfigurerats från IISConfigurator. Alla RoleEnvironment-händelser (till exempel StatusCheck och Ändrad) som skapas här genereras i den här processen. RoleEnvironment-händelser triggas på båda platserna (WaIISHost och w3wp.exe) om du ansluter till händelser i båda processerna.
Arbetsflödesprocesser
- En användare gör en begäran, till exempel att ladda upp ".cspkg" och ".cscfg"-filer, uppmana en resurs att stoppa eller göra en konfigurationsändring och så vidare. Begäranden kan göras via Azure Portal eller verktyg som använder det klassiska distributionsmodell-API:et, till exempel visual studiopubliceringsfunktionen. Den här begäran går till RDFE för att utföra allt prenumerationsrelaterat arbete och sedan kommunicera begäran till FFE. Resten av dessa arbetsflödessteg är att distribuera ett nytt paket och starta det.
- FFE hittar rätt datorpool (baserat på kundindata, till exempel tillhörighetsgrupp eller geografisk plats plus indata från infrastrukturresurserna, till exempel maskintillgänglighet) och kommunicerar med huvudinfrastrukturstyrenheten i den datorpoolen.
- Infrastrukturkontrollanten hittar en värd som har tillgängliga CPU-kärnor (eller snurrar upp en ny värd). Tjänstpaketet och konfigurationen kopieras till värden och infrastrukturkontrollanten kommunicerar med värdagenten på värdoperativsystemet för att distribuera paketet (konfigurera DIP:er, portar, gästoperativsystem och så vidare).
- Värdagenten startar gästoperativsystemet och kommunicerar med gästagenten (WindowsAzureGuestAgent). Värden skickar hjärtslag till gästen för att säkerställa att rollen strävar mot sitt måltillstånd.
- WindowsAzureGuestAgent konfigurerar gästoperativsystemet (brandvägg, ACL:er, LocalStorage och så vidare), kopierar en ny XML-konfigurationsfil till c:\Config och startar sedan WaHostBootstrapper-processen.
- För fullständiga IIS-webbroller startar WaHostBootstrapper IISConfigurator och uppmanar den att ta bort alla befintliga AppPools för webbrollen från IIS.
- WaHostBootstrapper läser startuppgifterna från E:\RoleModel.xml och börjar köra startuppgifter. WaHostBootstrapper väntar tills alla enkla startuppgifter har slutförts och returnerar ett meddelande om att åtgärden lyckades.
- För fullständiga IIS-webbroller instruerar WaHostBootstrapper IISConfigurator att konfigurera IIS-app pool och länkar webbplatsen till
E:\Sitesroot\<index>
, där<index>
är ett nollbaserat index i antalet<Sites>
element som definierats för tjänsten. - WaHostBootstrapper startar värdprocessen beroende på rolltyp:
- Arbetsroll: WaWorkerHost.exe startas. WaHostBootstrapper kör metoden OnStart(). När den har returnerats börjar WaHostBootstrapper köra metoden Run() och markerar sedan rollen som Klar samtidigt och placerar den i lastbalanserarens rotation (om InputEndpoints definieras). WaHostBootsrapper går sedan in i en loop för att kontrollera rollstatusen.
- Fullständig IIS-webbroll: aIISHost har startats. WaHostBootstrapper kör metoden OnStart(). Efter att den har återvänt börjar den köra metoden Run() och markerar samtidigt rollen som "Klar" samt placerar den i lastbalanserarens rotation. WaHostBootsrapper går sedan in i en loop för att kontrollera rollstatusen.
- Inkommande webbbegäranden till en fullständig IIS-webbroll utlöser IIS för att starta W3WP-processen och hantera begäran, på samma sätt som i en lokal IIS-miljö.
Loggfilsplatser
WindowsAzureGuestAgent
- C:\Logs\AppAgentRuntime.Log.
Den här loggen innehåller ändringar i tjänsten, inklusive starter, stopp och nya konfigurationer. Om tjänsten inte ändras kan du förvänta dig att se stora tidsluckor i loggfilen. - C:\Logs\WaAppAgent.Log.
Den här loggen innehåller statusuppdateringar och pulsslagsmeddelanden och uppdateras var 2–3:e sekund. Den här loggen innehåller en historisk vy över instansens status och anger när instansen inte var i tillståndet Klar.
WaHostBootstrapper
C:\Resources\Directory\<deploymentID>.<role>.DiagnosticStore\WaHostBootstrapper.log
WaIISHost
C:\Resources\Directory\<deploymentID>.<role>\WaIISHost.log
IISConfigurator
C:\Resources\Directory\<deploymentID>.<role>\IISConfigurator.log
IIS-loggar
C:\Resources\Directory\<guid>.<role>.DiagnosticStore\LogFiles\W3SVC1
Windows-händelseloggar
D:\Windows\System32\Winevt\Logs