体验Azure的 Automation “自动化” 服务预览版
一直想要实现对Azure上跑的虚机进行定期的自动备份。在网上搜了一下有关的解决方案,发现一个不错的帖子,是基于国外的Azure服务做的。基本原理就是利用Azure的Automation(自动化)服务来写PowerShell脚本完成关机、备份、开机。最近发现国内Azure也有了“自动化”服务,便决定把这个贴子里说到的方法搬到国内Azure上试一试。
首先,你会看到在左侧菜单里有“自动化”的服务。
选择“新建”>>“自动化”>>“运行手册”>>“快速创建”。这里有几项信息要填。
- RUNBOOK名称:这里需要给你的脚本取个名字,比如“MyTestRunbook”,这里我用了“BackupMoodleVM”这个名字
- 说明:可以不填
- 自动管理账户:第一次用“自动化”服务必须要建一个管理账户,也需要取个名字,比如“MyAutomationAccount”,这里我用了“automation4mcai”这个名字
- 订阅:选择目标订阅
- 区域:选择中国北部或东部
建完服务后,需要上传几个额外的脚本。
首先,打开服务,点击上面菜单里的“资产”,这里已经有了不少缺省的模块,都是PowerShell和Azure基础功能有关的。

在屏幕下方点击“导入模块”,上传 AzureBackupFunction.zip 这个文件。这个文件是在 QNDAzureBackup.zip 的基础上略作修改的。打开这个zip文件里面有一个文件夹和两个PowerShell文件。我修改了.PSM1这个文件里两行命令,让它可以在国内Azure上工作。
$dstContext = new-azurestoragecontext -StorageAccountName $backupStorageAccountName -StorageAccountKey (Get-AzureStorageKey -StorageAccountName $backupStorageAccountName).Primary -environment
"AzureChinaCloud"
$srcContext = new-azurestoragecontext -StorageAccountName $srcStgAccountName -StorageAccountKey (Get-AzureStorageKey -StorageAccountName $srcStgAccountName).Primary -environment
"AzureChinaCloud"
上传完成后,可以在“资产”列表里看到这个“AzureBackupFunction”模块。点击这个新的模块,确认下面的“活动”有“Backup-AzureVM”这个命令的名字。
然后,点击上面菜单里的“RUNBOOKS”,这里可以看到我新建的“BackupMoodleVM”这个名字。这里还有一个文件要上传,点击屏幕下面的“导入”,上传 Connect-AzureVM.ps1 这个文件。这个脚本内容是从这个博客帖子里得到的,但也略作修改,为了可以在国内Azure上工作。
Add-AzureAccount -Credential $AzureOrgIdCredential -environment "AzureChinaCloud" | Write-Verbose
上传完成后,可以开始写我们自己的脚本了。点击“BackupMoodleVM”,在上面的菜单选择“创作”,会进入“草稿”编辑器。粘贴一下脚本内容。
workflow BackupMoodleVM
{
param
(
[Parameter(Mandatory=$true)]
[String] $password
)
# Set up variables
$AzureSubscriptionName = "CaiLang Subscription"
$AzureOrgId = "user@cailang.partner.onmschina.cn"
$AzurePassword = $password | ConvertTo-SecureString -AsPlainText -Force
$AzureOrgIdCredential = New-Object System.Management.Automation.PSCredential($AzureOrgId,$AzurePassword)
$ServiceName = "moodle-cloudservice"
$VMName = "moodlevm"
$StorageAccountName = "cailangstorage"
$backupContainerName = "vm-backup"
# Set up Azure connection by calling the Connect-Azure runbook
$Uri = Connect-AzureVM -AzureSubscriptionName $AzureSubscriptionName -AzureOrgIdCredential $AzureOrgIdCredential -serviceName $ServiceName -VMName $VMName
# Stop Azure VM
Stop-AzureVM -ServiceName $ServiceName -Name $VMName -StayProvisioned
# Backup Azure VM
Backup-AzureVM -serviceName $ServiceName -VMName $VMName -backupContainerName $backupContainerName -backupStorageAccountName $StorageAccountName –includeDataDisks
# Start Azure VM
Start-AzureVM -ServiceName $ServiceName -Name $VMName
}
解释一下需要配置的对象。
- AzureSubscriptionName:这个是虚机所在订阅的名字
- AzureOrgId:这个是Azure的登陆用户名
- ServiceName:这个是虚机挂靠的云服务名字
- VMName:目标虚机的名字
- StorageAccountName:用来备份虚机硬盘的存储账号
- backupContainerName:用来备份虚机硬盘的容器名字
大家也可以根据自己的需求将这些对象都放到参数配置里,就像password那样,在运行时在输入。编辑完成后,点击屏幕下方的“测试”,确保脚本可以跑起来,最后点击“发布”。别忘了发布刚才导入的Connect-AzureVM脚本。
在运行时,我遇到以下的错误。这是来自于Connect-AzureVM脚本中尝试去那虚机的证书的操作,个人认为可以忽略这个错误,我备份的是Ubuntu系统。
Error: Get-AzureCertificate : Cannot validate argument on parameter 'Thumbprint'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
At Connect-AzureVM:63 char:63
+
+ CategoryInfo : InvalidData: (:) [Get-AzureCertificate], ParameterBindingValidationException
+ FullyQualifiedErrorId :
ParameterArgumentValidationError,Microsoft.WindowsAzure.Commands.ServiceManagement.Certificates.GetAzureCertificate
之后就可以配置“计划日程”来定期备份虚机了。
如果你有任何疑问,欢迎访问MSDN社区,由专家来为您解答Windows
Azure各种技术问题,或者拨打世纪互联客户服务热线400-089-0365/010-84563652咨询各类服务信息。
本文转载自: http://blog.csdn.net/u014296016/article/details/44920687
体验Azure的 Automation “自动化” 服务预览版的更多相关文章
- 微软发布Azure Stack第一个技术预览版
为了提升商业灵敏度和加快创新步伐,各个企业都在迅速地转向云服务.在微软,我们已经见到微软智能云Azure的飞速发展和使用,每月我们都有近十万的新增订阅量.然而,我们也了解到还有很多企业在完全移到公有云 ...
- Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集
Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集 继去年 10 月推出 Windows Azure HDInsight 之后,我们宣布 Windows Az ...
- 宣布发布 Windows Azure 导入/导出服务的预览版以及 Web 和移动解决方案场景的若干增强功能
客户评估基于云的存储解决方案时,面临的挑战之一是以经济高效.安全快速的方式从 Blob 存储区移进和移出大量数据.今天,我们很高兴地宣布发布 Windows Azure 导入/导出的预览版,这款新服务 ...
- 微软推出首个Microsoft Azure Stack技术预览版
Mike Neil,微软公司企业云副总裁 怀着对于提高业务灵活性.加速创新的期待,很多企业正在向云平台迅速迁移.伴随着这样的趋势,我们也见证了微软智能云Azure业务在全球市场的快速增长--每个月近1 ...
- 宣布发布全新的 Windows Azure 缓存预览版
全新 Windows Azure 缓存的预览版现已发布.此托管服务可以提供闪电般的数据访问速度,以帮助您构建更具可伸缩性.响应更快的应用程序. 详情如下: · 托管式缓存:这一全新的托管服务为需 ...
- 宣布发布 Windows Azure SDK 2.2,正式发布 Windows Azure Backup 和 Hyper-V 恢复管理器预览版
开发人员正逐渐转向云计算,因为它具有众多优势,包括成本.自动化和让开发人员专注于应用程序逻辑的能力.我们很高兴地宣布,继推出 Visual Studio 2013 之后,今天将发布 Windows A ...
- Azure SQL 数据库最新版本现已提供预览版
Tiffany Wissner 数据平台营销高级总监 我们之前在11月宣布将提供新的预览版,在该预览版中我们引入了接近完整的 SQL Server 引擎兼容性和更为高级的性能,这些都代表了下一代的 ...
- Azure SQL 数据库的灵活缩放预览版简介
Eron Kelly SQL Server 产品管理部门产品市场营销总经理 几天前,我们宣布了发布 Azure SQL 数据库的灵活缩放公共预览版.新增的灵活缩放功能通过简化开发和管理,简化了扩展和缩 ...
- WSL2(预览版)体验笔记
WSL2安装 WSL2在今年5月份Microsoft Build大会上发布了,但至今Windows10一直没收到更新推送,我想这么久过去就算没进入正式,至少也到了RC版了吧,于是开始折腾准备体验一把. ...
随机推荐
- QT定制有标题的扁平化下拉框控件
关键字:QT,QComboBox,QLineEdit,QListView,QPushButton,QMenu,QWidgetAction,setStyleSheet OS:Windows 7 方法一: ...
- 浅谈String类型
首先,我们要知道的是String类型是一个引用类型,它的基类是Object.并且它的内容是只读的. 我们有时候经常会看到两个字符串类型,一个是“Sting”,一个是“string”.大写的String ...
- (转)Qt Model/View 学习笔记 (二)——Qt Model/View模式举例
Qt Model/View模式举例 Qt提供了两个标准的models:QStandardItemModel和QDirModel.QStandardItemModel是一个多用途的model,可用于表示 ...
- Entity Framework 学习笔记(一)安装
1.通过 VS2013 下载,这个没有限制,因为我用的vs是2013 Entity Framework包
- 提升网站性能之设置gzip
tomcat如何设置gzip: http://www.tuicool.com/articles/aMRRFre http://blog.csdn.net/xuefeng0707/article/det ...
- 17款免费的Bootstrap后台管理模板集合
Bootstrap是Twitter推出的一个用于前端开发的开源工具包.是目前最受欢迎的前端框架之一.下面为大家推荐17个免费的Bootstrap后台管理界面模板. 1. Admin Lite ...
- The 5th Zhejiang Provincial Collegiate Programming Contest---ProblemF:Faster, Higher, Stronger
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2970 唔...第二水题.除了Faster是输出最小外,另外两个都是输出最大 ...
- 【win8技巧】去掉Win8导航菜单下面的这台电脑其他的文件夹
win8 删除 上传 下载 这台电脑 左侧导航 另存为中的 视频.图片.文档.下载的方法!落雨 win8 Windows 8.1 默认将视频.图片.文档.下载.音乐.桌面等常用文件夹也显示在其中了, ...
- VS2005 VS2008 Manifest 配置问题总结
一.问题 编译某个遗留工程后,运行程序时报错,“由于应用程序的配置不正确,应用程序无法启动.重新安装应用程序可能会解决这个问题.” 查看生成的Manifest文件如下: <?xml versio ...
- Android EditText边框颜色的selector 使用focus标记当前填写的框
案例:当选中一个EditText时,将其边框变为蓝色,其他未被选中的EditText则为灰色. 主界面: <?xml version="1.0" encoding=" ...