Gestire i costi con i budget

Il controllo dei costi è un componente essenziale per ottimizzare il valore del proprio investimento nel cloud. Esistono diversi scenari in cui la visibilità dei costi, la creazione di report e l'orchestrazione basata sui costi hanno un'importanza fondamentale per la continuità delle attività aziendali. Il set di API di Gestione dei costi offre supporto per ciascuno di questi scenari. Tramite queste API, gli utenti possono visualizzare i dati sull'utilizzo in modo da esaminare i costi in dettaglio a livello di singola istanza.

Come parte dell'attività di controllo dei costi vengono comunemente usati i budget. In Azure è possibile definire l'ambito dei budget, ad esempio limitandone la visualizzazione in base alla sottoscrizione, ai gruppi di risorse o a una raccolta di risorse. Oltre a usare l'API budget per inviare notifiche tramite posta elettronica quando viene raggiunta una soglia di budget, è anche possibile usare gruppi di azioni di Monitoraggio di Azure. I gruppi di azioni attivano un set coordinato di azioni in risposta a un evento di budget.

Uno scenario di budget tipico per un cliente che esegue un carico di lavoro non critico consiste nel gestire la spesa rispetto a un budget e ottenere costi prevedibili quando si esamina la fattura mensile. Questo scenario richiede un'orchestrazione basata sui costi delle risorse che fanno parte dell'ambiente di Azure. In questo scenario viene impostato un budget mensile di $ 1.000 per la sottoscrizione. e sono impostate soglie di notifica per attivare alcune orchestrazioni. Questo scenario inizia con una soglia di costo dell'80%, che arresta tutte le macchine virtuali nel gruppo di risorse Optional. Poi alla soglia per costo del 100%, verranno arrestate tutte le istanze delle macchine virtuali.

Per configurare questo scenario, si completeranno le azioni elencate di seguito eseguendo i passaggi riportati nelle singole sezioni dell'esercitazione.

Le azioni descritte in questa esercitazione consentono di:

  • Creare un runbook di Automazione di Azure per arrestare le macchine virtuali usando webhook.
  • Creare un'app per la logica di Azure da attivare in base al valore soglia del budget e chiamare il runbook con i parametri corretti.
  • Creare un gruppo di azioni di Monitoraggio di Azure che verrà configurato per attivare l'app per la logica di Azure quando viene raggiunta la soglia del budget.
  • Creare il budget con le soglie desiderate e collegarlo al gruppo di azioni.

Creare un runbook di Automazione di Azure

Automazione di Azure è un servizio che consente di creare script per eseguire la maggior parte delle attività di gestione delle risorse in base a una pianificazione o su richiesta. Come parte di questo scenario, si crea un runbook di Automazione di Azure che arresta le macchine virtuali. Per creare questo scenario, si userà il runbook grafico Arrestare le macchine virtuali di Azure V2 disponibile nella raccolta Automazione di Azure. Importando questo runbook nell'account Azure e pubblicandolo, si potranno arrestare le macchine virtuali quando viene raggiunta una determinata soglia di budget.

Creare un account di Automazione di Azure

  1. Accedi al portale di Azure utilizzando le credenziali del tuo account di Azure.
  2. Selezionare il pulsante Crea una risorsa nell'angolo in alto a sinistra della schermata di Azure.
  3. Selezionare Strumenti di gestione>Automazione.

    Nota

    Se non si ha un account Azure, è possibile creare un account gratuito.

  4. Immettere le informazioni dell'account. Per Crea un account RunAs di Azure scegliere per abilitare automaticamente le impostazioni necessarie per semplificare l'autenticazione ad Azure.
  5. Al termine, selezionare Crea per avviare la distribuzione dell'account di Automazione.

Importare il runbook Stop Azure V2 VMs

Usando un runbook di Automazione di Azure, importare il runbook grafico Stop Azure V2 VMs dalla raccolta.

  1. Accedi al portale di Azure utilizzando le credenziali del tuo account di Azure.
  2. Aprire l'account di Automazione selezionando Tutti i servizi>Account di automazione. Selezionare quindi l'account di Automazione.
  3. Selezionare Raccolta di runbook dalla sezione Automazione processi.
  4. Impostare Origine raccolta su Script Center e selezionare OK.
  5. Individuare e selezionare l'elemento della raccolta Stop Azure V2 VMs nel portale di Azure.
  6. Selezionare Importa per visualizzare l'area Importa, quindi selezionare OK. Viene visualizzata l'area di panoramica del runbook.
  7. Dopo aver completato il processo di importazione, selezionare Modifica per visualizzare l'editor grafico e l'opzione di pubblicazione.
    Screenshot che mostra Modifica runbook grafico.
  8. Selezionare Pubblica per pubblicare il runbook, quindi quando richiesto. Quando si pubblica un runbook, si sovrascrive l'eventuale versione pubblicata esistente con la versione bozza. In questo caso, non è disponibile alcuna versione pubblicata perché è stato creato il runbook. Per altre informazioni sulla pubblicazione di un runbook, vedere Creare un runbook grafico.

Creare webhook per il runbook

Usando il runbook grafico Stop Azure V2 VMs si creeranno due webhook per avviare il runbook in Automazione di Azure tramite una singola richiesta HTTP. Il primo webhook richiamerà il runbook in corrispondenza di una soglia di budget dell'80%, con il nome del gruppo di risorse come parametro, in modo da arrestare le macchine virtuali facoltative. Quindi, il secondo webhook richiamerà il runbook senza parametri (alla soglia del 100%), arrestando così tutte le istanze di macchine virtuali rimanenti.

  1. Nella pagina Runbook del portale di Azure selezionare il runbook StopAzureV2Vm per visualizzare la relativa area di panoramica.
  2. Selezionare Webhook nella parte superiore della pagina per aprire l'area Aggiungi webhook.
  3. Selezionare Creare un nuovo webhook per aprire l'area Crea un nuovo webhook.
  4. Impostare il campo Nome del webhook su Facoltativo. La proprietà Abilitato deve essere impostata su . Non è necessario cambiare il valore di Scadenza. Per altre informazioni sulle proprietà dei webhook, vedere Proprietà dei webhook.
  5. Accanto al valore dell'URL selezionare l'icona di copia per copiare l'URL del webhook.

    Importante

    Salvare l'URL del webhook denominato Facoltativo in un luogo sicuro. Questo URL verrà usato più avanti nell'esercitazione. Per motivi di sicurezza, dopo la creazione di un webhook, non è più possibile visualizzare o recuperare l'URL.

  6. Selezionare OK per creare il nuovo webhook.
  7. Selezionare Configura i parametri e le impostazioni di esecuzione per visualizzare i valori dei parametri relativi al runbook.

    Nota

    Se il runbook contiene parametri obbligatori, non sarà possibile creare il webhook a meno che non vengano forniti i valori.

  8. Selezionare OK per accettare i valori dei parametri del webhook.
  9. Selezionare Crea per creare il webhook.
  10. Seguire quindi i passaggi precedenti per creare un secondo webhook denominato Complete.

    Importante

    Assicurarsi di salvare entrambi gli URL dei webhook poiché sarà necessario usarli più avanti in questa esercitazione. Per motivi di sicurezza, dopo la creazione di un webhook, non è più possibile visualizzare o recuperare l'URL.

Si avranno ora due webhook configurati, ciascuno disponibile tramite l'URL salvato.

Screenshot che mostra i webhook.

La configurazione di Automazione di Azure è stata completata. È possibile testare i webhook con un semplice test API per verificare che funzioni. Ecco alcuni modi comuni per eseguire query sull'API:

Il passaggio successivo consiste nel creare l'app per la logica per l'orchestrazione.

Creare un'app per la logica di Azure per l'orchestrazione

App per la logica consente di creare, pianificare e automatizzare i processi sotto forma di flussi di lavoro in modo da integrare app, dati, sistemi e servizi in aziende e organizzazioni. In questo scenario, l'app per la logica creata non chiama solo il webhook di automazione creato.

È possibile definire budget per attivare una notifica quando viene raggiunta una soglia specificata. Impostando più valori soglia per la ricezione di notifiche, l'app per la logica consentirà di eseguire azioni diverse in base alla soglia raggiunta. In questo esempio viene configurato uno scenario in cui si ricevono alcune notifiche. La prima notifica è relativa al raggiungimento dell'80% del budget. La seconda notifica si ha quando viene raggiunto il 100% del budget. L'app per la logica viene usata per arrestare tutte le macchine virtuali nel gruppo di risorse. In primo luogo, la soglia Optional viene raggiunta all'80%, quindi viene raggiunta la seconda soglia in cui tutte le macchine virtuali nella sottoscrizione vengono arrestate.

Le app per la logica consentono di definire uno schema di esempio per il trigger HTTP, ma richiedono che venga impostata l'intestazione Content-Type. Poiché il gruppo di azioni non ha intestazioni personalizzate per il webhook, è necessario analizzare il payload in un passaggio separato. Si userà quindi l'azione Analizza specificando un payload di esempio.

Creare l'app per la logica.

L'app per la logica esegue diverse azioni. L'elenco seguente fornisce un set generale di azioni eseguite dall'app per la logica:

  • Riconoscere quando viene ricevuta una richiesta HTTP.
  • Analizzare i dati JSON passati per determinare il valore soglia raggiunto
  • Usare un'istruzione condizionale per controllare se l'importo soglia ha raggiunto o superato l'80% dell'intervallo di budget, ma non è maggiore o uguale al 100%.
    • Se viene raggiunta questa soglia, inviare un HTTP POST usando il webhook denominato Facoltativo. Questa azione arresta le macchine virtuali nel gruppo "Optional".
  • Usare un'istruzione condizionale per controllare se l'importo soglia ha raggiunto o superato il 100% del valore del budget.
    • Se viene raggiunta la soglia, inviare un HTTP POST usando il webhook denominato Complete. Questa azione arresta tutte le macchine virtuali rimanenti.

Per creare l'app per la logica che esegue i passaggi precedenti, sono necessari i passaggi seguenti:

  1. Nel portale di Azure selezionare Crea una risorsa>Integrazione>App per la logica.
    Screenshot che mostra Selezionare la risorsa dell'app per la logica.
  2. Nell'area Crea app per la logica specificare i dettagli necessari per creare l'app per la logica, selezionare Aggiungi al dashboard e quindi Crea.
    Screenshot che mostra Crea app per la logica.

Dopo che Azure avrà distribuito l'app per la logica, viene visualizzata la schermata Progettazione app per la logica contenente un'area con un video introduttivo e i trigger di uso comune.

Aggiungere un trigger

Ogni app per la logica deve essere avviata con un trigger, che viene attivato quando si verifica un determinato evento o quando viene soddisfatta una condizione specifica. Ogni volta che il trigger viene attivato, il motore di App per la logica crea un'istanza dell'app per la logica che si avvia ed esegue il flusso di lavoro. Le azioni corrispondono a tutti i passaggi eseguiti dopo l'attivazione del trigger.

  1. Nella sezione Modelli dell'area Progettazione app per la logica scegliere App per la logica vuota.
  2. Aggiungere un trigger specificando "richiesta http" nella casella di ricerca di Progettazione app per la logica per trovare e selezionare il trigger denominato Richiesta - Alla ricezione di una richiesta HTTP.
    Screenshot che mostra il trigger Alla ricezione di una richiesta HTTP.
  3. Selezionare Nuovo passaggio>Aggiungi un'azione.
    Screenshot che mostra Il nuovo passaggio - Aggiungere un'azione.
  4. Nella casella di ricerca di Progettazione app per la logica cercare "analizza JSON" per trovare e selezionare l'azioneOperazioni dati - Analizza JSON.
    Screenshot che mostra le operazioni di dati: analizzare JSON.
  5. Inserire "Payload" come nome del Contenuto per il payload Analizza JSON o usare il tag "Body" dal contenuto dinamico.
  6. Selezionare l'opzione Usare il payload di esempio per generare lo schema nella casella Analizza JSON.
    Screenshot che mostra l'uso di dati JSON di esempio per generare il payload dello schema.
  7. Incollare il payload JSON di esempio seguente nella casella di testo: {"schemaId":"AIP Budget Notification","data":{"SubscriptionName":"CCM - Microsoft Azure Enterprise - 1","SubscriptionId":"<GUID>","SpendingAmount":"100","BudgetStartDate":"6/1/2018","Budget":"50","Unit":"USD","BudgetCreator":"email@contoso.com","BudgetName":"BudgetName","BudgetType":"Cost","ResourceGroup":"","NotificationThresholdAmount":"0.8"}} La casella di testo viene visualizzata come segue:
    Screenshot che mostra il payload JSON di esempio.
  8. Selezionare Fatto.

Aggiungere la prima azione condizionale

Usare un'istruzione condizionale per controllare se l'importo soglia ha raggiunto o superato l'80% dell'intervallo di budget, ma non è maggiore o uguale al 100%. Se viene raggiunta questa soglia, inviare un HTTP POST usando il webhook denominato Facoltativo. Questa azione arresta le macchine virtuali nel gruppo Optional.

  1. Selezionare Nuovo passaggio>Aggiungi una condizione.
    Screenshot che mostra l'opzione Aggiungere una condizione.

  2. Nella finestra Condizione selezionare la casella di testo contenente Choose a value per visualizzare un elenco di valori disponibili.
    Screenshot che mostra l'opzione Scegliere una condizione di valore.

  3. Selezionare Espressione all'inizio dell'elenco e immettere l'espressione seguente nell'editor delle espressioni: float()
    Screenshot che mostra l'espressione Float.

  4. Selezionare Contenuto dinamico, posizionare il cursore all'interno delle parentesi () e selezionare NotificationThresholdAmount dall'elenco per completare l'espressione. L'espressione è la seguente:
    float(body('Parse_JSON')?['data']?['NotificationThresholdAmount'])

  5. Selezionare OK per impostare l'espressione.

  6. Selezionare è maggiore o uguale a dalla casella a discesa della finestra Condizione.

  7. Nella casella Scegliere un valore della condizione immettere .8.
    Screenshot che mostra la finestra di dialogo Condizione con i valori selezionati.

  8. Selezionare Aggiungi>Aggiungi riga all'interno della casella Condizione per aggiungere un altro elemento della condizione.

  9. Nella finestra Condizione selezionare la casella di testo contenente Choose a value.

  10. Selezionare Espressione all'inizio dell'elenco e immettere l'espressione seguente nell'editor delle espressioni: float()

  11. Selezionare Contenuto dinamico, posizionare il cursore all'interno delle parentesi () e selezionare NotificationThresholdAmount dall'elenco per completare l'espressione.

  12. Selezionare OK per impostare l'espressione.

  13. Selezionare è minore di dalla casella a discesa della finestra Condizione.

  14. Nella casella Scegliere un valore della condizione immettere 1.
    Screenshot che mostra la finestra di dialogo Condizione con due condizioni.

  15. Nella finestra È true selezionare Aggiungi un'azione. Si aggiunge un'azione HTTP POST che arresta le macchine virtuali facoltative.
    Screenshot che mostra l'opzione Aggiungi un'azione.

  16. Immettere HTTP per cercare l'azione HTTP e selezionare l'azione HTTP - HTTP.
    Screenshot che mostra l'azione Aggiungi HTTP.

  17. Selezionare Post come valore di Metodo.

  18. Immettere l'URL del webhook Facoltativo creato in precedenza in questa esercitazione come valore di Uri.
    Screenshot che mostra l'URI dell'azione HTTP.

  19. Selezionare Aggiungi un'azione nella finestra È true. Si aggiunge un'azione di posta elettronica che invia un messaggio di posta elettronica che informa il destinatario che le macchine virtuali facoltative sono state arrestate.

  20. Cercare "invia messaggio di posta elettronica" e selezionare l'azione Invia messaggio di posta elettronica in base al servizio di posta elettronica usato.
    Screenshot che mostra l'azione Invia messaggio di posta elettronica.

    Per gli account Microsoft personali, selezionare Outlook.com. Per gli account aziendali o dell'istituto di istruzione di Azure, selezionare Office 365 Outlook. Se non si ha già una connessione, viene chiesto di accedere al proprio account di posta elettronica. App per la logica crea una connessione all'account di posta elettronica. Sarà necessario consentire all'app per la logica di accedere alle informazioni della posta elettronica.
    Screenshot che mostra l'avviso di accesso.

  21. Aggiungere il testo A, Oggetto e Corpo per il messaggio di posta elettronica che informa il destinatario che le macchine virtuali facoltative sono state arrestate. Usare il contenuto dinamico BudgetName e NotificationThresholdAmount per inserire i dati nei campi relativi all'oggetto e al corpo. Screenshot che mostra i dettagli della posta elettronica.

Aggiungere la seconda azione condizionale

Usare un'istruzione condizionale per controllare se l'importo soglia ha raggiunto o superato il 100% del valore del budget. Se viene raggiunta la soglia, inviare un HTTP POST usando il webhook denominato Complete. Questa azione arresta tutte le macchine virtuali rimanenti.

  1. Selezionare Nuovo passaggio>Aggiungi una condizione.
    Screenshot che mostra la finestra di dialogo Se true con Aggiungi un'azione evidenziata.
  2. Nella finestra Condizione selezionare la casella di testo contenente Choose a value per visualizzare un elenco di valori disponibili.
  3. Selezionare Espressione all'inizio dell'elenco e immettere l'espressione seguente nell'editor delle espressioni: float()
  4. Selezionare Contenuto dinamico, posizionare il cursore all'interno delle parentesi () e selezionare NotificationThresholdAmount dall'elenco per completare l'espressione. L'espressione è simile alla seguente:
    float(body('Parse_JSON')?['data']?['NotificationThresholdAmount'])
  5. Selezionare OK per impostare l'espressione.
  6. Selezionare è maggiore o uguale a dalla casella a discesa della finestra Condizione.
  7. Nella casella Scegliere un valore della condizione immettere 1.
    Screenshot che mostra il valore della condizione Imposta.
  8. Nella finestra È true selezionare Aggiungi un'azione. Si aggiunge un'azione HTTP POST che arresta tutte le macchine virtuali rimanenti.
    Screenshot che mostra la finestra di dialogo Se true con la quale è possibile aggiungere un'azione H T T P POST.
  9. Immettere HTTP per cercare l'azione HTTP e selezionare l'azione HTTP - HTTP.
  10. Selezionare Post come valore di Metodo.
  11. Immettere l'URL del webhook Completo creato in precedenza in questa esercitazione come valore di Uri.
    Screenshot che mostra la finestra di dialogo H T T P in cui è possibile immettere il valore U R L.
  12. Selezionare Aggiungi un'azione nella finestra È true. Si aggiunge un'azione di posta elettronica che invia un messaggio di posta elettronica che informa il destinatario che le macchine virtuali rimanenti sono state arrestate.
  13. Cercare "invia messaggio di posta elettronica" e selezionare l'azione Invia messaggio di posta elettronica in base al servizio di posta elettronica usato.
  14. Aggiungere il testo A, Oggetto e Corpo per il messaggio di posta elettronica che informa il destinatario che le macchine virtuali facoltative sono state arrestate. Usare il contenuto dinamico BudgetName e NotificationThresholdAmount per inserire i dati nei campi relativi all'oggetto e al corpo.
    Screenshot che mostra i dettagli del messaggio di posta elettronica configurati.
  15. Selezionare Salva nella parte superiore dell'area Progettazione app per la logica.

Riepilogo dell'app per la logica

Ecco l'aspetto dell'app per la logica al termine. Negli scenari più semplici, in cui non è necessaria un'orchestrazione basata su soglie, è possibile chiamare direttamente lo script di automazione da Monitoraggio e ignorare il passaggio di App per la logica.

Screenshot che mostra la visualizzazione completa dell'app per la logica.

Quando è stata salvata l'app per la logica, è stato generato un URL che è possibile chiamare. Questo URL verrà usato nella sezione successiva di questa esercitazione.

Creare un gruppo di azioni di Monitoraggio di Azure

Un gruppo di azioni è una raccolta di preferenze di notifica definite dall'utente. Quando viene attivato un avviso, uno specifico gruppo di azioni può ricevere l'avviso tramite una notifica. Un avviso di Azure genera una notifica in modo proattivo in base a condizioni specifiche e offre la possibilità di eseguire un'azione. Un avviso può usare dati provenienti da più origini, tra cui metriche e log.

I gruppi di azioni sono l'unico endpoint che si integrerà con il budget. È possibile configurare le notifiche in molti canali, ma per questo scenario ci si concentra sull'app per la logica creata in precedenza in questa esercitazione.

Creare un gruppo di azioni in Monitoraggio di Azure

Quando si crea il gruppo di azioni, è necessario definire un puntatore all'app per la logica creata in precedenza in questa esercitazione.

  1. Se non è già stato eseguito l'accesso al portale di Azure, accedere e selezionare Tutti i servizi>Monitoraggio.
  2. Selezionare Avvisi e quindi Gestisci azioni.
  3. Selezionare Aggiungi gruppo di azioni nell'area Gruppi di azioni.
  4. Aggiungere e verificare quanto segue:
    • Nome gruppo di azioni
    • Nome breve
    • Abbonamento
    • Gruppo di risorse
      Screenshot che mostra l'opzione Aggiungi un gruppo di azioni.
  5. All'interno del pannello Aggiungi gruppo di azioni aggiungere un'azione di tipo App per la logica. Assegnare il nome Budget-BudgetLA all'azione. Nel riquadro App per la logica selezionare i valori per Sottoscrizione e Gruppo di risorse. Selezionare quindi l'app per la logica creata in precedenza in questa esercitazione.
  6. Selezionare OK per impostare l'app per la logica. Selezionare quindi OK nel riquadro Aggiungi gruppo di azioni per creare il gruppo di azioni.

Sono stati completati tutti i componenti di supporto necessari per orchestrare efficacemente il budget. È ora sufficiente creare il budget e configurarlo per l'uso del gruppo di azioni creato.

Creare il budget

È possibile creare un budget nel portale di Azure usando la funzionalità Budget in Gestione costi. In alternativa, è possibile creare un budget usando le API REST, i cmdlet di PowerShell oppure l'interfaccia della riga di comando. Nella procedura seguente si userà l'API REST. Prima di chiamare l'API REST, è necessario un token di autorizzazione. Per creare un token di autorizzazione, è possibile usare il progetto ARMClient. ARMClient consente di eseguire l'autenticazione ad Azure Resource Manager e ottenere un token per chiamare le API.

Ottenere un token di autenticazione

  1. Passare al progetto ARMClient in GitHub.

  2. Clonare il repository per ottenere una copia locale.

  3. Aprire il progetto in Visual Studio e compilarlo.

  4. Al termine della compilazione, il file eseguibile dovrebbe trovarsi nella cartella \bin\debug.

  5. Eseguire ARMClient. Aprire un prompt dei comandi e passare alla cartella \bin\debug dalla radice del progetto.

  6. Per eseguire l'accesso e l'autenticazione, immettere il comando seguente al prompt dei comandi:
    ARMClient login prod

  7. Copiare il GUID della sottoscrizione dall'output.

  8. Per copiare un token di autorizzazione negli Appunti, immettere il comando seguente al prompt dei comandi, ma assicurarsi di usare l'ID della sottoscrizione copiato nel passaggio precedente:
    ARMClient token <subscription GUID from previous step>

    Al termine del passaggio precedente, viene visualizzato quanto riportato di seguito:
    Copia del token negli Appunti completata.

  9. Salvare il token da usare per i passaggi nella sezione successiva di questa esercitazione.

Creare il budget

Successivamente, si crea un budget chiamando le API REST a consumo di Azure. È necessario un modo per interagire con le API. Ecco alcuni modi comuni per eseguire query sull'API:

È necessario importare sia i file di ambiente che i file di raccolta nel client API. La raccolta contiene definizioni raggruppate delle richieste HTTP che chiamano le API REST per l'utilizzo di Azure. Il file di ambiente contiene le variabili usate dalla raccolta.

  1. Nel client API creare una nuova richiesta.

  2. Salvare la nuova richiesta in modo che non contenga nulla.

  3. Modificare la richiesta sostituendo l'azione Get con Put.

  4. Modificare l'URL seguente sostituendo {subscriptionId} con l'ID sottoscrizione usato nella sezione precedente di questa esercitazione. Modificare inoltre l'URL in modo da includere "SampleBudget" come valore per {budgetName}: https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}?api-version=2018-03-31

  5. Selezionare Intestazioni nel client API.

  6. In Key (Chiave) aggiungere una nuova chiave denominata "Authorization".

  7. In Value (Valore) impostare il token creato usando ArmClient alla fine della sezione precedente.

  8. Selezionare Corpo nel client API.

  9. Selezionare l'opzione raw nel client API.

  10. Nell'area di testo nel client API incollare la definizione di budget di esempio seguente. È necessario sostituire i parametri subscriptionID, resourcegroupname e actiongroupnamecon l'ID sottoscrizione, un nome univoco per il gruppo di risorse e il nome del gruppo di azioni creato sia nell'URL che nel corpo della richiesta:

        {
            "properties": {
                "category": "Cost",
                "amount": 100.00,
                "timeGrain": "Monthly",
                "timePeriod": {
                "startDate": "2018-06-01T00:00:00Z",
                "endDate": "2018-10-31T00:00:00Z"
                },
                "filters": {},
            "notifications": {
                "Actual_GreaterThan_80_Percent": {
                    "enabled": true,
                    "operator": "GreaterThan",
                    "threshold": 80,
                    "contactEmails": [],
                    "contactRoles": [],
                    "contactGroups": [
                        "/subscriptions/{subscriptionid}/resourceGroups/{resourcegroupname}/providers/microsoft.insights/actionGroups/{actiongroupname}"
                    ]
                },
               "Actual_EqualTo_100_Percent": {
                       "operator": "EqualTo",
                       "threshold": 100,
                       "contactGroups": [
                           "/subscriptions/{subscriptionid}/resourceGroups/{resourcegroupname}/providers/microsoft.insights/actionGroups/{actiongroupname}"
                       ]
                   }
               }
            }
        }
    
  11. Inviare la richiesta.

A questo punto sono state completate tutte le operazioni necessarie per chiamare l'API Budget. Nelle informazioni di riferimento sull'API Budget sono inclusi altri dettagli sulle richieste specifiche, tra cui:

  • budgetName: sono supportati più budget. I nomi dei budget devono essere univoci.
  • category: deve essere Cost o Usage. L'API supporta i budget relativi ai costi e all'utilizzo.
  • timeGrain: il budget può essere mensile, trimestrale o annuale. L'importo viene azzerato alla fine del periodo.
  • filters: i filtri consentono di limitare il budget a un set specifico di risorse all'interno dell'ambito selezionato. Un filtro può ad esempio essere costituito da una raccolta di gruppi di risorse per un budget definito a livello di sottoscrizione.
  • notifications: determina i dettagli e le soglie di notifica. È possibile impostare più soglie e specificare un indirizzo di posta elettronica o un gruppo di azioni per ricevere una notifica.

Riepilogo

In questa esercitazione sono state illustrate le procedure per:

  • Creare un runbook di Automazione di Azure per arrestare le macchine virtuali.
  • Creare un'app per la logica di Azure da attivare in base ai valori soglia del budget e chiamare il runbook correlato con i parametri corretti.
  • Creare un gruppo di azioni di Monitoraggio di Azure configurato per attivare l'app per la logica di Azure quando viene raggiunta la soglia di budget.
  • Come creare il budget con le soglie desiderate e collegarlo al gruppo di azioni.

È ora disponibile un budget completamente funzionale per la sottoscrizione che arresta le macchine virtuali quando si raggiungono le soglie di budget configurate.

Passaggi successivi