用于ruby的aws sdk。如何使用实例分配公共ip地址?

用于ruby的aws sdk。如何使用实例分配公共ip地址?,ruby,amazon-web-services,amazon-ec2,aws-sdk,Ruby,Amazon Web Services,Amazon Ec2,Aws Sdk,在彻底阅读了之后,我没有看到在VPC内部创建时将公共ip地址与实例相关联的方法。我不想管理弹性IP地址,只要有好的旧随机公共IP instance = ec2.instances.create( count: 1, image_id: IMAGE_ID, instance_type: INSTANCE_TYPE, key_name: KEYNAME, subnet_id: SUBNET_ID, security_groups: security_group, user

在彻底阅读了之后,我没有看到在VPC内部创建时将公共ip地址与实例相关联的方法。我不想管理弹性IP地址,只要有好的旧随机公共IP

instance = ec2.instances.create(
  count: 1,
  image_id: IMAGE_ID,
  instance_type: INSTANCE_TYPE,
  key_name: KEYNAME,
  subnet_id: SUBNET_ID,
  security_groups: security_group,
  user_data: USER_DATA
)
有人知道在创建ec2实例时关联公共地址的最简单方法吗

提前感谢。

运行\u实例
方法下,在
:网络接口
选项下,您可以使用
:关联公共ip地址
输入参数指定公共ip地址的分配

仅供参考,您使用的是旧版本的Ruby SDK。由于AWS现在越来越关注核心SDK,所以请使用。可以在AWS SDK CORE中找到上述分配公共ip地址的选项。

运行实例
方法下,在
:网络接口
选项下,可以使用
:关联公共ip地址
输入参数指定公共ip地址的分配


仅供参考,您使用的是旧版本的Ruby SDK。由于AWS现在越来越关注核心SDK,所以请使用。可以找到上述在AWS SDK核心中分配公共ip地址的选项。

以下是一些示例代码,用于使用Ruby AWS SDK的2.2版在VPC中启动具有公共ip地址的实例。据我所知,这是启动实际具有公共IP地址的实例所需的最低代码量。当然,所有名为
mysomething
的变量都需要先设置

require 'aws-sdk'
@ec2 = Aws::EC2::Resource.new
@ec2.create_instances(dry_run: false,
                      min_count: 1,
                      max_count: 1,
                      image_id: my-image-id,
                      key_name: my-key-name,
                      network_interfaces: [{device_index: 0,
                                            subnet_id: my-subnet-id,
                                            groups: [my-security-group-id],
                                            delete_on_termination: true,
                                            associate_public_ip_address: true}]

下面是一些示例代码,用于使用Ruby AWS SDK的2.2版在具有公共IP地址的VPC中启动实例。据我所知,这是启动实际具有公共IP地址的实例所需的最低代码量。当然,所有名为
mysomething
的变量都需要先设置

require 'aws-sdk'
@ec2 = Aws::EC2::Resource.new
@ec2.create_instances(dry_run: false,
                      min_count: 1,
                      max_count: 1,
                      image_id: my-image-id,
                      key_name: my-key-name,
                      network_interfaces: [{device_index: 0,
                                            subnet_id: my-subnet-id,
                                            groups: [my-security-group-id],
                                            delete_on_termination: true,
                                            associate_public_ip_address: true}]