Ruby 如何使用fog库运行带有附加临时磁盘的AWS实例

Ruby 如何使用fog库运行带有附加临时磁盘的AWS实例,ruby,amazon-web-services,amazon-ec2,fog,Ruby,Amazon Web Services,Amazon Ec2,Fog,我想知道在ec2 run instances命令行中是否有一个“block device mapping”的等效选项,用于在带有fog库的AWS实例上附加临时磁盘 fog源代码中有一个关于BlockDeviceMappings的参考。但是由于文档有点简洁,而且我不是ruby专家,所以欢迎提供任何帮助 看起来命令行相当于=。因此,我们应该能够在雾中通过以下几种方式之一实现这一点。使用您的值的模型版本如下: compute = Fog::Compute.new(...) compute.serve

我想知道在
ec2 run instances
命令行中是否有一个“block device mapping”的等效选项,用于在带有fog库的AWS实例上附加临时磁盘


fog源代码中有一个关于
BlockDeviceMappings
的参考。但是由于文档有点简洁,而且我不是ruby专家,所以欢迎提供任何帮助

看起来命令行相当于
=
。因此,我们应该能够在雾中通过以下几种方式之一实现这一点。使用您的值的模型版本如下:

compute = Fog::Compute.new(...) compute.servers.create( :block_device_mapping => [ { 'deviceName' => '/dev/sdb', 'virtualName' => 'ephemeral0' }, { 'deviceName' => '/dev/sdc', 'virtualName' => 'ephemeral1' }, { 'deviceName' => '/dev/sdd', 'virtualName' => 'ephemeral2' }, { 'deviceName' => '/dev/sde', 'virtualName' => 'ephemeral3' }, ], :image_id => 'ami-xxxxxxxx' ) compute=Fog::compute.new(…) compute.servers.create( :块\设备\映射=>[ {'deviceName'=>'/dev/sdb','virtualName'=>'ephemeral0'}, {'deviceName'=>'/dev/sdc','virtualName'=>'ephemeral1'}, {'deviceName'=>'/dev/sdd','virtualName'=>'ephemeral2'}, {'deviceName'=>'/dev/sde','virtualName'=>'ephemeral3'}, ], :image_id=>“ami-xxxxxxxx” ) 或者,较低级别、更直接的路径可能如下所示:

compute.run_instances( 'ami-xxxxxxxx', 1, 1, :block_device_mapping => [ { 'deviceName' => '/dev/sdb', 'virtualName' => 'ephemeral0' }, { 'deviceName' => '/dev/sdc', 'virtualName' => 'ephemeral1' }, { 'deviceName' => '/dev/sdd', 'virtualName' => 'ephemeral2' }, { 'deviceName' => '/dev/sde', 'virtualName' => 'ephemeral3' }, ] ) compute.run\u实例( “ami-xxxxxxxx”, 1. 1. :块\设备\映射=>[ {'deviceName'=>'/dev/sdb','virtualName'=>'ephemeral0'}, {'deviceName'=>'/dev/sdc','virtualName'=>'ephemeral1'}, {'deviceName'=>'/dev/sdd','virtualName'=>'ephemeral2'}, {'deviceName'=>'/dev/sde','virtualName'=>'ephemeral3'}, ] )
我建议使用更高级的,因为它更易于使用/理解(并为您设置了一些不错的默认值)。希望这对您来说更接近于一个好的解决方案,但很高兴继续讨论。

一个等价物可以是'ec2运行实例ami-xxxxxxxx-b'/dev/sdb=ephemeral0'-b'/dev/sdc=ephemeral1'-b'/dev/sdd=ephemeral2'-b'/dev/sde=ephemeral3'。另外,当您试图通过AWS控制台向导启动实例时,可以选择将磁盘连接到要启动的实例。我不知道我们是否可以通过Fogrant运行这些选项的实例。如果可能的话,主要的想法是在vagrant aws插件中添加对这些选项的支持