2014-02-19 70 views
2

在彻底读取ruby aws-sdk docs后,我没有看到在VPC内部创建时将公有IP地址与实例相关联的方法。我不想管理弹性IP地址,只需拥有优秀的随机公共IP。红宝石aws-sdk。如何为实例分配一个公共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实例创建公共地址的最简单方法吗?

在此先感谢。

回答

1

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

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}]