Configurar o desligamento automático em laboratórios e VMs no DevTest Labs

É possível configurar um agendamento para desligar todas as VMs em seu laboratório em uma hora específica do dia ou da noite, como proprietário de laboratório do Azure DevTest Labs. Assim economizando no custo da execução dos computadores que não estão sendo usados.

Você também pode definir uma política de desligamento automático central para controlar se os usuários do laboratório podem agendar o desligamento automático para as suas próprias VMs. As políticas de desligamento automático variam entre permitir que os proprietários da VM controlem totalmente os agendamentos de desligamento da VM e permitir que eles não tenham nenhum controle sobre os agendamentos.

Este artigo explica como definir os agendamentos de desligamento automáticos nos laboratórios do DevTest Labs e nas VMs de laboratório individuais. O artigo também descreve como definir a política de desligamento automático do laboratório e como configurar notificações de desligamento automático.

Configurar agendamento de desligamento automático do laboratório

O desligamento automático ajuda a minimizar o desperdício de laboratório desligando todas as VMs de um laboratório em uma hora específica do dia ou da noite. Para exibir ou alterar o agendamento de desligamento automático de um laboratório, siga estas etapas:

  1. Na home page do seu laboratório, selecione Configuração e políticas.

  2. Na seção Agendamentos no menu à esquerda, selecione Desligamento automático.

  3. Na tela Desligamento automático, emHabilitado, selecione Ativado para habilitar o desligamento automático ou Desativado para desabilitá-lo.

  4. Em desligamento agendado e fuso horário, se você ativou o desligamento automático, especifique o horário e o fuso horário para desligar todas as VMs do laboratório.

  5. Em Enviar notificação antes do desligamento automático? , selecione Sim ou Não para a opção de enviar uma notificação 30 minutos antes do tempo de desligamento automático especificado.

    • Se você optar por Sim, insira um ponto de extremidade de URL do webhook em URL do webhook ou endereços de email separados por ponto e vírgula em Endereço de email no qual você deseja que a notificação seja postada ou enviada. Para saber mais, confira a seção Notificações de desligamento automático.

    Captura de tela mostrando a definição de detalhes de desligamento automático para um laboratório.

  6. Selecione Salvar.

O agendamento se aplica a todas as VMs no laboratório, por padrão. Abra o painel de gerenciamento da VM e altere sua configuração de desligamento automático para remover essa configuração de uma VM específica, se a política permitir.

Observação

Se você atualizar o agendamento de desligamento automático em um laboratório ou VM dentro de 30 minutos do tempo de desligamento agendado anteriormente, o novo tempo de desligamento entrará em vigor no dia seguinte.

Configurar política de desligamento automático do laboratório

Você pode controlar o custo e minimizar o desperdício em seus laboratórios gerenciando as definições de política de desligamento automático para seu laboratório, como proprietário de um laboratório. Para saber como definir todas as políticas de laboratório, confira Definir políticas de laboratório no Azure DevTest Labs.

Importante

As alterações na política de desligamento automático aplicam-se somente às novas VMs criadas no laboratório, não às VMs já existentes.

  1. Na home page do seu laboratório, selecione Configuração e políticas.

  2. Na seção Agendamentos do menu à esquerda, selecione Política de desligamento automático.

  3. Selecione uma das opções.

    Captura de tela mostrando a definição das opções de política de desligamento automático.

    • O usuário define uma agendamento e pode recusar: os usuários do laboratório podem substituir ou recusar o agendamento do laboratório. Essa opção concede aos proprietários da VM controle total para definir os agendamentos de desligamento automático de suas VMs.

    • O usuário define uma agendamento e não pode recusar: os usuários do laboratório podem substituir o agendamento do laboratório, mas não podem recusar a política de desligamento automático. Essa opção garante que cada VM do laboratório esteja sob um agendamento de desligamento automático. Os proprietários da VM podem atualizar o horário do agendamento e configurar as notificações de desligamento.

    • O usuário não tem controle sobre o agendamento definido pelo administrador do laboratório: os usuários do laboratório não podem alterar ou recusar o agendamento de desligamento automático do laboratório. Essa opção dá ao administrador do laboratório o controle completo do agenda para todas as VMs de laboratório. Os proprietários de VMs ainda podem configurar notificações de desligamento automático para suas VMs.

  4. Selecione Salvar.

Definir configurações de desligamento automático de VM

Você também pode definir um agendamento de desligamento automático para VMs de laboratório individuais, dependendo da política de desligamento automático.

  1. Na página inicial para a VM, na seção no menu à esquerda Operações, selecione Desligamento automático.

  2. Na tela Desligamento automático, emHabilitado, selecione Ativado para habilitar o desligamento automático ou Desativado para desabilitá-lo.

  3. Em desligamento agendado e fuso horário, se você ativou o desligamento automático, especifique o horário e o fuso horário para desligar todas as VMs do laboratório.

  4. Em Enviar notificação antes do desligamento automático? , selecione Sim ou Não para a opção de enviar uma notificação 30 minutos antes do tempo de desligamento automático especificado. Se você optar por Sim, insira um ponto de extremidade de URL do webhook em URL do webhook ou endereço de email em Endereço de email no qual você deseja que a notificação seja postada ou enviada. Para saber mais, confira a seção Notificações de desligamento automático.

  5. Selecione Salvar.

    Captura de tela mostrando a definição de detalhes de desligamento automático para uma máquina virtual.

Exibir logs de atividade para atualizações de desligamento automático

Após atualizar as configurações de desligamento automático, pode ver a atividade registrada no log de atividades da VM.

  1. Na página inicial da VM, selecione log de atividades no menu à esquerda.

  2. Remova o filtro de recursos, aplique o filtro de Grupo de recursos apropriado e exiba as entradas para Adicionar ou modificar agendamentos.

    Captura de tela mostrando Adicionar ou modificar agendamentos no Log de atividades.

  3. Selecione a operação Adicionar ou modificar agendamentos para abrir uma página de resumo que mostra mais detalhes sobre a operação.

Notificações de desligamento automático

Ao habilitar notificações na configuração de desligamento automático, os usuários do laboratório receberão uma notificação 30 minutos antes do desligamento automático afetar qualquer uma de suas VMs. A notificação dá aos usuários a oportunidade de salvar o trabalho antes do desligamento. Se as configurações de desligamento automático especificarem um endereço de email, ela será enviada para esse endereço de email. Se as configurações especificarem um webhook, ela será enviada para a URL do webhook.

A notificação também pode fornecer links que permitem as seguintes ações para cada VM se alguém precisar continuar trabalhando:

  • Ignorar o desligamento automático desta vez.
  • Adiar o desligamento automático por uma hora.
  • Adiar o desligamento automático em duas horas.

Você pode usar webhooks para implementar suas próprias notificações. Você configura as integrações que assinam determinados eventos. Quando um desses eventos acontece, uma conteúdo HTTP POST é enviado à URL do webhook.

Os webhooks dão amplo suporte para aplicativos como os Aplicativos Lógicos do Azure e Slack. Para obter mais informações sobre como responder a webhooks, confira Visão geral de gatilhos e associações HTTP do Azure Functions e Adicionar um gatilho HTTP para Aplicativos Lógicos do Azure.

O exemplo a seguir mostra como usar Aplicativos Lógicos para configurar uma notificação de desligamento automático que envia um email aos proprietários da VM.

Criar um aplicativo lógico que envia notificações por email

Os Aplicativos Lógicos fornecem muitos conectores que facilitam a integração de um serviço com outros clientes, como o Office 365 e o Twitter. As etapas para configurar um Aplicativo Lógico para notificar por email em um alto nível são:

  1. Crie um aplicativo lógico.
  2. Configure o modelo interno.
  3. Integrar com seu cliente de email.
  4. Obter a URL do webhook a ser usada nas configurações de notificação de desligamento automático.

Crie um aplicativo lógico no Azure para começar, com as etapas a seguir:

  1. Na portal do Azure, insira aplicativos lógicos no campo de pesquisa superior e selecione Aplicativos Lógicos.

  2. Na parte superior da página Aplicativos Lógicos, selecione Adicionar.

  3. Na página Criar um Aplicativo Lógico:

    Nome Valor
    Assinatura Selecione sua Assinatura do Azure.
    Grupo de recursos Selecione um grupo de recursos ou crie um novo.
    Nome do aplicativo lógico Insira um nome descritivo para o seu aplicativo lógico.
    Publicação Fluxo de trabalho
    Região Selecione uma região perto de você ou perto de outros serviços acessados pelo seu aplicativo lógico.
    Tipo de plano Consumo. Um plano de consumo permite que você use o designer de aplicativo lógico para criar seu aplicativo.
    Plano do Windows Aceite o ASP (plano de Serviço de Aplicativo padrão).
    Plano de preços Aceite o WS1 Padrão do Fluxo de Trabalho Padrão (210 ACU total, 3,5 GB de memória, 1 vCPU)
    Redundância de zona Aceite o padrão: Desabilitado.

    Captura de tela mostrando a página Criar aplicativo lógico.

  4. Clique em Examinar + Criar e após a aprovação da validação clique em Criar.

  5. Quando a implantação for concluída, selecione Ir para o recurso.

Em seguida, configurar o modelo interno.

  1. Na página Aplicativo lógico, selecione Designer de Aplicativo lógico em Ferramentas de implantação no painel de navegação esquerdo.

  2. Selecione Modelos no menu superior.

  3. Em Modelos, selecione solicitação/resposta HTTP.

    Captura de tela mostrando o modelo de Solicitação/Resposta HTTP.

  4. Na página Solicitação-Resposta HTTP, selecione Usar este modelo.

    Captura de tela mostrando a seleção Usar este modelo.

  5. Colar o código JSON a seguir na seção Esquema JSON do Corpo da Solicitação.

    Captura de tela mostrando o Esquema JSON do Corpo da Solicitação no designer.

    {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "properties": {
            "delayUrl120": {
                "type": "string"
            },
            "delayUrl60": {
                "type": "string"
            },
            "eventType": {
                "type": "string"
            },
            "guid": {
                "type": "string"
            },
            "labName": {
                "type": "string"
            },
            "owner": {
                "type": "string"
            },
            "resourceGroupName": {
                "type": "string"
            },
            "skipUrl": {
                "type": "string"
            },
            "subscriptionId": {
                "type": "string"
            },
            "text": {
                "type": "string"
            },
            "vmName": {
                "type": "string"
            },
            "vmUrl": {
                "type": "string"
            },
            "minutesUntilShutdown": {
                "type": "string"
            }
        },
        "required": [
            "skipUrl",
            "delayUrl60",
            "delayUrl120",
            "vmName",
            "guid",
            "owner",
            "eventType",
            "text",
            "subscriptionId",
            "resourceGroupName",
            "labName",
            "vmUrl",
            "minutesUntilShutdown"
        ],
        "type": "object"
    }
    

Em seguida, integrar com seu cliente de email.

  1. Selecione Nova etapa no designer.

    Captura de tela mostrando Nova etapa no designer.

  2. Na página Escolher uma operação, insira Office 365 Outlook - Enviar um email no campo Pesquisa e Enviar um email (V2) em Ações.

    Captura de tela mostrando a opção Enviar um email V2.

  3. No formulário Enviar um email (V2), preencha os campos Para, Assuntoe Corpo.

    Para preencher automaticamente a notificação com os valores que o aplicativo e os conectores usam selecione Adicionar conteúdo dinâmico. Por exemplo, emPara, selecione proprietário. Preencha o Assunto com vmName e labName. Adicione conteúdo como os valores skipUrl e delayUrl ao corpo da mensagem.

    Captura de tela mostrando um Email de notificação de exemplo.

  4. Selecione Salvar na barra de ferramentas.

  5. Agora é possível copiar a URL do webhook.

    1. Selecione a etapa Quando uma solicitação HTTP é recebida e, em seguida, selecione o botão copiar para copiar a URL DO POST HTTP para a área de transferência.

      Captura de tela mostrando a cópia da URL do webhook.

    2. Cole a URL do webhook nas configurações de notificação do desligamento automático.

      Captura de tela mostrando colar a URL do webhook nas configurações de desligamento automático.

    3. Selecione Salvar.

Próximas etapas