【问题标题】:AWS SDK: Request spot instance with public IP and security groupsAWS 开发工具包:请求具有公共 IP 和安全组的现场实例
【发布时间】:2015-07-16 13:35:12
【问题描述】:

我正在编写一个脚本来自动执行 Spot 实例请求。我正在尝试实现通常通过控制台获得的相同效果。更准确地说,实例通常具有以下特点:

  • 它属于非默认 VPC
  • 它属于特定的安全组
  • 它有一个公共 IP 地址

我正在使用 ruby​​ + the AWS SDK EC2 Client 来达到目的。目前,我使用的选项是:

options = {
          :spot_price => "0.6", 
          :instance_count => 1,
          :type => "one-time", 
          :launch_specification => {
              :key_name => "wathever",
              :image_id => "ami-wathever",
              :instance_type => "cx.xwathever",
              :network_interfaces => [
                  {
                      :device_index => 0,
                      :delete_on_termination => true,
                      :subnet_id => "subnet-wathever",
                      :associate_public_ip_address => true
                  }
              ],
              :security_group_ids => ["sg-wathever"],
          }
      } 

这种方法的唯一问题是发出请求后出现此错误

网络接口和实例级安全组可能不会 在同一请求中指定

我现在有点迷茫,因为从控制台它的工作方式不同。在 1 个请求中,我可以为实例指定安全组和公共 IP。尽管似乎不可能通过 AWS 开发工具包。

这是 AWS 工具对齐的问题还是我只是做错了什么?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-sdk


    【解决方案1】:

    网络接口和实例级安全组不能在同一个请求中指定

    “实例级”位在这里暗示的是,如果您明确配置网络接口,则需要配置将应用的安全组每个网络接口(使用groups 单独网络接口规范上的设置)。仅当您接受默认网络接口配置时,顶级 security_group_ids 设置才有效。

    【讨论】:

    • 这就是解决方案。谢谢
    猜你喜欢
    • 2022-09-29
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 2016-05-10
    • 2019-06-26
    相关资源
    最近更新 更多