我怎么能算运行的EC2实例?(How can I count running EC2 Instanc

2019-10-21 05:30发布

我在寻找一个非常基本的脚本来算使用PowerShell在AWS上运行的EC2实例的数量。 我已经找到了几种方法,但由于某种原因,当我尝试一下,我没有得到我期望的结果。

我最接近的是这样的:

$instancestate = (get-ec2instance).instances.state.name
$instancestate

返回:

stopped
running
stopped
stopped
running

(这样的例子不胜枚举约80实例)

我希望有一个统计那些正在运行的响应。

Answer 1:

我不知道别人,但我更喜欢明确分配我的EC2过滤器变量,然后调用类似,当列出他们Get-EC2Instance 。 这使得它更容易与滤波器如果您需要在多条件筛选工作。

下面是你以后,我在那里有6个正在运行的实例的工作示例:

# Create the filter 
PS C:\> $filterRunning = New-Object Amazon.EC2.Model.Filter -Property @{Name = "instance-state-name"; Value = "running"}

# Force output of Get-EC2Instance into a collection.
PS C:\> $runningInstances = @(Get-EC2Instance -Filter $filterRunning)

# Count the running instances (more literally, count the collection iterates)
PS C:\> $runningInstances.Count
6


Answer 2:

http://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Get-EC2Instance.html&tocid=Get-EC2Instance

从这个它看起来像下面将工作(我不知道有关过滤器语法):

$i = Get-EC2Instance -Filter @{Name = "instance-state-name"; Value = "running"}
$i.Count


文章来源: How can I count running EC2 Instances?