【发布时间】:2014-07-10 07:49:06
【问题描述】:
我想使用新的“gp2”卷类型作为我的 Windows 实例的启动卷,使用来自 Amazon 的开箱即用的 Windows AMI(例如 ami-527b823a)和适用于 .NET 的 AWS 开发工具包(v2.1.7 - 2014 年 7 月 9 日最新)。如何配置我的运行实例请求?
基于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 之一?您可以使用以下命令获取可用 AMI 的列表(假设您已安装适用于 Windows Powershell 的 AWS 工具)- Get-EC2ImageByName -Names Windows_Server-2012-R2_RTM-English-64Bit-GP2*
-
@WadeMatveyenko 我正在使用 2008R2,并且需要在可预见的未来继续这样做。我希望我可以使用 -GP2 AMI,但在实例上运行的软件不支持 2012R2。
标签: .net amazon-web-services amazon-ec2 amazon-ebs