Eseguire una macchina virtuale Linux nell'hub di Azure Stack

Il provisioning di una macchina virtuale nell'hub di Azure Stack, ad esempio Azure, richiede alcuni componenti aggiuntivi oltre alla macchina virtuale stessa, incluse le risorse di rete e di archiviazione. Questo articolo illustra le procedure consigliate per l'esecuzione di una macchina virtuale Linux nell'hub di Azure Stack.

Architecture for Linux VM on Azure Stack Hub

Resource group

Un gruppo di risorse è un contenitore logico che contiene risorse correlate all'hub di Azure Stack. È generalmente necessario raggruppare le risorse in base alla loro durata e alle persone che le gestiranno.

Inserire nello stesso gruppo di risorse le risorse strettamente associate che condividono lo stesso ciclo di vita. I gruppi di risorse consentono di distribuire e monitorare le risorse come gruppo, tenendo traccia dei costi per ogni gruppo di risorse. È anche possibile eliminare un intero set di risorse, operazione molto utile nelle distribuzioni di prova. Assegnare nomi di risorsa significativi per semplificare l'individuazione di una risorsa specifica e comprenderne il ruolo. Per altre informazioni, vedere Convenzioni di denominazione consigliate per le risorse di Azure.

Macchina virtuale

È possibile effettuare il provisioning di una macchina virtuale da un elenco di immagini pubblicate o da un file di immagine gestita o disco rigido virtuale (VHD) personalizzato caricato nell'archiviazione BLOB dell'hub di Azure Stack. L'hub di Azure Stack supporta l'esecuzione di diverse distribuzioni Linux popolari, tra cui CentOS, Debian, Red Hat Enterprise, Ubuntu e SUSE. Per altre informazioni, vedere Linux nell'hub di Azure Stack. È anche possibile scegliere di sintetizzare una delle immagini Linux pubblicate disponibili in Azure Stack Hub Marketplace.

L'hub di Azure Stack offre dimensioni di macchine virtuali diverse da Azure. Per altre informazioni, vedere Dimensioni per le macchine virtuali nell'hub di Azure Stack. Se si sposta un carico di lavoro esistente nell'hub di Azure Stack, iniziare con le dimensioni della macchina virtuale più vicine ai server locali/Azure. Misurare quindi le prestazioni del carico di lavoro effettivo in relazione alla CPU, alla memoria e alle operazioni di input/output al secondo (IOPS) del disco e regolare le dimensioni in base alle necessità.

Dischi

I costi dipendono dalla capacità del disco sottoposto a provisioning. Le operazioni di I/O al secondo e la velocità effettiva (ovvero la velocità di trasferimento dei dati) dipendono dalle dimensioni della macchina virtuale, quindi quando si esegue il provisioning di un disco, prendere in considerazione tutti e tre i fattori (capacità, operazioni di I/O al secondo e velocità effettiva).

Operazioni di I/O al secondo del disco (operazioni di input/output al secondo) nell'hub di Azure Stack è una funzione delle dimensioni della macchina virtuale anziché del tipo di disco. Ciò significa che per una macchina virtuale di serie Standard_Fs, indipendentemente dal fatto che si sceglie SSD o HDD per il tipo di disco, il limite di operazioni di I/O al secondo per un singolo disco dati aggiuntivo è di 2300 operazioni di I/O al secondo. Il limite di I/O al secondo imposto è un limite (massimo possibile) per evitare vicini rumorosi. Non è una garanzia di operazioni di I/O al secondo che si otterranno in una dimensione di macchina virtuale specifica.

È anche consigliabile usare Managed Disks. I dischi gestiti semplificano la gestione dei dischi, gestendo automaticamente le risorse di archiviazione. I dischi gestiti non richiedono un account di archiviazione. È sufficiente specificare le dimensioni e il tipo di disco per distribuirlo come risorsa a disponibilità elevata.

Il disco del sistema operativo è un disco rigido virtuale archiviato nell'hub di Azure Stack Archiviazione, quindi persiste anche quando il computer host è inattivo. Per le macchine virtuali Linux, il disco del sistema operativo è /dev/sda1. Si consiglia anche di creare uno o più dischi dati, ovvero dischi rigidi virtuali usati per i dati dell'applicazione.

Quando si crea un VHD, il disco non è formattato. Accedere alla VM per formattare il disco. Nella shell Linux i dischi dati vengono visualizzati come /dev/sdc, /dev/sdd e così via. È possibile eseguire lsblk per elencare i dispositivi a blocchi, inclusi i dischi. Per usare un disco dati, creare una partizione e un file system, quindi montare il disco. Ad esempio:

# Create a partition.
sudo fdisk /dev/sdc \# Enter 'n' to partition, 'w' to write the change.

# Create a file system.
sudo mkfs -t ext3 /dev/sdc1

# Mount the drive.
sudo mkdir /data1
sudo mount /dev/sdc1 /data1

Quando si aggiunge un disco dati, al disco viene assegnato un ID numero di unità logica (LUN). Facoltativamente, è possibile specificare l'ID LUN, ad esempio se si sostituisce un disco e si vuole conservare lo stesso ID LUN oppure si dispone di un'applicazione che cerca un ID LUN specifico. Tuttavia, tenere presente che gli ID LUN devono essere univoci per ogni disco.

La VM viene creata con un disco temporaneo. Questo disco viene archiviato in un volume temporaneo nell'infrastruttura di archiviazione dell'hub di Azure Stack. Può essere eliminato durante i riavvii e altri eventi del ciclo di vita della macchina virtuale. Usare questo disco solo per dati temporanei, ad esempio file di paging o di scambio. Per le macchine virtuali Linux, il disco temporaneo è /dev/sdb1 ed è montato in /mnt/resource o /mnt.

Rete

I componenti di rete includono le risorse seguenti:

  • Rete virtuale. Ogni macchina virtuale viene distribuita in una rete virtuale che può essere suddivisa in più subnet.

  • Interfaccia di rete (NIC) . La scheda di interfaccia di rete consente alla VM di comunicare con la rete virtuale. Se sono necessarie più schede di interfaccia di rete per la macchina virtuale, tenere presente che per ogni dimensione di macchina virtuale è definito un numero massimo di schede.

  • Indirizzo IP pubblico/INDIRIZZO VIP. È necessario un indirizzo IP pubblico per comunicare con la macchina virtuale, ad esempio tramite desktop remoto (RDP). L'indirizzo IP pubblico può essere dinamico o statico. Per impostazione predefinita, è dinamico. Se sono necessarie più schede di interfaccia di rete per la macchina virtuale, tenere presente che per ogni dimensione di macchina virtuale è definito un numero massimo di schede.

  • È inoltre possibile creare un nome di dominio completo (FQDN) per l'indirizzo IP. È quindi possibile registrare un record CNAME nel DNS che punta al nome FQDN. Per altre informazioni, vedere Creare un nome di dominio completo nel portale di Azure.

  • Gruppo di sicurezza di rete (NSG). I gruppi di sicurezza di rete vengono usati per consentire o negare il traffico di rete alle macchine virtuali. I gruppi di sicurezza di rete possono essere associati a subnet o singole istanze di macchina virtuale.

Tutti i gruppi di sicurezza di rete contengono un set di regole predefinite, inclusa una regola che blocca tutto il traffico Internet in ingresso. Le regole predefinite non possono essere eliminate, ma altre regole possono eseguirne l'override. Per abilitare il traffico Internet, creare regole che consentono il traffico in ingresso a porte specifiche, ad esempio la porta 80 per HTTP. Per abilitare l'accesso SSH, aggiungere una regola al gruppo di sicurezza di rete per consentire il traffico in arrivo sulla porta TCP 22.

Gestione operativa

SSH. Prima di creare una VM Linux, generare una coppia di chiavi RSA pubblica/privata a 2.048 bit. Quando si crea la VM, utilizzare il file di chiave pubblica. Per altre informazioni, vedere Come usare SSH con Linux in Azure.

Diagnostica. Abilitare il monitoraggio e la diagnostica, tra cui le metriche di base sull'integrità, i log relativi all'infrastruttura di diagnostica e la diagnostica di avvio. La diagnostica di avvio permette di diagnosticare gli errori di avvio quando la VM passa a uno stato non avviabile. Creare un account di archiviazione di Azure per archiviare i log. Un account di archiviazione con ridondanza locale standard è sufficiente per i log di diagnostica. Per altre informazioni, vedere Abilitare il monitoraggio e la diagnostica.

Disponibilità. La macchina virtuale può essere soggetta a un riavvio a causa della manutenzione pianificata come pianificato dall'operatore hub di Azure Stack. Per una disponibilità maggiore, distribuire più macchine virtuali in un set di disponibilità.

Backup Per raccomandazioni sulla protezione delle macchine virtuali IaaS dell'hub di Azure Stack, fare riferimento a questo articolo.

Arresto di una macchina virtuale. Azure distingue tra gli stati "Arrestato" e "Deallocato". L'addebito avviene quando lo stato della VM viene arrestato, ma non quando la VM viene deallocata. Nel portale dell'hub di Azure Stack il pulsante Arresta dealloca la macchina virtuale. Se l'arresto viene effettuato tramite il sistema operativo ad accesso eseguito, la VM viene arrestata ma non deallocata, quindi gli addebiti continueranno a essere effettuati.

Eliminazione di una macchina virtuale. Se si elimina una macchina virtuale, i dischi della macchina virtuale non vengono eliminati. È quindi possibile eliminare in modo sicuro la macchina virtuale senza perdere dati. Verranno tuttavia applicati comunque addebiti per l'archiviazione. Per eliminare il disco della macchina virtuale, eliminare l'oggetto disco gestito. Per impedire l'eliminazione accidentale, usare un blocco di risorsa per bloccare l'intero gruppo di risorse o le singole risorse, ad esempio una macchina virtuale.

Considerazioni sulla sicurezza

Eseguire l'onboarding delle macchine virtuali per Centro sicurezza di Azure per ottenere una visualizzazione centrale dello stato di sicurezza delle risorse di Azure. Il Centro sicurezza monitora potenziali problemi di sicurezza e offre un'immagine completa dello stato della sicurezza della distribuzione. Il Centro sicurezza è configurato per ogni sottoscrizione di Azure. Abilitare la raccolta dei dati sulla sicurezza come illustrato nell'articolo relativo all'onboarding della sottoscrizione di Azure nel Centro sicurezza Standard. Quando la raccolta dei dati è abilitata, il Centro sicurezza analizza automaticamente tutte le macchine virtuali create nell'ambito della sottoscrizione.

Gestione delle patch. Per configurare la gestione delle patch nella macchina virtuale, fare riferimento a questo articolo. Se abilitato, Centro sicurezza controlla se mancano aggiornamenti critici e della sicurezza. Usare le impostazioni di Criteri di gruppo nella VM per abilitare gli aggiornamenti automatici del sistema.

Antimalware. Se abilitato, Centro sicurezza PC controlla se è installato il software antimalware. È inoltre possibile utilizzare Centro sicurezza PC per installare il software antimalware all'interno del portale di Azure.

Controllo dell'accesso. Usare il controllo degli accessi in base al ruolo per controllare l'accesso alle risorse di Azure. Il controllo degli accessi in base al ruolo consente di assegnare i ruoli di autorizzazione ai membri del proprio team DevOps. Ad esempio, il ruolo di lettura permette di visualizzare le risorse di Azure, ma non di crearle, gestirle o eliminarle. Alcune autorizzazioni sono specifiche di un tipo di risorsa di Azure. Ad esempio, il ruolo di Collaboratore Macchina virtuale consente di riavviare o deallocare una VM, reimpostare la password di amministratore, creare una nuova VM e così via. Altri ruoli predefiniti di Controllo degli accessi in base al ruolo che potrebbero essere utili per questa architettura includono Utente DevTest Labs e Collaboratore Rete.

Nota

Il controllo degli accessi in base al ruolo non limita le azioni eseguibili da un utente registrato in una VM. Le autorizzazioni sono determinate dal tipo di account sul sistema operativo guest.

Log di controllo. Usare i log attività per visualizzare le azioni di provisioning e altri eventi della macchina virtuale.

Crittografia dei dati. L'hub di Azure Stack protegge i dati utente e dell'infrastruttura a livello di sottosistema di archiviazione usando la crittografia dei dati inattivi. Il sottosistema di archiviazione dell'hub di Azure Stack viene crittografato usando BitLocker con crittografia AES a 128 bit. Per altri dettagli, vedere questo articolo.

Passaggi successivi