Distribuera starta/stoppa virtuella datorer v2 till en Azure-prenumeration

Utför stegen i den här artikeln i följd för att installera funktionen Starta/stoppa virtuella datorer v2. När du har slutfört installationsprocessen konfigurerar du schemana så att de anpassas efter dina behov.

Behörigheter och principöverväganden

Tänk på följande före och under distributionen:

  • Lösningen gör att användare med rätt rollbaserad åtkomstkontroll (RBAC) behörigheter på Start/Stop v2-distributionen kan lägga till, ta bort och hantera scheman för virtuella datorer under omfånget för instansen Start/Stoppa virtuella datorer v2. Detta beteende är av design. I praktiken innebär det att en användare som inte har explicit behörighet på en virtuell dator fortfarande kan skapa start-, stopp- och autostoppsåtgärder på den virtuella datorn när de har behörighet att ändra Start/Stop v2-lösningen som hanterar den virtuella datorn.

  • Alla användare med åtkomst till Start/Stop v2-lösningen kan upptäcka kostnader, besparingar, åtgärdshistorik och andra data som lagras i Application Insights-instansen som används av Start/Stop v2-programmet.

  • När du hanterar en Start/Stop v2-lösning bör du överväga behörigheterna för användare till Start/Stop v2-lösningen, särskilt när vassle inte har behörighet att direkt ändra de virtuella måldatorerna.

  • När du distribuerar lösningen Start/Stop v2 till en ny eller befintlig resursgrupp läggs en tagg med namnet SolutionName med värdet StartStopV2 till i resursgruppen och till dess resurser som distribueras av Start/Stop v2. Alla andra taggar på dessa resurser tas bort. Om du har en Azure-princip som nekar hanteringsåtgärder baserat på resurstaggar måste du tillåta hanteringsåtgärder för resurser som endast innehåller den här taggen.

Distribuera funktion

Distributionen initieras från GitHub-organisationen Start/Stop VMs v2. Även om den här funktionen är avsedd att hantera alla dina virtuella datorer i din prenumeration i alla resursgrupper från en enda distribution i prenumerationen, kan du installera en annan instans av den baserat på driftsmodellen eller organisationens krav. Den kan också konfigureras för att centralt hantera virtuella datorer i flera prenumerationer.

För att förenkla hanteringen och borttagningen rekommenderar vi att du distribuerar Start/Stop VMs v2 till en dedikerad resursgrupp.

Kommentar

Den här lösningen stöder för närvarande inte att ange ett befintligt lagringskonto eller En Application Insights-resurs.

Kommentar

Namnformatet för funktionsappen och lagringskontot har ändrats. För att garantera global unikhet läggs nu en slumpmässig och unik sträng till i namnen på den här resursen.

  1. Öppna webbläsaren och navigera till GitHub-organisationen Start/Stop VMs v2.

  2. Välj distributionsalternativet baserat på den Azure-molnmiljö som dina virtuella Azure-datorer skapas i.

  3. Logga in på Azure-portalen om du uppmanas att göra det.

  4. Välj lämplig plan i listrutan. När du väljer en zonredundant plan (Start/StopV2-AZ) måste du skapa distributionen i någon av följande regioner:

    • Australien, östra
    • Brasilien, södra
    • Kanada, centrala
    • Central US
    • East US
    • USA, östra 2
    • Frankrike, centrala
    • Tyskland, västra centrala
    • Japan, östra
    • Europa, norra
    • Sydostasien
    • Storbritannien, södra
    • Europa, västra
    • USA, västra 2
    • USA, västra 3
  5. Välj Skapa, som öppnar den anpassade distributionssidan för Azure Resource Manager i Azure-portalen.

  6. Ange följande värden:

    Name Värde
    Region Välj en region nära dig för nya resurser.
    Namnet på resursgruppen Ange resursgruppens namn som ska innehålla de enskilda resurserna för starta/stoppa virtuella datorer.
    Resursgruppsregion Ange regionen för resursgruppen. Välj till exempel USA, centrala.
    Namn på Azure-funktionsapp Ange ett namn som är giltigt i en URL-sökväg. Namnet du skriver verifieras för att se till att det är unikt i Azure Functions.
    Application Insights-namn Ange namnet på din Application Insights-instans som ska innehålla analys för starta/stoppa virtuella datorer.
    Application Insights-region Ange region för Application Insights-instansen.
    Lagringskontonamn Ange namnet på Azure Storage-kontot för lagring av telemetri för start-/stoppkörning av virtuella datorer.
    E-postadress Ange en eller flera e-postadresser för att ta emot statusmeddelanden, avgränsade med kommatecken (,).

    Start/Stop VMs template deployment configuration

  7. Välj Granska + skapa längst ned på sidan.

  8. Välj Skapa för att starta distributionen.

  9. Välj klockikonen (meddelanden) längst upp på skärmen för att se distributionsstatus. Distribution pågår ska nu visas. Vänta tills distributionen är klar.

  10. Välj Gå till resursgrupp i meddelandefönstret. Du bör se en skärm som liknar följande:

    Start/Stop VMs template deployment resource list

Kommentar

Vi samlar in telemetri för åtgärder och pulsslag för att bättre hjälpa dig om du kontaktar supportteamet för felsökning. Vi samlar också in händelsehistorik för virtuella datorer för att verifiera när tjänsten agerade på en virtuell dator och hur länge en virtuell dator har snoozats för att fastställa tjänstens effektivitet.

Aktivera flera prenumerationer

När start-/stoppdistributionen har slutförts utför du följande steg för att aktivera Start/Stoppa virtuella datorer v2 för att vidta åtgärder i flera prenumerationer.

  1. Kopiera värdet för azure-funktionsappens namn som du angav under distributionen.

  2. I Azure-portalen går du till din sekundära prenumeration.

  3. Välj Åtkomstkontroll (IAM) .

  4. Välj Lägg till>rolltilldelning för att öppna sidan Lägg till rolltilldelning.

  5. Tilldela följande roll. Läs mer om att tilldela roller i Tilldela Azure-roller via Azure Portal.

    Inställning Värde
    Roll Deltagare
    Tilldela åtkomst till Användaren, gruppen eller tjänstens huvudnamn
    Medlemmar <Namnet på din Azure-funktionsapp>

    Screenshot showing Add role assignment page in Azure portal.

Översikt över konfigurera scheman

Om du vill hantera automatiseringsmetoden för att styra start och stopp för dina virtuella datorer konfigurerar du en eller flera av de inkluderade logikapparna baserat på dina krav.

  • Schemalagd – Start- och stoppåtgärder baseras på ett schema som du anger mot Azure Resource Manager och klassiska virtuella datorer. ststv2_vms_Scheduled_start och ststv2_vms_Scheduled_stop konfigurera schemalagd start och stopp.

  • Sekvenserat – Start- och stoppåtgärder baseras på ett schema som riktar sig till virtuella datorer med fördefinierade sekvenseringstaggar. Endast två namngivna taggar stöds – sekvensstart och sequencestop. ststv2_vms_Sequenced_start och ststv2_vms_Sequenced_stop konfigurera den sekvenserade start och stopp.

    Kommentar

    Det här scenariot stöder endast virtuella Azure Resource Manager-datorer.

  • AutoStop – Den här funktionen används endast för att utföra en stoppåtgärd mot både Azure Resource Manager och klassiska virtuella datorer baserat på processoranvändningen. Det kan också vara en schemalagd åtgärd som skapar aviseringar på virtuella datorer och baserat på villkoret utlöses aviseringen för att utföra stoppåtgärden. ststv2_vms_AutoStop konfigurerar funktionen för automatisk stopp.

Om du behöver ytterligare scheman kan du duplicera en av de logic apps som tillhandahålls med alternativet Klona i Azure-portalen.

Select the Clone option to duplicate a logic app

Schemalagt start- och stoppscenario

Utför följande steg för att konfigurera den schemalagda start- och stoppåtgärden för Azure Resource Manager och klassiska virtuella datorer. Du kan till exempel konfigurera ststv2_vms_Scheduled_start schema för att starta dem på morgonen när du är på kontoret och stoppa alla virtuella datorer i en prenumeration när du lämnar jobbet på kvällen baserat på ststv2_vms_Scheduled_stop schema.

Det finns stöd för att konfigurera logikappen för att bara starta de virtuella datorerna.

För varje scenario kan du rikta åtgärden mot en eller flera prenumerationer, enstaka eller flera resursgrupper, och ange en eller flera virtuella datorer i en inkluderings- eller exkluderingslista. Du kan inte ange dem tillsammans i samma logikapp.

  1. Logga in på Azure-portalen och navigera sedan till Logikappar.

  2. Välj ststv2_vms_Scheduled_start i listan över Logikappar för att konfigurera schemalagd start. Om du vill konfigurera schemalagt stopp väljer du ststv2_vms_Scheduled_stop.

  3. Välj Logikappdesigner i det vänstra fönstret.

  4. När Logic App Designer visas väljer du Upprepning i designerfönstret för att konfigurera logikappens schema. Mer information om de specifika upprepningsalternativen finns i Schemalägg återkommande aktivitet.

    Configure the recurrence frequency for logic app

  5. I designerfönstret väljer du Funktions-Försök för att konfigurera målinställningarna. Om du vill hantera virtuella datorer i alla resursgrupper i prenumerationen i begärandetexten ändrar du begärandetexten enligt följande exempel.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/"
        ]
     }
    }
    

    Ange flera prenumerationer i matrisen subscriptions med varje värde avgränsat med ett kommatecken som i följande exempel.

    "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
        ]
    

    Om du vill hantera virtuella datorer för specifika resursgrupper i begärandetexten ändrar du begärandetexten enligt följande exempel. Varje angiven resurssökväg måste avgränsas med ett kommatecken. Du kan ange en resursgrupp eller mer om det behövs.

    Det här exemplet visar också att du undantar en virtuell dator. Du kan exkludera den virtuella datorn genom att ange resurssökvägen för virtuella datorer eller med jokertecken.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
         ],
        "ResourceGroups": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg1/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/resourceGroups/rg2/"
        ],
        "ExcludedVMLists": [
         "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/vmrg1/providers/Microsoft.Compute/virtualMachines/vm1"
        ]
      }
    }
    

    Här utförs åtgärden på alla virtuella datorer förutom på den virtuella datorns namn börjar med Az och Bz i båda prenumerationerna.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [“Az*”,“Bz*”],
       "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
    
        ]
      }
    }
    

    Om du vill hantera en specifik uppsättning virtuella datorer i prenumerationen i begärandetexten ändrar du begärandetexten enligt följande exempel. Varje angiven resurssökväg måste avgränsas med ett kommatecken. Du kan ange en virtuell dator om det behövs.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "VMLists": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg3/providers/Microsoft.Compute/virtualMachines/vm2",
          "/subscriptions/11111111-0000-1111-2222-444444444444/resourceGroups/rg2/providers/Microsoft.ClassicCompute/virtualMachines/vm30"
    
        ]
      }
    }
    
  6. I översiktsfönstret för logikappen väljer du Aktivera.

Sekvenserat start- och stoppscenario

I en miljö som innehåller två eller flera komponenter på flera virtuella Azure Resource Manager-datorer i en distribuerad programarkitektur är det viktigt att stödja sekvensen där komponenter startas och stoppas i ordning. Kontrollera att du har tillämpat taggarna sequencestart och sequencestop på de virtuella måldatorerna enligt beskrivningen på sidan Översikt innan du konfigurerar det här scenariot.

  1. Välj ststv2_vms_Sequenced_start i listan över Logikappar för att konfigurera sekvenserad start. Om du vill konfigurera sekvenserat stopp väljer du ststv2_vms_Sequenced_stop.

  2. Välj Logikappdesigner i det vänstra fönstret.

  3. När Logic App Designer visas väljer du Upprepning i designerfönstret för att konfigurera logikappens schema. Mer information om de specifika upprepningsalternativen finns i Schemalägg återkommande aktivitet.

    Configure the recurrence frequency for logic app

  4. I designerfönstret väljer du Funktions-Försök för att konfigurera målinställningarna och väljer< sedan knappen />Kodvy på den översta menyn för att redigera koden för elementet Function-Try. Om du vill hantera virtuella datorer i alla resursgrupper i prenumerationen i begärandetexten ändrar du begärandetexten enligt följande exempel.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/"
        ]
     },
       "Sequenced": true
    }
    

    Ange flera prenumerationer i matrisen subscriptions med varje värde avgränsat med ett kommatecken som i följande exempel.

    "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
        ]
    

    Om du vill hantera virtuella datorer för specifika resursgrupper i begärandetexten ändrar du begärandetexten enligt följande exempel. Varje angiven resurssökväg måste avgränsas med ett kommatecken. Du kan ange en resursgrupp om det behövs.

    Det här exemplet visar också att en virtuell dator exkluderas efter resurssökvägen jämfört med exemplet för schemalagd start/stopp, som använde jokertecken.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "Subscriptions":[
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
        ],
        "ResourceGroups": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg1/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/resourceGroups/rg2/"
        ],
        "ExcludedVMLists": [
         "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/vmrg1/providers/Microsoft.Compute/virtualMachines/vm1"
        ]
      },
       "Sequenced": true
    }
    

    Om du vill hantera en specifik uppsättning virtuella datorer i en prenumeration i begärandetexten ändrar du begärandetexten enligt följande exempel. Varje angiven resurssökväg måste avgränsas med ett kommatecken. Du kan ange en virtuell dator om det behövs.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "VMLists": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg2/providers/Microsoft.ClassicCompute/virtualMachines/vm2",
          "/subscriptions/11111111-0000-1111-2222-444444444444/resourceGroups/rg2/providers/Microsoft.ClassicCompute/virtualMachines/vm30"
        ]
      },
       "Sequenced": true
    }
    

Scenario för automatisk stopp

Starta/stoppa virtuella datorer v2 kan hjälpa dig att hantera kostnaden för att köra Azure Resource Manager och klassiska virtuella datorer i din prenumeration genom att utvärdera datorer som inte används under perioder med hög belastning, till exempel efter timmar, och automatiskt stänga av dem om processoranvändningen är mindre än en angiven procentandel.

Följande egenskaper för måttaviseringar i begärandetexten stöder anpassning:

  • AutoStop_MetricName
  • AutoStop_Condition
  • AutoStop_Threshold
  • AutoStop_Description
  • AutoStop_Frequency
  • AutoStop_Severity
  • AutoStop_Threshold
  • AutoStop_TimeAggregationOperator
  • AutoStop_TimeWindow

Mer information om hur Azure Monitor-måttaviseringar fungerar och hur du konfigurerar dem finns i Måttaviseringar i Azure Monitor.

  1. Välj ststv2_vms_AutoStop i listan över Logikappar för att konfigurera automatisk stopp.

  2. Välj Logikappdesigner i det vänstra fönstret.

  3. När Logic App Designer visas väljer du Upprepning i designerfönstret för att konfigurera logikappens schema. Mer information om de specifika upprepningsalternativen finns i Schemalägg återkommande aktivitet.

    Configure the recurrence frequency for logic app

  4. I designerfönstret väljer du Funktions-Försök för att konfigurera målinställningarna. Om du vill hantera virtuella datorer i alla resursgrupper i prenumerationen i begärandetexten ändrar du begärandetexten enligt följande exempel.

    {
      "Action": "stop",
      "EnableClassic": false,    
      "AutoStop_MetricName": "Percentage CPU",
      "AutoStop_Condition": "LessThan",
      "AutoStop_Description": "Alert to stop the VM if the CPU % falls below the threshold",
      "AutoStop_Frequency": "00:05:00",
      "AutoStop_Severity": "2",
      "AutoStop_Threshold": "5",
      "AutoStop_TimeAggregationOperator": "Average",
      "AutoStop_TimeWindow": "06:00:00",
      "RequestScopes":{        
        "Subscriptions":[
            "/subscriptions/12345678-1111-2222-3333-1234567891234/",
            "/subscriptions/12345678-2222-4444-5555-1234567891234/"
        ],
        "ExcludedVMLists":[]
      }        
    }
    

    Om du vill hantera virtuella datorer för specifika resursgrupper i begärandetexten ändrar du begärandetexten enligt följande exempel. Varje angiven resurssökväg måste avgränsas med ett kommatecken. Du kan ange en resursgrupp om det behövs.

    {
      "Action": "stop",
      "AutoStop_Condition": "LessThan",
      "AutoStop_Description": "Alert to stop the VM if the CPU % falls below the threshold",
      "AutoStop_Frequency": "00:05:00",
      "AutoStop_MetricName": "Percentage CPU",
      "AutoStop_Severity": "2",
      "AutoStop_Threshold": "5",
      "AutoStop_TimeAggregationOperator": "Average",
      "AutoStop_TimeWindow": "06:00:00",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "ResourceGroups": [
          "/subscriptions/12345678-1111-2222-3333-1234567891234/resourceGroups/vmrg1/",
          "/subscriptions/12345678-1111-2222-3333-1234567891234/resourceGroupsvmrg2/",
          "/subscriptions/12345678-2222-4444-5555-1234567891234/resourceGroups/VMHostingRG/"
          ]
      }
    }
    

    Om du vill hantera en specifik uppsättning virtuella datorer i prenumerationen i begärandetexten ändrar du begärandetexten enligt följande exempel. Varje angiven resurssökväg måste avgränsas med ett kommatecken. Du kan ange en virtuell dator om det behövs.

    {
      "Action": "stop",
      "AutoStop_Condition": "LessThan",
      "AutoStop_Description": "Alert to stop the VM if the CPU % falls below the threshold",
      "AutoStop_Frequency": "00:05:00",
      "AutoStop_MetricName": "Percentage CPU",
      "AutoStop_Severity": "2",
      "AutoStop_Threshold": "5",
      "AutoStop_TimeAggregationOperator": "Average",
      "AutoStop_TimeWindow": "06:00:00",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "VMLists": [
          "/subscriptions/12345678-1111-2222-3333-1234567891234/resourceGroups/rg3/providers/Microsoft.ClassicCompute/virtualMachines/Clasyvm11",
          "/subscriptions/12345678-1111-2222-3333-1234567891234/resourceGroups/vmrg1/providers/Microsoft.Compute/virtualMachines/vm1"
        ]
      }
    }
    

VM-taggar

Du kan också inkludera eller exkludera specifika virtuella datorer från start- och stoppåtgärder med hjälp av inställningstaggar på själva de virtuella datorerna. Om du vill lägga till en tagg går du till den specifika virtuella datorn, väljer Taggar på den vänstra menyn och lägger till en tagg med namnet ssv2excludevm. Om du vill undanta den här virtuella datorn från start- eller stoppåtgärden anger du värdet för den nya taggen till true. Om du vill inkludera den virtuella datorn i åtgärden anger du värdet till false. Detta ger dig ett sätt att exkludera specifika virtuella datorer utan att behöva uppdatera ExcludedVMLists i nyttolastkonfigurationen.

Nästa steg

Information om hur du övervakar status för dina virtuella Azure-datorer som hanteras av funktionen Starta/stoppa virtuella datorer v2 och utför andra hanteringsuppgifter finns i artikeln Hantera start/stoppa virtuella datorer .