【发布时间】:2013-02-07 07:55:36
【问题描述】:
如何获取已使用 C# 分配静态公共弹性 IP 的 EC2 实例的列表?
【问题讨论】:
标签: c# amazon-web-services ec2-api-tools
如何获取已使用 C# 分配静态公共弹性 IP 的 EC2 实例的列表?
【问题讨论】:
标签: c# amazon-web-services ec2-api-tools
基本上你会得到实例和公共 IP,然后你会比较实例是否包含任何公共 IP 地址。
以下是为您执行此操作的代码:
AmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client();
//Create instance request
DescribeInstancesRequest request = new DescribeInstancesRequest();
DescribeInstancesResponse response = ec2.DescribeInstances(request);
//Create ip address request enumeration
DescribeAddressesRequest daRequest = new DescribeAddressesRequest();
DescribeAddressesResponse daResponse = ec2.DescribeAddresses(daRequest);
var publicIps = from ips in daResponse.DescribeAddressesResult.Address select ips.PublicIp;
//List of the instances which has public IP
List<RunningInstance> publicIpInstances = new List<RunningInstance>();
//Iterate over instances and check if they have public IP
foreach (Reservation ri in response.DescribeInstancesResult.Reservation)
publicIpInstances.AddRange(ri.RunningInstance.Where(inst => publicIps.Contains(inst.IpAddress)));
【讨论】: