Azure Automation 可以提供一些自动化的功能,比如我们可以指定在每天早上6点开启虚拟机,每天晚上8点关闭虚拟机。
    同时还提供一些基于监控参数的自动化配置。今天的主要内容是介绍通过Automation 实现定时对虚拟机进行开机和关机操作。

    Azure对不同状态下的虚拟机计费情况:
    Azure Automation 自动化 - 图1

    视频:

    Automation.mp4 (38.49MB) 代码:

    1. workflow startVM
    2. {
    3. $Cred = Get-AutomationPSCredential -Name "test-cred";
    4. Add-AzureRmAccount -Credential $Cred -EnvironmentName AzureChinaCloud;
    5. Select-AzureRmSubscription -SubscriptionId "xxxx-xxxx-xxxx";
    6. Start-AzureRmVM -ResourceGroupName "seanyutest" -Name "testvm"
    7. }
    8. workflow stopVM
    9. {
    10. $Cred = Get-AutomationPSCredential -Name "test-cred";
    11. Add-AzureRmAccount -Credential $Cred -EnvironmentName AzureChinaCloud;
    12. Select-AzureRmSubscription -SubscriptionId "xxxx-xxxx-xxxx";
    13. Stop-AzureRmVM -ResourceGroupName "seanyutest" -Name "testvm" -Force
    14. }

    注意关机时应该增加参数-Force,因为在powershell中执行关机时,会有交互内容,需从键盘输入YES才会执行关机操作,当我们通过Automation执行关机时,则应该强制关机。

    目前支持的Runbook有如下几种类型:
    Azure Automation 自动化 - 图3

    Azure 自动化可以在基础结构和应用程序的整个生命周期中进行管理。 可以将有关组织如何交付和维护工作负荷的知识传输到系统中;主要可以实现以下内容:
    生成/部署资源 - 使用 Runbook 和 Azure 资源管理器模板在混合环境中部署 VM。 集成到 Jenkins 等开发工具中。
    配置 VM - 使用基础结构和应用程序所需的配置评估和配置 Windows 和 Linux 计算机。
    监视 - 确定计算机上那些导致问题的更改,进行相应的补救,或者将其升级到管理系统。
    保护 - 在已引发安全警报的情况下隔离 VM。 设置来宾内要求。
    管控 - 为团队设置基于角色的访问控制。 恢复未使用的资源。

    image.png