我想知道ec2-run-instances
命令行中是否有等效的“--block-device-mapping”选项来将AWS实例上的临时磁盘与雾库连接起来。
BlockDeviceMappings
雾源代码中有关于的参考。但由于文档有点简洁,而且我不是 ruby 专家,因此欢迎任何帮助!
我想知道ec2-run-instances
命令行中是否有等效的“--block-device-mapping”选项来将AWS实例上的临时磁盘与雾库连接起来。
BlockDeviceMappings
雾源代码中有关于的参考。但由于文档有点简洁,而且我不是 ruby 专家,因此欢迎任何帮助!
看起来命令行等同于<devicename>=<blockdevice>
. 因此,我们应该能够通过以下几种方式之一在雾中做到这一点。使用您的值的模型版本将类似于:
计算 = Fog::Compute.new(...) 计算.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' )
或者较低级别、更直接的路径可能如下所示:
计算.run_instances( 'ami-xxxxxxxxx', 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' }, ] )
我会推荐更高级别的,因为它更容易使用/理解(并为您设置一些不错的默认值)。希望这对您来说更接近一个好的解决方案,但很高兴继续讨论。