我正在尝试使用 AWS CLI 获取少数 EC2 实例的状态
aws ec2 describe-instance-status --instance-ids xxxxxx yyyyyyyy zzzzzzzz
Run Code Online (Sandbox Code Playgroud)
但在输出中,它仅列出正在运行的实例,而不列出已停止的实例。
我如何查看实例状态,即使它们正在运行或停止
有不同的方法可以检查instance-state
.
描述实例状态。
\n\n\n您可以使用
\ndescribe-instance-status
:describe-instance-status
AWS 命令行界面 (CLI) 的命令用于检索一个或多个 Amazon Elastic Compute Cloud (EC2) 实例的状态。默认情况下,它返回正在运行的实例的状态。要在返回的状态信息中包含已停止的实例,您可以使用该--include-all-instances
选项。
以下是如何使用此选项的示例:
\n$ aws ec2 describe-instance-status --include-all-instances\n
Run Code Online (Sandbox Code Playgroud)\n上述命令将返回正在运行和已停止实例的状态信息。
\n请注意,您还可以使用该选项过滤返回的结果--filters
。例如,您可以使用以下命令仅检索已停止实例的状态:
$aws ec2 describe-instance-status --filters "Name=instance-state-code,Values=80"\n
Run Code Online (Sandbox Code Playgroud)\n注意:这里是实例和实例80
的代码。下面将为您提供有关实例的信息。stopped
16
running
stopped
$ aws ec2 describe-instance-status --include-all-instances --filters Name=instance-state-name,Values='stopped'\n
Run Code Online (Sandbox Code Playgroud)\n\n\n您可以同时获取
\nrunning
以下示例中使用的stooped
instance-state
选项 ...--include-all-instances
$ aws ec2 describe-instance-status --include-all-instances --filters Name=instance-state-name,Values='*' --query 'InstanceStatuses[*].{InstanceId: InstanceId, State: InstanceState.Name}' --profile lab--output table\n\n\n------------------------------------\n| DescribeInstanceStatus |\n+----------------------+-----------+\n| InstanceId | State |\n+----------------------+-----------+\n| i-0a4209dkc6549a2ea | running |\n| i-09379cj420ed015f2 | running |\n| i-0c9e1100de0105ed6 | stopped |\n| i-0f57b147ea9124344 | running |\n| i-02e4cbcbe10cb5e79 | stopped |\n+----------------------+-----------+\n
Run Code Online (Sandbox Code Playgroud)\n描述实例。
\n\n\n在使用 with 时,您可以检查实例
\ninstance-state-name
的情况。state
(pending | running | shutting-down | terminated | stopping | stopped )
describe-instances
$ aws ec2 describe-instances --query 'Reservations[].Instances[*].{InstanceType: InstanceType, InstanceId: InstanceId, State: State.Name}' --profile lab --output table\n----------------------------------------------------\n| DescribeInstances |\n+----------------------+----------------+----------+\n| InstanceId | InstanceType | State |\n+----------------------+----------------+----------+\n| i-0a4209dkc6549a2ea | t3.xlarge | running |\n| i-09379cj420ed015f2 | t2.small | running |\n| i-0c9e1100de0105ed6 | m5.xlarge | stopped |\n| i-0f57b147ea9124344 | c6i.xlarge | running |\n| i-02e4cbcbe10cb5e79 | t1.micro | stopped |\n+----------------------+----------------+----------+\n
Run Code Online (Sandbox Code Playgroud)\n\n\n但是,您可以使用和
\nstate
获取实例的具体信息,例如,如果您只查找一个实例,那么您可以使用如下所示...--filers
--query
stopped
$ aws ec2 describe-instances --filters Name=instance-state-name,Values=stopped --query 'Reservations[].Instances[*].{InstanceType: InstanceType, InstanceId: InstanceId, State: State.Name}' --profile lab --output table\n----------------------------------------------------\n| DescribeInstances |\n+----------------------+----------------+----------+\n| InstanceId | InstanceType | State |\n+----------------------+----------------+----------+\n| i-0c9e1100de0105ed6 | m5.xlarge | stopped |\n| i-02e4cbcbe10cb5e79 | t1.micro | stopped |\n+----------------------+----------------+----------+\n
Run Code Online (Sandbox Code Playgroud)\n以类似的方式,您可以仅检查running
实例 \xe2\x80\xa6
$ aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query 'Reservations[].Instances[*].{InstanceType: InstanceType, InstanceId: InstanceId, State: State.Name}' --profile lab --output table\n----------------------------------------------------\n| DescribeInstances |\n+----------------------+----------------+----------+\n| InstanceId | InstanceType | State |\n+----------------------+----------------+----------+\n| i-0a4209dkc6549a2ea | t3.xlarge | running |\n| i-09379cj420ed015f2 | t2.small | running |\n+----------------------+----------------+----------+\n
Run Code Online (Sandbox Code Playgroud)\n此外,我个人喜欢使用字典格式和表格输出(--output table
),同时使用 AWS CLI 以漂亮的表格形式获取值,这样易于阅读,因此这里以哈希形式获取值instance-state
(即字典或关联数组),我将其与 结合起来--query
以获得更好的可读输出。
是的,如果您将该--include-all-instances
选项传递给命令,它还会显示已停止的实例
来自关于describe-instance-status命令的AWS文档:
--include-all-instances | --no-include-all-instances (boolean)
当 true 时,包括所有实例的运行状况。如果为 false,则仅包含正在运行的实例的运行状况。
默认值:假
归档时间: |
|
查看次数: |
6268 次 |
最近记录: |