我正在尝试使用.NET library以编程方式访问我的所有EC2实例。
如何获取所有实例的列表,并获取其各自的IP地址?
答案 0 :(得分:5)
使用AmazonEC2Client.DescribeInstances Method
result = client.DescribeInstances();
foreach (var instance in result.Reservations[0].Instances) {
privateIps.add(instance.PrivateIpAddress);
}
答案 1 :(得分:3)
在AWS和EC2中说,如果您想获得某些内容的列表,或者想了解更多相关内容,那就是“描述”调用。
例如:
......以及你特别想要的那个:
DescribeInstances调用将返回一个具有每个实例的IP地址的数据结构。请注意,这是一个PAGED API,这意味着如果你有很多实例(> 1000),你需要继续调用它,提供相关的页面令牌,以获得完整的列表。
答案 2 :(得分:0)
以下是示例代码,通过该示例代码,您可以获取InstanceID列表:
_client = new AmazonEC2Client(awsAccessKeyId, awsSecretAccessKey, RegionEndpoint.USEast2);
bool done = false;
var InstanceIds = new List<string>();
DescribeInstancesRequest request = new DescribeInstancesRequest();
while (!done)
{
DescribeInstancesResponse response = await _client.DescribeInstancesAsync(request);
foreach ( Reservation reservation in response.Reservations)
{
foreach (Instance instance in reservation.Instances)
{
InstanceIds.Add(instance.InstanceId);
}
}
request.NextToken= response.NextToken;
if (response.NextToken == null)
{
done = true;
}
}
您可以将instance.InstanceId替换为instance.PublicIpAddress以获取IP地址列表。希望这会有所帮助!