【问题标题】:JClouds: How Do You Ask For an AWS-EC2 Public IP AddressJClouds:您如何请求 AWS-EC2 公共 IP 地址
【发布时间】:2018-08-21 22:01:27
【问题描述】:

使用 Apache JClouds 时,如何使用公共 IP 启动计算实例?这与弹性 IP 不同。使用官方 AWS API,您可以执行以下操作:

//create network information
InstanceNetworkInterfaceSpecification networkWithPublicIp = new InstanceNetworkInterfaceSpecification()
            .withSubnetId(subnetId)
            .withAssociatePublicIpAddress(true)
            .withGroups( securityGroupIds )
            .withDeviceIndex(0);

一旦节点启动,它将有一个随机分配的公共 IP(非弹性)。有没有办法用 Jclouds 和 AWSEC2TemplateOptions 做到这一点?

【问题讨论】:

  • 我发现有时 jClouds 会创建没有公共 IP 的 ec2 实例。你找到解决办法了吗?

标签: amazon-ec2 jclouds


【解决方案1】:

http://jclouds.apache.org/guides/aws/ 的文档中有一个示例

// ex. to get an ip and associate it with a node
String ip = ec2Client.getElasticIPAddressServices().allocateAddressInRegion(node.getLocation().getId());
ec2Client.getElasticIPAddressServices().associateAddressInRegion(node.getLocation().getId(),ip, node.getProviderId());

【讨论】:

  • 嗯,看来逻辑是将弹性IP与地址相关联。使用官方 API,您无需使用昂贵的弹性 IP。你可以告诉它有一个随机分配的公共 IP。
  • 不确定我是否理解。弹性 IP 是免费的,只要它们正在被实例使用。对于您预留但未使用的每个 EIP,亚马逊将向您收取 0.01 美元/小时的费用。
  • 重点是,有时,jClouds 会创建没有随机公共 IP 的 EC2 实例。为什么,如何预防,以及如果发生这种情况该怎么办。使用 ElasticIP 意味着您需要在完成后取消关联和删除 EIP
猜你喜欢
  • 1970-01-01
  • 2021-12-22
  • 2015-05-10
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 2020-02-19
  • 2017-10-09
相关资源
最近更新 更多