微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何安排AWS EC2 Windows实例的自动(每日)快照?

我在Amazon EC2上托管了一些 Windows服务器.一些运行Windows Server 2003,另一些运行Windows Server 2008.这些是EBS支持的实例.大多数实例还附加了一些额外的EBS卷.

我们希望将Windows机器(以及附加的EBS卷)的每日快照安排到S3,以便我们可以进行每日备份.

人们会认为这是一个非常常见的要求,并且可以通过AWS管理控制台提供,但是,它不是.有哪些方法?如何在Windows服务器上安排每日快照?

Linux上有几个可用于在线的脚本示例,但对于Windows来说并非如此.我看过http://sehmer.blogspot.com/2011/04/amazon-ec2-daily-snapshot-script-for.html以及https://github.com/ronmichael/aws-snapshot-scheduler.有没有人使用过这些方法之一并且有效吗?

我也考虑过像Skeddly这样的服务,乍看起来似乎很便宜,但是当你看到它用于几台服务器时,价格很快升级到这样一个点,在这一点上你可以创建自己的解决方案,然后你可以应用它未来的新服务器.有了Skeddly,我们将为每台服务器付费.

我们如何安排Windows实例的每日快照?

Amazon Web Services最近推出了适用于Windows的 announced PowerShell命令行工具,它与 AWS Tools for .NET SDK一起打包.

AWS Powershell工具使创建快照变得非常容易:

New-EC2Snapshot "vol-371acd04" -Description "My Snapshot"

您可以像这样查询快照:

PS C:\Program Files (x86)\AWS Tools\PowerShell> Get-EC2Snapshot | more


SnapshotId  : snap-18be2b28
VolumeId    : vol-371acd04
Status      : completed
StartTime   : 2012-12-28T08:17:00.000Z
Progress    : 100%
OwnerId     : 383816850479
VolumeSize  : 30
Description : My Snapshot
OwnerAlias  :
Tag         : {}

确保安装了AWS Powershell工具,并创建一个计划任务,该任务使用类似于上面代码段的powershell脚本来安排快照,您应该做得很好.

已更新以查询附加的EBS卷:

查询附加到您的实例的EBS卷,然后为每个卷创建快照,您可以执行以下操作:

# Find my instance ID from the EC2 Metadata
$myInstanceID = (New-Object System.Net.WebClient).DownloadString("http://169.254.169.254/latest/Meta-data/instance-id")

# Query for volumes that are attached to my Instance Id
$volumes = (Get-EC2Volume).Attachment | where {$_.InstanceId -eq $myInstanceID } | Select VolumeId

# Iterate through these volumes and snapshot each of them
foreach ($volume in $volumes)
{
    New-EC2Snapshot $volume.VolumeId -Description "My Snapshot"
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐