正如标题所说,我正在使用DescribeAddressesRequest来查找创建后为实例提供的IP地址。我想知道有没有办法将IP分配给特定的实例(例如,实例ID i-b4b4d3d4
)?
我正在使用的方法,如上所述,给了我数以千计的地址,这是不方便的,因为我总是对单个实例感兴趣......
答案 0 :(得分:1)
如果您想知道某个实例的公共IP地址,那么您可以在setFilters()
电话上使用DescribeAddressesRequest
。
以下是使用AWS CLI的等效内容:
aws ec2 describe-addresses --filter Name=instance-id,Values=i-abcd1234 --query 'Addresses[*].PublicIp'
答案 1 :(得分:1)
如果您在实例上,那么您将使用通过门户网站169.254.169.254提供的各种元数据。在Java中使用EC2MetadataUtils
或HttpClient
或:
curl -o - http://169.254.169.254/latest/meta-data/public-ipv4
有关元数据使用的完整列表:
curl -o - http://169.254.169.254/latest/meta-data/
如果您正在谈论过滤 Java中的DescribeAddressesRequest
,那么您可以添加过滤器。我认为这样的事情应该有效:
DescribeAddressesRequest request =
new DescribeAddressesRequest().withFilters(
Arrays.asList(new Filter().withName("resource-id").withValues("i-b4b4d3d4")));
可能会"instance-id"
。