Descrição geral de Iniciar/Parar VMs fora do horário de expediente
Nota
Iniciar/Parar VM fora do horário de expediente, a versão 1 irá ser descontinuada em breve pelo CY23 e está agora indisponível no marketplace. Recomendamos que comece a utilizar a versão 2, que está agora geralmente disponível. A nova versão oferece todas as capacidades existentes e proporciona novas funcionalidades, como suporte para várias subscrições a partir de uma única instância Iniciar/Parar. Se já tiver a solução da versão 1 implementada, pode continuar a utilizar a funcionalidade e iremos fornecer suporte até à descontinuação no CY23. Os detalhes sobre o anúncio serão partilhados em breve.
A funcionalidade Iniciar/Parar VMs fora do horário de expediente inicia ou para as VMs do Azure ativadas. Inicia ou para máquinas em agendas definidas pelo utilizador, fornece informações através dos registos do Azure Monitor e envia e-mails opcionais através de grupos de ações. A funcionalidade pode ser ativada tanto no Azure Resource Manager como em VMs clássicas para a maioria dos cenários.
Esta funcionalidade utiliza o cmdlet Start-AzVm para iniciar VMs. Utiliza Stop-AzVM para parar VMs.
Nota
A solução Iniciar/Parar VMs fora do horário de expediente foi atualizada para suportar as versões mais recentes dos módulos do Azure que estão disponíveis. A versão atualizada desta funcionalidade, disponível no Marketplace, não suporta módulos do AzureRM porque migramos do AzureRM para os módulos do AzureRM. Embora os runbooks tenham sido atualizados para utilizar os novos cmdlets do módulo do Azure Az, utilizam o alias de prefixo do AzureRM.
A funcionalidade fornece uma opção de automatização de baixo custo descentralizada para os utilizadores que pretendem otimizar os custos da VM. Pode utilizar a funcionalidade para:
- Agendar VMs para iniciar e parar.
- Agende VMs para iniciar e parar por ordem ascendente com as Etiquetas do Azure. Esta atividade não é suportada para VMs clássicas.
- Parar automaticamente as VMs com base na baixa utilização da CPU.
Seguem-se limitações com a funcionalidade atual:
- Gere VMs em qualquer região, mas só pode ser utilizada na mesma subscrição que a sua conta Automatização do Azure.
- Está disponível no Azure e Azure Government para qualquer região que suporte uma área de trabalho do Log Analytics, uma conta Automatização do Azure e alertas. Azure Government regiões atualmente não suportam a funcionalidade de e-mail.
Permissões
Tem de ter determinadas permissões para ativar as VMs para a funcionalidade Iniciar/Parar VMs fora do horário de expediente. As permissões são diferentes consoante a funcionalidade utilize uma conta de Automatização pré-criada e a área de trabalho do Log Analytics ou crie uma nova conta e área de trabalho.
Não precisa de configurar permissões se for um Contribuidor na subscrição e um Administrador Global no seu inquilino do Azure Active Directory (AD). Se não tiver estes direitos ou precisar de configurar uma função personalizada, certifique-se de que tem as permissões descritas abaixo.
Permissões para a conta de Automatização pré-existente e a área de trabalho do Log Analytics
Para ativar as VMs para a funcionalidade Iniciar/Parar VMs fora do horário de expediente com uma conta de Automatização existente e a área de trabalho do Log Analytics, precisa das seguintes permissões no âmbito do Grupo de Recursos. Para saber mais sobre as funções, veja Funções personalizadas do Azure.
Permissão | Âmbito |
---|---|
Microsoft.Automation/automationAccounts/read | Grupo de Recursos |
Microsoft.Automation/automationAccounts/variables/write | Grupo de Recursos |
Microsoft.Automation/automationAccounts/schedules/write | Grupo de Recursos |
Microsoft.Automation/automationAccounts/runbooks/write | Grupo de Recursos |
Microsoft.Automation/automationAccounts/connections/write | Grupo de Recursos |
Microsoft.Automation/automationAccounts/certificates/write | Grupo de Recursos |
Microsoft.Automation/automationAccounts/modules/write | Grupo de Recursos |
Microsoft.Automation/automationAccounts/modules/read | Grupo de Recursos |
Microsoft.automation/automationAccounts/jobSchedules/write | Grupo de Recursos |
Microsoft.Automation/automationAccounts/jobs/write | Grupo de Recursos |
Microsoft.Automation/automationAccounts/jobs/read | Grupo de Recursos |
Microsoft.OperationsManagement/solutions/write | Grupo de Recursos |
Microsoft.OperationalInsights/workspaces/* | Grupo de Recursos |
Microsoft.Insights/diagnosticSettings/write | Grupo de Recursos |
Microsoft.Insights/ActionGroups/Write | Grupo de Recursos |
Microsoft.Insights/ActionGroups/read | Grupo de Recursos |
Microsoft.Resources/subscriptions/resourceGroups/read | Grupo de Recursos |
Microsoft.Resources/deployments/* | Grupo de Recursos |
Componentes para a versão 1
A funcionalidade Iniciar/Parar VMs fora do horário de expediente inclui runbooks, agendas e integração pré-configurados com os Registos do Azure Monitor. Pode utilizar estes elementos para personalizar o arranque e o encerramento das suas VMs de acordo com as suas necessidades empresariais.
Runbooks para a versão 1
A tabela seguinte lista os runbooks que a funcionalidade implementa na sua conta de Automatização. NÃO efetue alterações ao código do runbook. Em vez disso, escreva o seu próprio runbook para novas funcionalidades.
Importante
Não execute diretamente nenhum runbook com o menor anexado ao respetivo nome.
Todos os runbooks principais incluem o WhatIf
parâmetro . Quando definido como Verdadeiro, o parâmetro suporta o detalhe do comportamento exato que o runbook assume quando executado sem o parâmetro e valida que as VMs corretas são direcionadas. Um runbook só executa as ações definidas quando o WhatIf
parâmetro está definido como Falso.
Runbook | Parâmetros | Description |
---|---|---|
AutoStop_CreateAlert_Child | VMObject AlertAction WebHookURI |
Chamado a partir do runbook principal. Este runbook cria alertas por recurso para o cenário de Paragem Automática. |
AutoStop_CreateAlert_Parent | VMList WhatIf: Verdadeiro ou Falso |
Cria ou atualiza regras de alerta do Azure em VMs na subscrição ou grupos de recursos visados. VMList é uma lista de VMs separadas por vírgulas (sem espaços em branco), por exemplo, vm1,vm2,vm3 .WhatIf ativa a validação da lógica do runbook sem a execução. |
AutoStop_Disable | Nenhuma | Desativa alertas de Paragem Automática e agendamento predefinido. |
AutoStop_VM_Child | WebHookData | Chamado a partir do runbook principal. As regras de alerta chamam este runbook para parar uma VM clássica. |
AutoStop_VM_Child_ARM | WebHookData | Chamado a partir do runbook principal. As regras de alerta chamam este runbook para parar uma VM. |
ScheduledStartStop_Base_Classic | CloudServiceName Ação: Iniciar ou Parar VMList |
Efetua o início ou paragem da ação no grupo de VMs clássico por Serviços Cloud. |
ScheduledStartStop_Child | VMName Ação: Iniciar ou Parar ResourceGroupName |
Chamado a partir do runbook principal. Executa uma ação de início ou paragem para a paragem agendada. |
ScheduledStartStop_Child_Classic | VMName Ação: Iniciar ou Parar ResourceGroupName |
Chamado a partir do runbook principal. Executa uma ação de início ou paragem para a paragem agendada para VMs clássicas. |
ScheduledStartStop_Parent | Ação: Iniciar ou Parar VMList WhatIf: Verdadeiro ou Falso |
Inicia ou para todas as VMs na subscrição. Edite as variáveis External_Start_ResourceGroupNames e External_Stop_ResourceGroupNames execute apenas nestes grupos de recursos visados. Também pode excluir VMs específicas ao atualizar a External_ExcludeVMNames variável. |
SequencedStartStop_Parent | Ação: Iniciar ou Parar WhatIf: Verdadeiro ou Falso VMList |
Cria etiquetas com o nome sequencestart e sequencestop em cada VM para a qual pretende sequenciar a atividade de início/paragem. Estes nomes de etiquetas são sensíveis a maiúsculas e minúsculas. O valor da etiqueta deve ser uma lista de números inteiros positivos, por exemplo, 1,2,3 , que correspondem à ordem pela qual pretende iniciar ou parar. Nota: as VMs têm de estar dentro de grupos de recursos definidos em External_Start_ResourceGroupNames , External_Stop_ResourceGroupNames e External_ExcludeVMNames variáveis. Têm de ter as etiquetas adequadas para que as ações entrem em vigor. |
Variáveis para a versão 1
A tabela seguinte lista as variáveis criadas na sua conta de Automatização. Modifique apenas as variáveis com o prefixo .External
Modificar variáveis prefixadas com Internal
causa efeitos indesejáveis.
Nota
As limitações ao nome da VM e ao grupo de recursos resultam, em grande parte, do tamanho da variável. Veja Recursos variáveis no Automatização do Azure.
Nota
Para a variável External_WaitTimeForVMRetryInSeconds
, o valor predefinido foi atualizado de 600 para 2100.
Em todos os cenários, as variáveis External_Start_ResourceGroupNames
, External_Stop_ResourceGroupNames
e External_ExcludeVMNames
são necessárias para direcionar VMs, exceto as listas de VMs separadas por vírgulas para os runbooks AutoStop_CreateAlert_Parent, SequencedStartStop_Parent e ScheduledStartStop_Parent . Ou seja, as VMs têm de pertencer a grupos de recursos de destino para que as ações de início e paragem ocorram. A lógica funciona de forma semelhante à Azure Policy, na medida em que pode direcionar a subscrição ou o grupo de recursos e ter ações herdadas por VMs recém-criadas. Esta abordagem evita ter de manter uma agenda separada para cada VM e gerir inicia e para em escala.
Agendas para a versão 1
Nota
Este artigo foi atualizado recentemente para utilizar o termo registos do Azure Monitor em vez do Log Analytics. Os dados de registo ainda estão armazenados numa área de trabalho do Log Analytics e ainda são recolhidos e analisados pelo mesmo serviço do Log Analytics. Estamos a atualizar a terminologia para refletir melhor a função dos registos no Azure Monitor. Veja Alterações de terminologia do Azure Monitor para obter detalhes.
Ver a funcionalidade para a versão 1
Utilize um dos seguintes mecanismos para aceder à funcionalidade ativada:
Na sua conta de Automatização, selecione Iniciar/Parar VM emRecursos Relacionados. Na página Iniciar/Parar VM, selecione Gerir a solução em Gerir Soluções de Início/Parar VM.
Navegue para a área de trabalho do Log Analytics ligada à sua conta de Automatização. Depois de selecionar a área de trabalho, selecione Soluções no painel esquerdo. Na página Soluções, selecione Start-Stop-VM[área de trabalho] na lista.
A seleção da funcionalidade apresenta a página Start-Stop-VM[área de trabalho] . Aqui, pode rever detalhes importantes, como as informações no mosaico StartStopVM . Tal como na sua área de trabalho do Log Analytics, este mosaico apresenta uma contagem e uma representação gráfica das tarefas do runbook para a funcionalidade iniciada e concluída com êxito.
Pode efetuar uma análise mais aprofundada dos registos de tarefas ao clicar no mosaico em anel. O dashboard mostra o histórico de tarefas e as consultas predefinidas de pesquisa de registos. Mude para o portal avançado do Log Analytics para procurar com base nas suas consultas de pesquisa.
Passos seguintes
Para ativar a funcionalidade em VMs no seu ambiente, consulte Ativar Iniciar/Parar VMs fora do horário de expediente.