如何列出所有区域的所有公共虚拟机(EC2)实例

时间:2018-10-21 06:47:52

标签: c# amazon-web-services amazon-ec2

我想获取任何区域的所有公共 EC2的公共实例的列表。我已经尝试过使用C#.net,但是正在获取使用以下代码在我的区域中创建的EC2实例的列表。

DescribeInstancesResponse describeInstancesResponse = client.DescribeInstances();
List<Reservation> reservation = describeInstancesResponse.Reservations;
var allInstance = reservation.SelectMany(x => x.Instances).ToList();

但是我的问题是找出我创建的所有实例或其他任何创建的实例(处于“运行状态”的公共虚拟机)。 这可能吗?请让我知道它将如何工作? 预先感谢!

1 个答案:

答案 0 :(得分:1)

您需要连接到每个区域,然后一次列出该区域中的实例。

在代码顶部,您将需要获取区域列表:

AmazonEC2Client client = new AmazonEC2Client();
DescribeRegionsResponse response = client.DescribeRegions();
var regions = new List<Region>();
regions = response.Regions;
foreach (Region region in regions)
{
    Console.WriteLine(region.RegionName);
}

在foreach部分中,处理每个区域:

AmazonEC2Client ec2Client = new AmazonEC2Client(region.RegionName);
// add your code here