在AWS控制台中,您可以查看哪些实例处于联机状态,正在关闭的内容以及关闭的内容。我试图在我的应用程序中复制此功能,但EC2 api似乎没有合作。
这就是我正在做的事情:
DescribeInstanceStatusRequest rr=new DescribeInstanceStatusRequest();
rr.InstanceIds=new List<string>(new[]{instanceId});
var status = ec2.DescribeInstanceStatus(rr);
List<InstanceStatus> statusses = new List<InstanceStatus>();
foreach (var s in status.InstanceStatuses)
{
if (s.InstanceId == instanceId)
{
statusses.Add(s);
}
}
if (statusses.Any())
{
var instanceStatus = statusses.First();
...
}
当实例在线时,这可以正常工作,但是一旦我请求关闭它,实例就会从信息中消失。
如何获取所有实例的信息,包括那些关闭,关闭和终止的实例?
答案 0 :(得分:5)
默认情况下,DescribeInstanceStatus仅捕获正在运行的实例。您可以将请求中的属性IncludeAllInstances
设置为true以更改此值。来自文档:
IncludeAllInstances
如果为true,则包括所有实例的运行状况。当假, 包括仅运行实例的运行状况。
默认值:false
代码示例:
DescribeInstanceStatusRequest rr = new DescribeInstanceStatusRequest()
{
IncludeAllInstances = true
};
<强>参考:强>