Jxt*_*tps 6 command-line-interface amazon-ec2 amazon-web-services
我可以通过发出以下 CLI 命令列出我的所有 Spot 实例:
aws ec2 describe-instances --filter Name="instance-lifecycle",Values="spot"
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能显示我所有的not Spot 实例呢?这些都不起作用:
aws ec2 describe-instances --filter Name="instance-lifecycle",Values=""
aws ec2 describe-instances --filter Name="instance-lifecycle",Values="?"
Run Code Online (Sandbox Code Playgroud)
(instance-lifecycle对于非 Spot 实例, 为空 / null,对于spot-instance-request-id)
AWS CLI 和控制台无法过滤实例生命周期“正常”。
所以我使用 jq 工具而不是 '--filter Key=instance-lifecycle,Values=scheduled'
aws ec2 describe-instances --filter Name="instance-state-code",Values="16" \
| jq '.Reservations[]?.Instances[]? | select(.InstanceLifecycle == null)| .InstanceId' -r
Run Code Online (Sandbox Code Playgroud)
Raj*_*esh -1
如果您使用的是 Windows 平台,您可以使用以下命令列出所有按需实例
aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId,InstanceLifecycle]" --output table --region eu-west-1 | find "None"
Run Code Online (Sandbox Code Playgroud)
同样,对于所有现货实例
aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId,InstanceLifecycle]" --output table --region eu-west-1 | find "spot"
Run Code Online (Sandbox Code Playgroud)
在Linux环境下,以下可能会得到结果
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, InstanceLifecycle]' --output text |
%{if ($_.split("`t")[1] -match "None") { $_.split("`t")[2]; } }
Run Code Online (Sandbox Code Playgroud)
注意:我还没有测试 Linux 环境命令,因为我目前无法访问 Linux
| 归档时间: |
|
| 查看次数: |
2127 次 |
| 最近记录: |