Vm's starten/stoppen v2 implementeren in een Azure-abonnement

Voer de stappen in dit artikel in volgorde uit om de functie VM's starten/stoppen v2 te installeren. Nadat u het installatieproces hebt voltooid, configureert u de planningen om deze aan uw vereisten aan te passen.

Overwegingen voor machtigingen en beleid

Houd rekening met de volgende overwegingen vóór en tijdens de implementatie:

  • Met de oplossing kunnen gebruikers met de juiste RBAC-machtigingen (op rollen gebaseerd toegangsbeheer) voor de implementatie van Start/Stop v2 planningen voor virtuele machines toevoegen, verwijderen en beheren onder het bereik van het exemplaar vm's v2 starten/stoppen. Dit is zo ontworpen. In de praktijk betekent dit dat een gebruiker die geen expliciete machtigingen voor een virtuele machine heeft, nog steeds start-, stop- en autostopbewerkingen kan maken op die virtuele machine wanneer deze de machtiging heeft om de oplossing Starten/stoppen v2 te wijzigen die de virtuele machine beheert.

  • Alle gebruikers met toegang tot de oplossing Start/Stop v2 kunnen kosten, besparingen, bewerkingsgeschiedenis en andere gegevens ontdekken die zijn opgeslagen in het Application Insights-exemplaar dat wordt gebruikt door de toepassing Start/Stop v2.

  • Bij het beheren van een Start/Stop v2-oplossing moet u rekening houden met de machtigingen van gebruikers voor de oplossing Start/Stop v2, met name wanneer wei niet gemachtigd is om de virtuele doelmachines rechtstreeks te wijzigen.

  • Wanneer u de oplossing Starten/stoppen v2 implementeert in een nieuwe of bestaande resourcegroep, wordt een tag met de naam SolutionName met de waarde StartStopV2 toegevoegd aan de resourcegroep en aan de bijbehorende resources die zijn geïmplementeerd door Start/Stop v2. Alle andere tags op deze resources worden verwijderd. Als u een Azure-beleid hebt dat beheerbewerkingen weigert op basis van resourcetags, moet u beheerbewerkingen toestaan voor resources die alleen deze tag bevatten.

Functie implementeren

De implementatie wordt gestart vanuit de GitHub-organisatie starten/stoppen van VM's v2. Hoewel deze functie is bedoeld om al uw VM's in uw abonnement te beheren voor alle resourcegroepen vanuit één implementatie binnen het abonnement, kunt u een ander exemplaar ervan installeren op basis van het bewerkingsmodel of de vereisten van uw organisatie. Het kan ook worden geconfigureerd om VM's centraal te beheren in meerdere abonnementen.

Om het beheer en de verwijdering te vereenvoudigen, raden we u aan om VM's v2 starten/stoppen te implementeren in een toegewezen resourcegroep.

Notitie

Op dit moment biedt deze oplossing geen ondersteuning voor het opgeven van een bestaand opslagaccount of Application Insights-resource.

Notitie

De naamgevingsindeling voor de functie-app en het opslagaccount is gewijzigd. Om globale uniekheid te garanderen, wordt nu een willekeurige en unieke tekenreeks toegevoegd aan de namen van deze resource.

  1. Open uw browser en navigeer naar de GitHub-organisatie starten/stoppen van VM's v2.

  2. Selecteer de implementatieoptie op basis van de Azure-cloudomgeving waarin uw Azure-VM's zijn gemaakt.

  3. Meld u aan bij Azure Portal als u hierom wordt gevraagd.

  4. Kies het juiste plan in de vervolgkeuzelijst. Wanneer u een zone-redundant plan kiest (Start/StopV2-AZ), moet u uw implementatie maken in een van de volgende regio's:

    • Australië - oost
    • Brazilië - zuid
    • Canada - midden
    • VS - centraal
    • VS - oost
    • VS - oost 2
    • Frankrijk - centraal
    • Duitsland - west-centraal
    • Japan - oost
    • Europa - noord
    • Azië - zuidoost
    • Verenigd Koninkrijk Zuid
    • Europa -west
    • VS - west 2
    • US - west 3
  5. Selecteer Maken. Hiermee opent u de aangepaste azure Resource Manager-implementatiepagina in Azure Portal.

  6. Voer de volgende waarden in:

    Naam Weergegeven als
    Regio Selecteer een regio bij u in de buurt voor nieuwe resources.
    Naam resourcegroep Geef de naam van de resourcegroep op die de afzonderlijke resources voor vm's starten/stoppen bevat.
    Resourcegroepregio Geef de regio voor de resourcegroep op. Bijvoorbeeld VS - centraal.
    Naam azure-functie-app Typ een naam die geldig is in een URL-pad. De naam die u typt, wordt gevalideerd om er zeker van te zijn dat deze uniek is in Azure Functions.
    Application Insights-naam Geef de naam op van uw Application Insights-exemplaar waarin de analyse voor VM's starten/stoppen wordt opgeslagen.
    Application Insights-regio Geef de regio op voor het Application Insights-exemplaar.
    Naam van opslagaccount Geef de naam op van het Azure Storage-account voor het opslaan van telemetriegegevens voor het starten/stoppen van VM's.
    E-mailadres Geef een of meer e-mailadressen op om statusmeldingen te ontvangen, gescheiden door een komma (,).

    Start/Stop VMs template deployment configuration

  7. Selecteer Beoordelen en maken onderaan de pagina.

  8. Selecteer Maken om de implementatie te starten.

  9. Selecteer het belpictogram (meldingen) boven in het scherm om de implementatiestatus te zien. U ziet Implementatie wordt uitgevoerd. Wacht tot de implementatie is voltooid.

  10. Selecteer Ga naar de resourcegroep in het deelvenster meldingen. U ziet een scherm dat vergelijkbaar is met:

    Start/Stop VMs template deployment resource list

Notitie

We verzamelen operationele en heartbeat-telemetrie om u beter te helpen als u het ondersteuningsteam bereikt voor probleemoplossing. We verzamelen ook de gebeurtenisgeschiedenis van de virtuele machine om te controleren wanneer de service heeft gereageerd op een virtuele machine en hoe lang een virtuele machine is uitgezet om de effectiviteit van de service te bepalen.

Meerdere abonnementen inschakelen

Nadat de implementatie starten/stoppen is voltooid, voert u de volgende stappen uit om VM's starten/stoppen v2 in te schakelen om actie te ondernemen voor meerdere abonnementen.

  1. Kopieer de waarde voor de naam van de Azure-functie-app die u tijdens de implementatie hebt opgegeven.

  2. Navigeer in Azure Portal naar uw secundaire abonnement.

  3. Klik op Toegangsbeheer (IAM) .

  4. Klik op Toevoegen>Roltoewijzing toevoegen om het deelvenster Roltoewijzing toevoegen te openen.

  5. Wijs de volgende rol toe. Raadpleeg Azure-rollen toewijzen met Azure Portal voor informatie over het toewijzen van rollen.

    Instelling Weergegeven als
    Rol Inzender
    Toegang toewijzen aan Gebruiker, groep of service-principal
    Leden <De naam van uw Azure-functie-app>

    Screenshot showing Add role assignment page in Azure portal.

Overzicht van planningen configureren

Als u de automatiseringsmethode wilt beheren om het starten en stoppen van uw VM's te beheren, configureert u een of meer van de opgenomen logische apps op basis van uw vereisten.

  • Gepland- Start- en stopacties zijn gebaseerd op een schema dat u opgeeft voor Azure Resource Manager en klassieke VM's. ststv2_vms_Scheduled_start en ststv2_vms_Scheduled_stop de geplande start en stop configureren.

  • Gesequentieerd: acties voor starten en stoppen zijn gebaseerd op een planning die is gericht op VM's met vooraf gedefinieerde sequentiërende tags. Er worden slechts twee benoemde tags ondersteund: sequencestart en sequencestop. ststv2_vms_Sequenced_start en ststv2_vms_Sequenced_stop de gesequentieerde start en stop configureren.

    Notitie

    Dit scenario ondersteunt alleen Azure Resource Manager-VM's.

  • AutoStop: deze functionaliteit wordt alleen gebruikt voor het uitvoeren van een stopactie voor zowel Azure Resource Manager als klassieke VM's op basis van het CPU-gebruik. Het kan ook een geplande actie zijn, waarmee waarschuwingen op VM's worden gemaakt en op basis van de voorwaarde, wordt de waarschuwing geactiveerd om de stopactie uit te voeren. ststv2_vms_AutoStop configureert de functionaliteit voor automatisch stoppen.

Als u extra planningen nodig hebt, kunt u een van de opgegeven Logic Apps dupliceren met behulp van de optie Klonen in Azure Portal.

Select the Clone option to duplicate a logic app

Gepland start- en stopscenario

Voer de volgende stappen uit om de geplande start- en stopactie voor Azure Resource Manager en klassieke VM's te configureren. U kunt bijvoorbeeld de ststv2_vms_Scheduled_start planning zo configureren dat deze 's ochtends worden gestart wanneer u op kantoor bent en alle VM's in een abonnement stopt wanneer u 's avonds weggaat op basis van het ststv2_vms_Scheduled_stop schema.

Het configureren van de logische app om alleen de VM's te starten, wordt ondersteund.

Voor elk scenario kunt u de actie richten op een of meer abonnementen, één of meerdere resourcegroepen en een of meer VM's opgeven in een opname- of uitsluitingslijst. U kunt ze niet samen opgeven in dezelfde logische app.

  1. Meld u aan bij Azure Portal en navigeer vervolgens naar Logische apps.

  2. Selecteer ststv2_vms_Scheduled_start in de lijst met logische apps om de geplande start te configureren. Als u geplande stop wilt configureren, selecteert u ststv2_vms_Scheduled_stop.

  3. Selecteer de ontwerper van logische apps in het linkerdeelvenster.

  4. Nadat Logic App Designer wordt weergegeven, selecteert u Terugkeerpatroon in het ontwerpvenster om de planning van de logische app te configureren. Zie Terugkerende taak plannen voor meer informatie over de specifieke opties voor terugkeerpatroon.

    Configure the recurrence frequency for logic app

  5. Selecteer in het ontwerpvenster functie-Probeer de doelinstellingen te configureren. Als u vm's in alle resourcegroepen in het abonnement wilt beheren in de aanvraagbody, wijzigt u de hoofdtekst van de aanvraag, zoals wordt weergegeven in het volgende voorbeeld.

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

    Geef meerdere abonnementen in de subscriptions matrix op met elke waarde gescheiden door een komma, zoals in het volgende voorbeeld.

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

    Als u vm's voor specifieke resourcegroepen wilt beheren in de aanvraagbody, wijzigt u de hoofdtekst van de aanvraag, zoals wordt weergegeven in het volgende voorbeeld. Elk opgegeven resourcepad moet worden gescheiden door een komma. U kunt desgewenst één resourcegroep of meer opgeven.

    In dit voorbeeld ziet u ook hoe u een virtuele machine uitsluit. U kunt de VIRTUELE machine uitsluiten door het resourcepad van de VIRTUELE machines of met jokertekens op te geven.

    {
      "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"
        ]
      }
    }
    

    Hier wordt de actie uitgevoerd op alle VM's, behalve op de naam van de VIRTUELE machine, begint met Az en Bz in beide abonnementen.

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

    Als u in de aanvraagbody een specifieke set virtuele machines binnen het abonnement wilt beheren, wijzigt u de hoofdtekst van de aanvraag, zoals wordt weergegeven in het volgende voorbeeld. Elk opgegeven resourcepad moet worden gescheiden door een komma. U kunt indien nodig één virtuele machine opgeven.

    {
      "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. Selecteer In het overzichtsvenster voor de logische app de optie Inschakelen.

Scenario gesequentieerd starten en stoppen

In een omgeving met twee of meer onderdelen op meerdere Azure Resource Manager-VM's in een gedistribueerde toepassingsarchitectuur is het belangrijk om de volgorde te ondersteunen waarin onderdelen worden gestart en gestopt. Zorg ervoor dat u de sequencestart - en sequencestop-tags hebt toegepast op de doel-VM's, zoals beschreven op de overzichtspagina voordat u dit scenario configureert.

  1. Selecteer ststv2_vms_Sequenced_start in de lijst met logische apps om gesequentieerde start te configureren. Als u gesequentieerde stop wilt configureren, selecteert u ststv2_vms_Sequenced_stop.

  2. Selecteer de ontwerper van logische apps in het linkerdeelvenster.

  3. Nadat Logic App Designer wordt weergegeven, selecteert u Terugkeerpatroon in het ontwerpvenster om de planning van de logische app te configureren. Zie Terugkerende taak plannen voor meer informatie over de specifieke opties voor terugkeerpatroon.

    Configure the recurrence frequency for logic app

  4. Selecteer in het ontwerpvenster Functie-Try om de doelinstellingen te configureren en selecteer vervolgens de <knop /> Codeweergave in het bovenste menu om de code voor het element Function-Try te bewerken. Als u vm's in alle resourcegroepen in het abonnement wilt beheren in de aanvraagbody, wijzigt u de hoofdtekst van de aanvraag, zoals wordt weergegeven in het volgende voorbeeld.

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

    Geef meerdere abonnementen in de subscriptions matrix op met elke waarde gescheiden door een komma, zoals in het volgende voorbeeld.

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

    Als u vm's voor specifieke resourcegroepen wilt beheren in de aanvraagbody, wijzigt u de hoofdtekst van de aanvraag, zoals wordt weergegeven in het volgende voorbeeld. Elk opgegeven resourcepad moet worden gescheiden door een komma. U kunt indien nodig één resourcegroep opgeven.

    In dit voorbeeld ziet u ook hoe u een virtuele machine uitsluit op basis van het resourcepad in vergelijking met het voorbeeld voor geplande start/stop, waarbij jokertekens worden gebruikt.

    {
      "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
    }
    

    Als u in de aanvraagbody een specifieke set virtuele machines binnen een abonnement wilt beheren, wijzigt u de hoofdtekst van de aanvraag, zoals wordt weergegeven in het volgende voorbeeld. Elk opgegeven resourcepad moet worden gescheiden door een komma. U kunt indien nodig één virtuele machine opgeven.

    {
      "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 voor automatisch stoppen

Virtuele machines starten/stoppen v2 kunnen helpen bij het beheren van de kosten voor het uitvoeren van Azure Resource Manager en klassieke VM's in uw abonnement door machines te evalueren die niet worden gebruikt tijdens niet-piekperioden, zoals na uren, en deze automatisch af te sluiten als het processorgebruik kleiner is dan een opgegeven percentage.

De volgende metrische waarschuwingseigenschappen in de aanpassing van de aanvraagbody:

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

Zie Metrische waarschuwingen in Azure Monitor voor meer informatie over hoe metrische waarschuwingen van Azure Monitor werken en hoe u deze configureert.

  1. Selecteer ststv2_vms_AutoStop in de lijst met logische apps om automatisch stoppen te configureren.

  2. Selecteer de ontwerper van logische apps in het linkerdeelvenster.

  3. Nadat Logic App Designer wordt weergegeven, selecteert u Terugkeerpatroon in het ontwerpvenster om de planning van de logische app te configureren. Zie Terugkerende taak plannen voor meer informatie over de specifieke opties voor terugkeerpatroon.

    Configure the recurrence frequency for logic app

  4. Selecteer in het ontwerpvenster functie-Probeer de doelinstellingen te configureren. Als u vm's in alle resourcegroepen in het abonnement wilt beheren in de aanvraagbody, wijzigt u de hoofdtekst van de aanvraag, zoals wordt weergegeven in het volgende voorbeeld.

    {
      "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":[]
      }        
    }
    

    Als u vm's voor specifieke resourcegroepen wilt beheren in de aanvraagbody, wijzigt u de hoofdtekst van de aanvraag, zoals wordt weergegeven in het volgende voorbeeld. Elk opgegeven resourcepad moet worden gescheiden door een komma. U kunt indien nodig één resourcegroep opgeven.

    {
      "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/"
          ]
      }
    }
    

    Als u in de aanvraagbody een specifieke set virtuele machines binnen het abonnement wilt beheren, wijzigt u de hoofdtekst van de aanvraag, zoals wordt weergegeven in het volgende voorbeeld. Elk opgegeven resourcepad moet worden gescheiden door een komma. U kunt indien nodig één virtuele machine opgeven.

    {
      "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-tags

U kunt ook specifieke VM's opnemen of uitsluiten van start- en stopacties door instellingentags op de VM's zelf. Als u een tag wilt toevoegen, gaat u naar de specifieke VIRTUELE machine, selecteert u Tags in het linkermenu en voegt u een tag toe met de naam ssv2excludevm. Als u deze VM wilt uitsluiten van de start- of stopactie, stelt u de waarde van deze nieuwe tag in op true. Als u de VIRTUELE machine in de actie wilt opnemen, stelt u de waarde in op false. Dit biedt u een manier om specifieke VM's uit te sluiten zonder dat u hoeft bij te werken ExcludedVMLists in de nettoladingconfiguratie.

Volgende stappen

Als u wilt weten hoe u de status van uw Virtuele Azure-machines bewaakt die worden beheerd door de functie VM's starten/stoppen v2 en andere beheertaken uitvoert, raadpleegt u het artikel Vm's beheren .