我正在使用PHP脚本以编程方式创建一个新的Windows实例&对它进行测试。
一切正常,直到我升级为使用小实例(而非微观)。最初我认为Windows 2008的 C:\驱动器大小将是160 GB ,但不是,似乎此空间必须启用。
我搜索了很多内容,发现可以使用command line或使用this PHP function modify_instance_attribute
以编程方式启用此存储空间然而,目前尚不清楚如何做到这一点。 我的问题是:是否可以将此实例存储设置为 D:\ (例如)。 如果是这样,我该如何在PHP中执行此操作?即
$ec2->modify_instance_attribute($instance_id,
array('BlockDeviceMapping' => array(
'DeviceName' => '/dev/sdc=ephemeral0'
)
));
PS。我不关心关于数据完整性,我只需要那些160 GB,以便我自动生成随机数据以进行自动化测试。
答案 0 :(得分:2)
试试这个:
这就是全部。从现在开始,每当您从PHP启动一个新的小型实例时,您的160GB驱动器应已经安装并可用。
PS。不需要modify_instance_attribute()函数,可以使用run_instances()来实现,即。
<?php
$ec2 = new AmazonEC2();
$ec2->set_region(AmazonEC2::REGION_EU_W1);
$ec2->run_instances($ami_image_id, 1, 1, array(
'KeyName' => 'my-Key',
'Placement' => array('AvailabilityZone' => 'eu-west-1a'),
'BlockDeviceMapping' => array(
'VirtualName' => 'ephemeral0',
'DeviceName' => '/dev/xvdb'
),
'InstanceType' => 'm1.small',
'SecurityGroup' => 'my-RDP-group'
));
?>
答案 1 :(得分:0)
在Instance Storage实例启动后,无法以编程方式为Amazon EC2实例启用/映射Amazon EC2 Instance Storage Usage Scenarios,请参阅{{>在您的实例上设置实例商店部分{{ 3}}:
默认情况下,使用Amazon EBS作为根设备的实例不会 实例存储在启动时可用。如果你想使用 实例存储与您的EBS支持的实例,您必须明确 在启动实例时将实例存储与设备映射。 [强调我的]
实现这一目标所需的高级步骤也在该页面上列出,cyberx86对missing ephemeral disks on an m1.xlarge instance的回答提供了两种可用方法的精彩摘要。