Co je Azure Automation State Configuration?

Dokončeno

Pomocí služby Azure Automation State Configuration můžete zajistit, aby virtuální počítače v oblasti clusteru byly v konzistentním stavu se stejným softwarem nainstalovaným a stejnými konfiguracemi.

V této lekci se seznámíte s funkcemi a možnostmi služby Azure Automation, projdete si deklarativní model DSC (PowerShell Desired State Configuration) a prozkoumáte jeho výhody.

Azure Automation State Configuration je služba Azure postavená na PowerShellu. Umožňuje konzistentně nasazovat, spolehlivě monitorovat a automaticky aktualizovat požadovaný stav všech vašich prostředků. Azure Automation poskytuje nástroje pro definování konfigurací a jejich použití ve skutečných i virtuálních počítačích.

Proč používat Azure Automation State Configuration?

Ruční údržba správné a konzistentní konfigurace pro servery, na kterých běží vaše služby, může být obtížné a náchylné k chybám. Azure Automation State Configuration používá k řešení těchto problémů PowerShell DSC. Centrálně spravuje vaše artefakty DSC a proces DSC.

Azure Automation State Configuration má integrovaný server vyžádané replikace. Uzly můžete cílit tak, aby automaticky přijímaly konfigurace z tohoto serveru vyžádané replikace, prováděly sladění s požadovaným stavem a ohlašovaly shodu. Můžete cílit na virtuální nebo fyzické počítače s Windows nebo Linuxem, v cloudu i v místním prostředí.

Protokoly služby Azure Monitor můžete použít ke kontrole dodržování předpisů uzlů konfigurací služby Azure Automation State Configuration pro odesílání těchto dat.

Co je PowerShell DSC?

PowerShell DSC je platforma pro deklarativní správu, kterou služba Azure Automation State Configuration používá ke konfiguraci, nasazení a řízení systémů. Deklarativní programovací jazyk odděluje záměr (co chcete udělat) od provádění (jak to chcete udělat). Určíte požadovaný stav a necháte DSC provést akce, které povedou k dosažení tohoto stavu. Pokud je k dispozici prostředek DSC, nemusíte vědět, jak se funkce implementuje nebo nasazuje. Místo toho se můžete zaměřit na strukturu nasazení.

Pokud už používáte PowerShell, může vás zajímat, proč potřebujete DSC. Představte si následující příklad.

Když chcete vytvořit sdílenou složku na Windows Serveru, můžete použít tento příkaz PowerShellu:

# Create a file share
New-SmbShare -Name MyFileShare -Path C:\Shared -FullAccess User1 -ReadAccess User2

Tento skript je jednoduchý a snadno pochopitelný. Pokud ale tento skript použijete v produkčním prostředí, dojde k několika problémům. Zvažte, co se může stát, když se skript spustí vícekrát nebo pokud User2 už má úplný přístup, a ne přístup jen pro čtení.

Tento přístup není idempotentní. Idempotence představuje operaci, která má stejný účinek, ať už ji spustíte jednou, nebo tisíckrát. K dosažení idempotence v PowerShellu potřebujete přidat logiku a zpracování chyb. Pokud sdílená složka neexistuje, vytvoříte ji. Pokud sdílená složka existuje, není nutné ji vytvářet. Pokud uživatel User2 existuje, ale nemá oprávnění ke čtení, přidáte oprávnění ke čtení.

Skript PowerShellu by vypadal podobně jako tento:

$shareExists = $false
$smbShare = Get-SmbShare -Name $Name -ErrorAction SilentlyContinue
if($smbShare -ne $null)
{
    Write-Verbose -Message "Share with name $Name exists"
    $shareExists = $true
}

if ($shareExists -eq $false)
{
    Write-Verbose "Creating share $Name to ensure it is Present"
    New-SmbShare @psboundparameters
}
else
{
    # Need to call either Set-SmbShare or *ShareAccess cmdlets
    if ($psboundparameters.ContainsKey("ChangeAccess"))
    {
       #...etc., etc., etc
    }
}

Další zvláštní případy, které jste nevzali v úvahu, můžou nastat, až když dojde k problémům. DSC zpracovává neočekávané případy automaticky. Při použití DSC popíšete výsledek, ne proces k dosažení výsledku.

Následující fragment kódu DSC ukazuje příklad:

Configuration Create_Share
{
   Import-DscResource -Module xSmbShare
   # A node describes the VM to be configured

   Node $NodeName
   {
      # A node definition contains one or more resource blocks
      # A resource block describes the resource to be configured on the node
      xSmbShare MySMBShare
      {
          Ensure      = "Present"
          Name        = "MyFileShare"
          Path        = "C:\Shared"
          ReadAccess  = "User1"
          FullAccess  = "User2"
          Description = "This is an updated description for this share"
      }
   }
}

Předchozí příklad používá xSmbShare modul, který DSC říká, jak zkontrolovat stav sdílené složky. Sada prostředků DSC obsahuje více než 100 modulů prostředků, včetně jednoho pro instalaci lokality služby IIS. Odkaz na sadu prostředků DSC najdete v souhrnné lekci na konci tohoto modulu.

Další informace o struktuře kódu DSC PowerShellu najdete v další lekci.

Co je LCM?

Místní správce konfigurace (LCM) je součástí rozhraní WMF (Windows Management Framework) v operačním systému Windows. LCM zodpovídá za aktualizaci stavu uzlu (například virtuálního počítače) tak, aby odpovídal požadovanému stavu. LCM provádí při každém svém spuštění následující kroky:

  1. Get: Získá aktuální stav uzlu.
  2. Test: Porovná aktuální stav uzlu s požadovaným stavem pomocí zkompilovaného skriptu DSC (soubor .mof).
  3. Set: Aktualizace uzel tak, aby odpovídal požadovanému stavu popsanému v souboru .mof.

LCM nakonfigurujete při registraci virtuálního počítače ve službě Azure Automation.

Architektury nabízení a vyžádání replikace v DSC

LCM může v každém uzlu fungovat ve dvou režimech.

  • Režim nabízení: Správce ručně odesílá nebo odesílá konfigurace do jednoho nebo více uzlů. LCM zajišťuje, aby stav v každém uzlu odpovídal stavu určenému v konfiguraci.

    Diagram znázorňující architekturu nabízených oznámení v DSC

  • Režim vyžádání obsahu: Server vyžádané replikace obsahuje informace o konfiguraci. LCM na každém uzlu dotazuje server vyžádané replikace v pravidelných intervalech (ve výchozím nastavení každých 15 minut), aby získal nejnovější podrobnosti o konfiguraci. Tyto žádosti jsou označené jako krok 1 v následujícím diagramu. V kroku 2 server vyžádané replikace odešle podrobnosti o všech změnách konfigurace zpět do každého uzlu.

    V režimu vyžádání replikace musí být každý uzel zaregistrován ve službě vyžádané replikace.

    Diagram znázorňující architekturu vyžádání změn v DSC

Oba režimy mají výhody:

  • Režim nabízení replikace se snadno nastavuje. Nepotřebuje vlastní vyhrazenou infrastrukturu a může běžet na přenosném počítači. Režim nabízení replikace je užitečný k testování funkčnosti DSC. Režim nabízení replikace můžete použít také k uvedení počítače s nově vytvořenou imagí do základního požadovaného stavu.
  • Režim vyžádání replikace je užitečný při podnikovém nasazení, které zahrnuje velký počet počítačů. LCM se pravidelně serveru vyžádané replikace dotazuje a zajišťuje, aby uzly byly v požadovaném stavu. Pokud externí nástroj nebo tým použije opravy hotfix, které způsobí nekonzistenci konfigurací na jednotlivých počítačích, jsou tyto počítače rychle navráceny do souladu s konfigurací, kterou jste nastavili. Tento proces může přispět k dosažení stavu kontinuální shody z hlediska zabezpečení a dodržování zákonných povinností.

Podporované platformy a operační systémy

Azure Automation DSC se podporuje ve službách Azure Cloud Services a u dalších poskytovatelů cloudových služeb, v místní infrastruktuře nebo v hybridní kombinaci všech těchto prostředí.

Azure Automation DSC podporuje následující operační systémy:

  • Windows:
    • Server 2022
    • Server 2019
    • Server 2016
    • Server 2012 R2
    • Server 2012
    • Server 2008 R2 SP1
    • 11
    • 10
    • 8.1
    • 7
  • Linux –
    • Rozšíření DSC Pro Linux podporuje všechny linuxové distribuce uvedené v dokumentaci k PowerShellU DSC.

PowerShell DSC je nainstalovaný na všech počítačích s Linuxem, které Azure Automation DSC podporuje.

Požadavky DSC pro Windows

Pro počítače s Windows rozšíření virtuálního počítače Azure Desired State Configuration (DSC) používá WMF ke správě verzí funkcí Windows, jako je Windows PowerShell DSC a Vzdálená správa Windows (WinRM). Azure DSC podporuje WMF 4.0 a novější, takže počítače s Windows musí používat Windows Server 2008 R2 SP1, Windows 7 nebo novější.

Při prvním volání rozšíření Azure DSC se do všech verzí Windows (s výjimkou verze Windows Server 2016 a novějších verzí) nainstaluje verze WMF kompatibilní s operačním systémem. Ve verzi Windows Server 2016 a novějších je už nejnovější verze WMF nainstalovaná. Po instalaci WMF je nutné počítač restartovat.

WinRM je povolené na uzlech počítače se systémem Windows Server 2012 nebo novějším a Windows 7 nebo novějším.

Podpora proxy pro agenta DSC je dostupná ve Windows v buildech 1809 a novějších. U předchozích verzí Windows není podpora proxy v DSC k dispozici.

Další požadavky DSC

Pokud se uzly nacházejí v privátní síti, vyžaduje DSC pro komunikaci se službou Azure Automation následující port a adresy URL:

  • Port: Pro odchozí přístup k internetu se vyžaduje jenom protokol TCP 443.
  • Globální adresa URL: *.azure-automation.net
  • Globální adresa URL US Gov – Virginie: *.azure-automation.us
  • Služba agenta: https://<workspaceId>.agentsvc.azure-automation.net

Kontrola znalostí

1.

Co je Azure Automation State Configuration?

2.

Skript PowerShell DSC: ______________

3.

Proč byste měli pro DSC použít režim vyžádání replikace místo režimu nabízení replikace?