Condividi tramite


Start/Stop VMs v2 (Avvio/Arresto di macchine virtuali versione 2), panoramica

La funzionalità Start/Stop VMs v2 avvia o arresta le istanze di macchine virtuali (VM) di Azure su più sottoscrizioni. Consente di avviare o arrestare le macchine virtuali in base a pianificazioni definite dall'utente, fornisce informazioni dettagliate tramite Azure Application Insights e invia notifiche facoltative usando gruppi di azioni. Per la maggior parte degli scenari, Start/Stop VMs può gestire le macchine virtuali distribuite e gestite sia da Azure Resource Manager sia da Azure Service Manager (versione classica), che è deprecato.

Questa nuova versione di Start/Stop VMs v2 offre un'opzione di automazione decentralizzata a basso costo per i clienti che vogliono ottimizzare i costi delle macchine virtuali. Offre le stesse funzionalità della versione originale che era disponibile con Automazione di Azure, ma è progettata per sfruttare i vantaggi della tecnologia più recente in Azure. Start/Stop VMs v2 si basa su più servizi di Azure, che verranno addebitati in base ai servizi distribuiti e usati.

Aggiornamenti importanti per Start/Stop VMs v2

  • Non saranno disponibili ulteriori aggiornamenti, miglioramenti o sviluppo per Start/Stop v2, tranne quando necessario per rimanere nelle versioni supportate dei componenti e dei servizi di Azure.

  • Le funzioni TriggerAutoUpdate e UpdateStartStopV2 sono ora deprecate e verranno rimosse in futuro. Per aggiornare Start/Stop v2, è consigliabile arrestare il sito, eseguire l'installazione alla versione più recente dal repository GitHube avviare il sito. Per disabilitare la funzionalità di aggiornamento automatico,eseguire l'impostazione dell'applicazione AzureClientOptions:EnableAutoUpdate su false. Non è disponibile alcun sistema di notifica predefinito per gli aggiornamenti. Dopo aver reso disponibile un aggiornamento alla versione Start/Stop v2, il readme.md verrà aggiornato nel repository GitHub. I watcher di file GitHub di terze parti potrebbero essere disponibili per notificare le modifiche.

  • A partire dal 19 agosto 2024, Start/Stop v2 è stato aggiornato al modello di lavoro isolato .NET 8.

Panoramica

Start/Stop VMs v2 è riprogettato e non dipende da Automazione di Azure o dai log di Monitoraggio di Azure, come richiesto dalla versione precedente. La versione si basa su Funzioni di Azure per gestire l'esecuzione dell'avvio e dell'arresto delle macchine virtuali.

Un'identità gestita viene creata in Microsoft Entra ID per questa applicazione Funzioni di Azure e consente a Start/Stop VMs v2 di accedere facilmente ad altre risorse protette di Microsoft Entra, ad esempio le app per la logica e le macchine virtuali di Azure. Per altre informazioni sulle identità gestite in Microsoft Entra ID, vedere Identità gestite per le risorse di Azure.

Viene creato un endpoint della funzione trigger HTTP per supportare gli scenari di pianificazione e sequenza inclusi nella funzionalità, come illustrato nella tabella seguente.

Nome Trigger Descrizione
Pianificati HTTP Questa funzione è per lo scenario pianificato e sequenziato (differenziato dallo schema del payload). Si tratta della funzione del punto di ingresso chiamata dall'app per la logica e accetta il payload per elaborare l'operazione di avvio o arresto della macchina virtuale.
Arresto automatico HTTP Questa funzione supporta lo scenario di Arresto automatico, ovvero la funzione del punto di ingresso chiamata da App per la logica.
AutoStopVM HTTP Questa funzione viene attivata automaticamente dall'avviso della macchina virtuale quando la condizione di avviso è vera.
VirtualMachineRequestOrchestrator Queue Questa funzione ottiene le informazioni sul payload dalla funzione pianificata e orchestra le richieste di avvio e arresto della macchina virtuale.
VirtualMachineRequestExecutor Queue Questa funzione esegue l'operazione di avvio e arresto effettiva nella macchina virtuale.
CreateAutoStopAlertExecutor Queue Questa funzione ottiene le informazioni sul payload dalla funzione Arresto automatico per creare l'avviso nella macchina virtuale.
HeartBeatAvailabilityTest Timer Questa funzione monitora la disponibilità delle funzioni HTTP primarie.
CostAnalyticsFunction Timer Questa funzione viene usata da Microsoft per stimare il costo aggregato di Start/Stop V2 tra i clienti. Questa funzione non influisce sulla funzionalità di aStart/Stop V2.
SavingsAnalyticsFunction Timer Questa funzione viene usata da Microsoft per stimare i risparmi aggregati di Start/Stop V2 tra i clienti. Questa funzione non influisce sulla funzionalità di aStart/Stop V2.
VirtualMachineSavingsFunction Queue Questa funzione esegue il calcolo effettivo dei risparmi in una macchina virtuale ottenuta dalla soluzione Start/Stop V2.
TriggerAutoUpdate Timer Deprecato. Questa funzione avvia il processo di aggiornamento automatico in base all'impostazione dell'applicazione "AzureClientOptions:EnableAutoUpdate=true".
UpdateStartStopV2 Queue Deprecato. Questa funzione esegue l'esecuzione effettiva dell'aggiornamento automatico, che convalida la versione corrente con la versione disponibile e decide l'azione finale.

Ad esempio, la funzione trigger HTTP pianificata viene usata per gestire scenari di pianificazione e sequenza. Analogamente, la funzione trigger HTTPArresto automatico gestisce lo scenario di arresto automatico.

Le funzioni trigger basate sulla coda sono necessarie per supportare questa funzionalità. Tutti i trigger basati su timer vengono usati per eseguire il test di disponibilità e per monitorare l'integrità del sistema.

App per la logica di Azure si usa per configurare e gestire le pianificazioni di avvio e arresto per la macchina virtuale, chiamando la funzione usando un payload JSON. Per impostazione predefinita, durante la distribuzione iniziale crea un totale di cinque app per la logica per gli scenari seguenti:

  • Pianificata: le azioni di avvio e arresto si basano su una pianificazione specificata in Base a Azure Resource Manager e alle macchine virtuali classiche. ststv2_vms_Scheduled_start e ststv2_vms_Scheduled_stop configurano l'avvio e l'arresto pianificati.

  • Sequenziata: le azioni di avvio e arresto si basano su una pianificazione destinata alle macchine virtuali con tag di sequenziazione predefiniti. Sono supportati solo due tag denominati: sequencestart e sequencestop. ststv2_vms_Sequenced_start e ststv2_vms_Sequenced_stop configurano l'avvio e l'arresto sequenziati.

    Il modo corretto per usare la funzionalità della sequenza consiste nel creare un tag denominato sequencestart in ogni macchina virtuale che si vuole avviare in una sequenza. Il valore del tag deve essere un numero intero compreso tra 1 e N per ogni macchina virtuale nel rispettivo ambito. Il tag è facoltativo e, se non presente, la macchina virtuale semplicemente non parteciperà alla sequenziazione. Gli stessi criteri si applicano all'arresto delle macchine virtuali con solo il nome del tag diverso e l'uso di sequencestop in questo caso. È necessario configurare entrambi i tag in ogni macchina virtuale per avviare e arrestare l'azione. Se due o più macchine virtuali condividono lo stesso valore di tag, tali macchine virtuali verranno avviate o arrestate contemporaneamente.

    Ad esempio, la tabella seguente mostra che le azioni di avvio e arresto vengono elaborate in ordine crescente in base al valore del tag.

    Tabella che mostra esempi di tag delle impostazioni di sequenza

    Nota

    Questo scenario supporta solo le macchine virtuali di Azure Resource Manager.

  • Arresto automatico: questa funzionalità viene usata solo per eseguire un'azione di arresto sia su Azure Resource Manager che sulle macchine virtuali classiche in base all'utilizzo della CPU. Può anche essere un interventopianificato, che crea avvisi sulle macchine virtuali e in base alla condizione. L'avviso viene attivato per eseguire l'azione di arresto. ststv2_vms_AutoStop configura la funzionalità di arresto automatico.

Ogni azione di avvio/arresto supporta l'assegnazione di una o più sottoscrizioni, gruppi di risorse o un elenco di macchine virtuali.

Un account di archiviazione di Azure, richiesto da Funzioni, viene usato anche da Start/Stop VMs v2 per due scopi:

  • Usa Archiviazione tabelle di Azure per archiviare i metadati dell'operazione di esecuzione, ovvero l'azione di avvio/arresto della macchina virtuale.

  • Usa Archiviazione code di Azure per supportare i trigger basati sulla coda di Funzioni di Azure.

Tutti i dati di registrazione della traccia dall'esecuzione dell'app per le funzioni vengono inviati all'istanza di Application Insights connessa. È possibile visualizzare i dati di telemetria archiviati in Application Insights da un set di visualizzazioni predefinite presentate in un dashboard di Azure condiviso.

Le notifiche tramite posta elettronica vengono inviate anche in seguito alle azioni eseguite nelle macchine virtuali.

Nuove versioni

Quando viene rilasciata una nuova versione di Start/Stop VMs v2, l'istanza viene aggiornata automaticamente senza dover ridistribuire manualmente.

Opzioni di ambito supportate

Abbonamento

L'ambito di una sottoscrizione può essere usato quando è necessario eseguire l'azione di avvio e arresto in tutte le macchine virtuali in un'intera sottoscrizione ed è possibile selezionare più sottoscrizioni, se necessario.

È anche possibile specificare un elenco di macchine virtuali da escludere e ignorarle dall'azione. È anche possibile utilizzare caratteri jolly per specificare tutti i nomi che possono essere ignorati contemporaneamente.

Gruppo di risorse

L'ambito di un gruppo di risorse può essere usato quando è necessario eseguire l'azione di avvio e arresto in tutte le macchine virtuali specificando uno o più nomi di gruppo di risorse e tra una o più sottoscrizioni.

È anche possibile specificare un elenco di macchine virtuali da escludere e ignorarle dall'azione. È anche possibile utilizzare caratteri jolly per specificare tutti i nomi che possono essere ignorati contemporaneamente.

VMList

Specificare un elenco di macchine virtuali è una misura che può essere usata quando è necessario eseguire l'azione di avvio e arresto in un set specifico di macchine virtuali e in più sottoscrizioni. Questa opzione non supporta la specifica di un elenco di macchine virtuali da escludere.

Prerequisiti

  • È necessario disporre di un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.

  • Per distribuire la soluzione, all'account deve essere concessa l'autorizzazione Proprietario nella sottoscrizione.

  • Start/Stop VMs v2 è disponibile in tutte le aree Azure global e cloud di enti pubblici USA elencate nella pagina per Funzioni di AzureProdotti disponibili per area.

Passaggi successivi

Per distribuire questa funzionalità, vedere Distribuire Start/Stop VMs.