我想使用新的“gp2”卷类型作为我的Windows实例的启动卷,带有来自Amazon的开箱即用Windows AMI(例如ami-527b823a)和AWS SDK for .NET( v2.1.7 - 截至2014年7月9日最新)。我如何配置我的运行实例请求?如何为我的Windows EC2实例配置gp2启动卷?
基于the post on the AWS blog,我尝试设置一个BlockDeviceMapping:
new RunInstancesRequest {
...
BlockDeviceMappings = {
BlockDeviceMapping {
DeviceName = "sda1",
Ebs = new EbsBlockDevice { VolumeType = VolumeType.Gp2 }
},
new BlockDeviceMapping {
DeviceName = "xvdf",
Ebs = new EbsBlockDevice {
SnapshotId = SNAPSHOT_ID
DeleteOnTermination = true,
VolumeType = VolumeType.Gp2
}
}
...
}
}
但这并没有工作,我得到了一个令人吃惊的例外:
Amazon.EC2.AmazonEC2Exception: The device 'sda1' is used in more than one
block-device mapping ---> System.Net.WebException: The remote server
returned an error: (400) Bad Request.
at System.Net.HttpWebRequest.GetResponse()
...
是否可以设置启动(根)我的Windows实例的音量到GP2?或者我需要等待SDK的更新版本?
只是为了进行仔细的检查,你确定你'只为根卷创建1 BlockDeviceMapping? –
@HyperAnthony是的,我很确定。在使用“标准”EBS卷(我正在尝试更改)的生产代码中,我甚至没有在RunInstancesRequest中指定根设备,只有第二个“xvdf”设备。 –
您可以使用已经配置了GP2卷的2012R2 Windows AMI之一吗?您可以使用以下命令(假设您已安装适用于Windows Powershell的AWS Tools)获取可用AMI的列表 - Get-EC2ImageByName - 名称Windows_Server-2012-R2_RTM-English-64Bit-GP2 * –