Esercizio - Configurare un modulo DSC e uno stato desiderato

Completato

In questo esercizio si creerà un account di Automazione di Azure e verrà caricato PowerShell DSC. Si eseguirà quindi l'onboarding di una VM esistente in Automazione di Azure. Infine, si verificherà se nella macchina virtuale non è presente IIS. In questo caso, si eseguirà codice per installare e configurare IIS nella macchina virtuale.

Creazione di una macchina virtuale

Iniziare distribuendo una nuova VM da un'immagine di Windows Server 2022.

  1. Nel riquadro di Azure Cloud Shell a destra eseguire i comandi seguenti per creare un nome utente e generare una password casuale:

    USERNAME=azureuser
    PASSWORD=$(openssl rand -base64 32)
    
  2. Eseguire il comando seguente in Cloud Shell per creare una VM:

    az vm create \
      --resource-group "<rgn>[Sandbox resource group name]</rgn>" \
      --name myVM \
      --image win2019datacenter \
      --admin-username $USERNAME \
      --admin-password $PASSWORD
    

    La creazione della macchina virtuale e delle risorse di supporto richiede alcuni minuti. Se la VM viene creata correttamente, verrà visualizzato un output simile al seguente:

    {
      "fqdns": "",
      "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
      "location": "eastus",
      "macAddress": "00-0D-3A-36-BA-28",
      "powerState": "virtual machine running",
      "privateIpAddress": "10.0.0.4",
      "publicIpAddress": "104.40.69.56",
      "resourceGroup": "myResourceGroup"
    }
    
  3. Copiare l'elemento publicIpAddress da questo output e salvarlo. Più avanti nell'esercizio si userà questo indirizzo per accedere alla macchina virtuale.

  4. Eseguire il comando seguente in Cloud Shell per aprire la porta 80 della VM per il traffico Web:

    az vm open-port \
      --port 80 \
      --resource-group "<rgn>[Sandbox resource group name]</rgn>" \
      --name myVM
    
  5. Nel Web browser passare all'indirizzo IP pubblico della macchina virtuale http://[public-ip]. Anche se la porta 80 è aperta, la connessione dovrebbe raggiungere il timeout con This site can't be reached. Questo errore si verifica perché IIS non viene distribuito nella macchina virtuale. Questo problema verrà risolto più avanti in questo esercizio.

Creare un account di Automazione di Azure

  1. Accedere al portale di Azure con lo stesso account usato per attivare la sandbox.

  2. Nel menu delle risorse del portale di Azure o nella pagina Home selezionare Crea una risorsa. Viene visualizzato il riquadro Crea una risorsa.

  3. Nella casella di testo Cerca servizi e marketplace immettere Automazione e premere INVIO per visualizzare i risultati della ricerca.

  4. Nei risultati della ricerca Automazione selezionare il servizio Automazione di Azure pubblicato da Microsoft.

  5. Seleziona Crea. Verrà visualizzato il riquadro Crea un account di Automazione.

  6. Immettere i seguenti valori per ogni impostazione.

    Impostazione Valore
    Subscription Concierge Subscription
    Gruppo di risorse Selezionare il gruppo di risorse esistente nell'elenco a discesa
    Nome Immettere un nome per l'account di automazione. È consigliabile usare [iniziali]-account-automazione. Usare questo nome ogni volta che viene indicato [nome-account-automazione] in questo esercizio.
    Area Accettare la località predefinita
  7. Selezionare Rivedi e crea e quindi Crea. Attendere che la distribuzione dell'account di automazione sia completata.

  8. Al termine della distribuzione, selezionare Vai alla risorsa. Viene visualizzato il riquadro Account di automazione per la risorsa.

Creare uno script di configurazione DSC

  1. In Cloud Shell eseguire il comando seguente per avviare una sessione di PowerShell:

    pwsh
    
  2. Al prompt di PowerShell eseguire il comando seguente per aprire un nuovo file denominato MyDscConfiguration.ps1 nell'editor di codice:

    code $HOME/MyDscConfiguration.ps1
    
  3. Immettere il blocco di codice seguente nel file. Questo codice crea una configurazione per installare IIS, se non è già installato. Il codice esegue quindi lo script per compilare la configurazione.

    Configuration MyDscConfiguration {
      Node "localhost" {
        WindowsFeature MyFeatureInstance {
          Ensure = 'Present'
          Name = 'Web-Server'
        }
      }
    }
    
  4. Selezionare CTRL+S nella home directory per salvare il file e CTRL+Q per chiudere l'editor.

  5. Nella sessione di PowerShell in Azure Cloud Shell immettere il codice seguente, sostituendo [your-automation-account-name] con il nome della risorsa dell'account di automazione, per caricare lo script DSC nell'account Automazione di Azure.

    Import-AzAutomationDscConfiguration `
        -Published `
        -ResourceGroupName <rgn>[Sandbox resource group name]</rgn> `
        -SourcePath $HOME/MyDscConfiguration.ps1 `
        -Force `
        -AutomationAccountName [your-automation-account-name]
    

    Il comando dovrebbe generare un output simile al seguente:

    ResourceGroupName     : <rgn>[Sandbox resource group name]</rgn>
    AutomationAccountName : [your-automation-account-name]
    Location              : eastus
    State                 : Published
    Name                  : MyDscConfiguration
    Tags                  : {}
    CreationTime          : 6/25/21 5:44:36 PM +00:00
    LastModifiedTime      : 6/25/21 5:44:36 PM +00:00
    Description           :
    Parameters            : {}
    LogVerbose            : False
    

Aggiungere i moduli obbligatori (facoltativo)

Dopo aver caricato lo script di configurazione DSC, importare tutti i moduli di PowerShell necessari per il processo DSC. Per la configurazione in uso non sono richiesti altri moduli, quindi è possibile ignorare questo passaggio. Se è necessario importare o aggiungere moduli nell'account di automazione, passare all'account di automazione nel portale di Azure. Da qui selezionare Moduli nell'intestazione Risorse condivise a sinistra, quindi selezionare Aggiungi un modulo.

Compilare lo script DSC

  1. Nel portale di Azure, il riquadro Panoramica per l'account di Automazione di Azure dovrebbe essere ancora visualizzato.

  2. Nel menu Account di automazione, in Gestione della configurazione selezionare Configurazione stato (DSC). Viene visualizzato il riquadro Configurazione stato (DSC) per l'account di automazione.

  3. Selezionare la scheda Configurazioni. Verificare che sia visualizzata la configurazione MyDscConfiguration e quindi selezionarla. Viene visualizzato il riquadro della configurazione MyDscConfiguration.

    Screenshot del portale di Azure, che illustra le configurazioni di stato disponibili nel riquadro Configurazione stato (DSC).

  4. Nella barra dei comandi selezionare Compila.

  5. Nella finestra di dialogo Compila configurazione DSC selezionare .

  6. Controllare le notifiche (l'icona delle notifiche si trova nei controlli globali nell'intestazione della pagina). Attendere che il processo di compilazione mostri lo Stato Completato (l'operazione potrebbe richiedere diversi minuti).

    Nota

    Può essere necessario aggiornare la pagina per visualizzare la modifica dello stato. Per aggiornare, nel percorso di navigazione in alto a sinistra del portale di Azure selezionare l'account di automazione. Viene visualizzato il riquadro Configurazione stato (DSC). Dalla barra dei menu in alto selezionare Aggiorna. Selezionare quindi la configurazione MyDscConfiguration dall'elenco per tornare al riquadro MyDscConfiguration. Nella scheda Compilation jobs (Processi di compilazione), lo Stato dovrebbe ora essere visualizzato come Completato.

    Screenshot del portale di Azure, che illustra lo stato del processo di compilazione per la configurazione.

  7. Al termine della compilazione, chiudere il riquadro MyDscConfiguration. Viene visualizzato il riquadro Configurazione stato (DSC).

Registrare la VM con l'account di Automazione di Azure

  1. Nel riquadro Configurazione stato (DSC) per [nome-account-automazione] selezionare la scheda Nodi e nella barra dei comandi selezionare Aggiungi. Viene visualizzato il riquadro Macchine virtuali per l'account di Automazione.

    Screenshot del portale di Azure con il riquadro Nodi.

  2. Selezionare la macchina virtuale creata nella prima attività di questo esercizio, myVM. La propagazione della configurazione e della macchina virtuale nella rete può richiedere fino a 10 minuti. Se la macchina virtuale non è elencata, attendere qualche minuto e quindi selezionare Aggiorna nella barra dei comandi finché non viene visualizzata.

  3. Nella barra dei comandi selezionare Connetti. Viene visualizzato il riquadro Registrazione.

    Screenshot del portale di Azure con il riquadro Macchine virtuali.

  4. Immettere i seguenti valori per ogni impostazione.

    Impostazione Valore
    Nome della configurazione del nodo Nell'elenco a discesa selezionare MyDscConfiguration.localhost
    Frequenza di aggiornamento 30
    Frequenza modalità di configurazione 15
    Modalità di configurazione ApplyAndMonitor
    Consenti la sostituzione del modulo Selezionare la casella di controllo
    Riavvia il nodo se necessario Selezionare la casella di controllo
    Azione dopo il riavvio ContinueConfiguration
  5. Seleziona OK.

  6. Attendere la connessione della macchina virtuale. Il processo potrebbe richiedere alcuni minuti. Dopo la connessione di myVM, nel percorso di navigazione del portale in alto a sinistra selezionare l'account di automazione per chiudere il riquadro Registrazione e Macchine virtuali. Viene visualizzato il riquadro Configurazione stato (DSC) per l'account di automazione.

  7. Nella barra dei comandi selezionare Aggiorna.

  8. Verificare che il nodo myVM sia presente nell'elenco e che lo stato sia Conforme.

    Screenshot del portale di Azure con il riquadro Nodi con myVM registrata.

Verificare che IIS sia installato nella VM

Nel Web browser passare a http://[public-ip], dove [public-ip] è l'indirizzo IP pubblico registrato in precedenza in questo esercizio.

Viene visualizzata la pagina Web IIS predefinita. Screenshot del Web browser che mostra il riquadro IIS predefinito.

Congratulazioni. IIS è stato distribuito correttamente. Automazione di Azure ha usato lo script di PowerShell DSC caricato nell'account di Automazione di Azure.