Visão geral do recurso Iniciar/Parar VMs v2

O recurso Iniciar/Parar VMs v2 inicia ou interrompe VMs (máquinas virtuais) do Azure em várias assinaturas. Ele inicia ou interrompe VMs do Azure conforme agendamentos definidos pelo usuário, fornece informações por meio do Azure Application Insights e envia notificações opcionais usando grupos de ações. Na maioria dos cenários, as VMs Start/Stop podem gerenciar máquinas virtuais implantadas e gerenciadas pelo Azure Resource Manager e pelo Azure Service Manager (clássico), que foi preterido.

Esta nova versão de Iniciar/Parar VMs v2 fornece uma opção descentralizada de automação de baixo custo para clientes que querem otimizar os custos de VM. Ela oferece toda a mesma funcionalidade que a versão original disponível com a Automação do Azure, mas foi projetada para aproveitar a tecnologia mais recente no Azure. As VMs Iniciar/Parar v2 dependem de vários serviços do Azure e serão cobradas com base no serviço implantado e consumido.

Atualizações importantes de Iniciar/Parar VMs v2

  • Atualizamos nosso recurso de aplicativo de funções Iniciar/Parar VMs v2 para usar o Azure Functions versão 4.x e você obterá essa versão por padrão ao instalar Iniciar/Parar VMs v2 do Marketplace. Os clientes existentes devem migrar do Functions versão 3.x para a versão 4.x usando a funcionalidade de atualização automática. Essa funcionalidade obtém a versão mais recente executando a função de temporizador TriggerAutoUpdate uma vez manualmente ou aguardando a execução do agendamento se você a habilitou.

  • Adicionamos um plano (AZ – Zona de Disponibilidade) à nossa solução Iniciar/Parar VMs v2 para habilitar uma oferta mais confiável. Agora é possível escolher entre os planos de Consumo e Zona de Disponibilidade antes de iniciar sua implantação. Na maioria dos casos, o custo mensal do plano Zona de disponibilidade é maior quando comparado com o plano de consumo.

  • A funcionalidade de atualização automática foi introduzida em 28 de abril de 2022. Esse novo recurso de atualização automática ajuda a permanecer na versão mais recente da solução. Esse recurso é habilitado por padrão ao executar uma nova instalação.
    Se implantou sua solução antes desta data, poderá reinstalar para a versão mais recente do nosso repositório do GitHub

Visão geral

Iniciar/parar VMs v2 é reprojetado e não depende de logs Automação do Azure ou Azure Monitor, conforme exigido pela versão anterior. Essa versão depende do Azure Functions para lidar com a execução de início e parada da VM.

Uma identidade gerenciada é criada no Microsoft Entra ID para este aplicativo do Azure Functions e permite que Iniciar/Parar VMs v2 acesse facilmente outros recursos protegidos pelo Microsoft Entra, como os aplicativos lógicos e as VMs do Azure. Para saber mais sobre identidades gerenciadas no Microsoft Entra ID, confira Identidades gerenciadas para recursos do Azure.

Uma ponto de extremidade da função de gatilho HTTP é criada para dar suporte aos cenários de agendamento e sequência incluídos com o recurso, conforme mostrado na tabela a seguir.

Nome Gatilho Descrição
Agendado HTTP Essa função é para cenário agendado e sequenciado (diferenciado pelo esquema de carga). É a função de ponto de entrada chamada do aplicativo lógico, e usa a carga para processar a operação de início ou de parada da VM.
AutoStop HTTP Essa função dá suporte ao cenário AutoStop, que é a função de ponto de entrada chamada do Aplicativo Lógico.
AutoStopVM HTTP Essa função é disparada automaticamente pelo alerta da VM quando a condição de alerta é verdadeira.
VirtualMachineRequestOrchestrator Fila Essa função obtém as informações de conteúdo da função Agendada e orquestra as solicitações de início e parada da VM.
VirtualMachineRequestExecutor Fila Essa função executa a operação de início e de parada real na VM.
CreateAutoStopAlertExecutor Fila Essa função obtém as informações de conteúdo da função AutoStop para criar o alerta na VM.
HeartBeatAvailabilityTest Temporizador Esta função monitora a disponibilidade das funções HTTP primárias.
CostAnalyticsFunction Temporizador Essa função é usada pela Microsoft para estimar o custo agregado de Start/Stop V2 entre os clientes. Essa função não afeta a funcionalidade de Start/Stop V2.
SavingsAnalyticsFunction Temporizador Essa função é usada pela Microsoft para estimar a economia agregada de Start/Stop V2 entre os clientes. Essa função não afeta a funcionalidade de Start/Stop V2.
VirtualMachineSavingsFunction Fila Esta função executa o cálculo de economia real em uma VM obtida pela solução Iniciar/Parar V2.
TriggerAutoUpdate Temporizador Essa função inicia o processo de atualização automática com base na configuração do aplicativo "EnableAutoUpdate=true".
UpdateStartStopV2 Fila Essa função realiza a execução de atualização automática real, que valida sua versão atual com a versão disponível e decide a ação final.

Por exemplo, a função de gatilho HTTP Agendada é usada para lidar com cenários de agendamento e sequência. Da mesma forma, a função de gatilho HTTP Autostop manipula o cenário de parada automática.

As funções de gatilho baseadas em fila são necessárias para dar suporte a esse recurso. Todos os gatilhos baseados em temporizador são usados para executar o teste de disponibilidade e para monitorar a integridade do sistema.

O aplicativo lógico do Azure é usado para configurar e gerenciar as agendas de início e de término para a VM executar a ação chamando a função usando uma carga JSON. Por padrão, durante a implantação inicial, ele cria um total de cinco aplicativos lógicos para os seguintes cenários:

  • Agendado - as ações agendadas de início e parada são baseadas em um agendamento que você especifica em relação a Azure Resource Manager e VMs clássicas. ststv2_vms_Scheduled_start e ststv2_vms_Scheduled_stop configuram o início e a parada agendados.

  • Sequenciado - as ações de início e parada são baseadas em um agendamento que visa VMs com marcas de sequenciamento predefinidas. Somente duas marcas nomeadas têm suporte – sequencestart e sequencestop. ststv2_vms_Sequenced_start e ststv2_vms_Sequenced_stop configuram o início e a parada sequenciados.

    A maneira correta de usar a funcionalidade de sequência é criar uma marca chamada sequencestartem cada VM que você deseja iniciar em uma sequência. O valor da marca deve ser um número inteiro que varia de 1 a N para cada VM no respectivo escopo. A marca é opcional e, se não estiver presente, a VM simplesmente não participará do sequenciamento. Os mesmos critérios se aplicam para parar as VMs com apenas o nome da marca sendo diferente e usar sequencestop nesse caso. Você precisa configurar ambas as marcas em cada VM para começar a ação de iniciar e parar. Se duas ou mais VMs compartilharem o mesmo valor da marca, essas VMs serão iniciadas ou interrompidas ao mesmo tempo.

    Por exemplo, a tabela a seguir mostra que as ações iniciar e parar são processadas em ordem crescente pelo valor da marca.

    Table that shows sequence settings tag examples

    Observação

    Esse cenário só dá suporte a VMs do Azure Resource Manager.

  • AutoStop - essa funcionalidade é usada apenas para executar uma ação de parada em relação às VMs do Azure Resource Manager e clássicas com base em sua utilização de CPU. Ela também pode ser uma ação de execução com base em agendamento, que cria alertas em VMs e com base na condição. O alerta é disparado para executar a ação de parada. ststv2_vms_AutoStop configura a funcionalidade de parada automática.

Cada ação iniciar/parar dá suporte à atribuição de uma ou mais assinaturas, grupos de recursos ou uma lista de VMs.

Uma conta de Armazenamento do Microsoft Azure, que é exigida pelas funções, também é usada por iniciar/parar VMs v2 para duas finalidades:

  • Usa o armazenamento de tabelas do Azure para armazenar os metadados da operação de execução (ou seja, a ação iniciar/parar VM).

  • Usa o armazenamento de filas do Azure para dar suporte a Azure Functions gatilhos baseados em fila.

Todos os dados de rastreamento da execução do aplicativo de funções são enviados para sua instância do Application Insights conectada. Você pode exibir os dados de telemetria armazenados no Application Insights de um conjunto de visualizações pré-definidas apresentadas em um painel compartilhado do Azure.

Start/Stop VMs shared status dashboard

As notificações por email também são enviadas como resultado das ações executadas nas VMs.

Lançamentos

Quando uma nova versão de Iniciar/Parar VMs v2 é lançada, sua instância é atualizada automaticamente sem precisar reimplantar manualmente.

Opções de definição de scoping com suporte

Subscription

O scoping para uma assinatura pode ser usado quando você precisa executar a ação de iniciar e parar em todas as VMs em uma assinatura inteira e você pode selecionar várias assinaturas, se necessário.

Você também pode especificar uma lista de VMs a excluir e ela as ignorará da ação. Você também pode usar caracteres curinga para especificar todos os nomes que podem ser ignorados simultaneamente.

Grupo de recursos

O scoping para um grupo de recursos pode ser usado quando você precisa executar a ação de iniciar e parar em todas as VMs especificando um ou mais nomes de grupo de recursos e em uma ou mais assinaturas.

Você também pode especificar uma lista de VMs a excluir e ela as ignorará da ação. Você também pode usar caracteres curinga para especificar todos os nomes que podem ser ignorados simultaneamente.

VMList

Especificar uma lista de VMs pode ser usada quando você precisa executar a ação de iniciar e parar em um conjunto específico de máquinas virtuais e em várias assinaturas. Essa opção não dá suporte à especificação de uma lista de VMs a excluir.

Pré-requisitos

Próximas etapas

Para implantar esse recurso, confira Implantar o recurso Iniciar/Parar VMs.