列出并筛选您的资源 - Amazon Elastic Compute Cloud

列出并筛选您的资源

您可以使用 Amazon EC2 控制台获取某些类型的资源的列表。您可以使用相应命令或 API 操作获取每种类型的资源的列表。如果您拥有许多资源,可以筛选结果以仅包含或排除符合特定标准的资源。

使用控制台列出并筛选资源

使用控制台列出资源

您可以使用控制台查看最常用的 Amazon EC2 资源类型。要查看其他资源,请使用命令行界面或 API 操作。

要使用控制台列出 EC2 资源

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择与资源类型对应的选项。例如,要列出实例,请选择实例

    该页面显示所选资源类型的所有资源。

使用控制台筛选资源

筛选资源列表

  1. 在导航窗格中,选择资源类型 (例如,Instances)。

  2. 选择搜索字段。

  3. 从列表中选择筛选条件。

  4. 选择运算符,例如 =(等于)。某些属性具有更多可供选择的运算符。请注意,并非所有页面都支持选择运算符。

  5. 选择筛选条件值。

  6. 要编辑选定的筛选条件,请选择过滤条件令牌(蓝色框),进行所需的编辑,然后选择 Apply(应用)。请注意,并非所有页面都支持编辑选定的筛选条件。

    
							编辑筛选条件。
  7. 完成后,删除筛选条件。

Amazon EC2 控制台之间的搜索和筛选功能略有不同。

新控制台支持两种类型的筛选。

  • API 筛选发生在服务器端。该筛选应用于 API 调用,可减少服务器返回的资源数量。它可以对大型资源集进行快速筛选,并可降低服务器和浏览器之间的数据传输时间和成本。API 筛选支持 =(等于)和 :(包含)运算符,并且始终区分大小写。

  • 客户端筛选发生在客户端。它可以对浏览器中现有的数据(也就是 API 已返回的数据)进行筛选。客户端筛选与 API 筛选结合使用,可以在浏览器中筛选出较小的数据集。除 =(等于)和 :(包含)运算符外,客户端筛选还可以支持范围运算符 [例如 >=(大于等于)] 和否定(反向)运算符 [例如 !=(不等于)]。

新 Amazon EC2 控制台支持以下类型的搜索:

按关键字搜索

按关键词搜索是一种自由文本搜索,可让您在所有资源属性或标签中搜索特定的值,而无需指定要搜索的属性或标签键。

注意

所有关键字搜索都使用客户端筛选

要按关键字进行搜索,请在搜索框中输入或粘贴要查找的内容,然后按 Enter。例如,搜索 123 时将会比对任何属性(例如 IP 地址、实例 ID、VPC ID 或 AMI ID)或任何标签(例如 Name)中包含 123 的所有实例。如果自由文本搜索返回不需要的匹配项,请再应用其他筛选条件。

按属性搜索

按属性搜索可让您在所有资源中搜索特定属性。

注意

属性搜索可以使用 API 筛选客户端筛选,具体取决于所选的属性。执行属性搜索时,会相应地对属性进行分组。

例如,您可以搜索所有实例的 Instance state 属性,以便仅返回处于 stopped 状态的实例。要实现此目的,应按照以下步骤进行:

  1. 实例屏幕上的搜索字段中,开始输入 Instance state。输入字符时,实例状态将显示两种类型的筛选条件:API 筛选条件客户端筛选条件

  2. 要在服务器端进行搜索,请在 API 筛选条件下选择 实例状态。要在客户端进行搜索,请在客户端筛选条件下选择实例状态(客户端)

    这时会显示所选属性的可能运算符列表。

  3. 选择 =(等于)运算符。

    这时会显示所选属性和运算符的可能值列表。

  4. 从列表中选择已停止

按标签搜索

借助按标签搜索功能,您可以按标签键或标签值来筛选当前显示的表中的资源。

标签搜索使用 API 筛选客户端筛选方式,具体取决于 Preferences(首选项)窗口中的设置。

确保对标签执行 API 筛选

  1. 打开 Preferences(首选项)窗口。

  2. 清除 Use regular expression matching(使用正则表达式匹配)复选框。如果选中此复选框,则将执行客户端筛选。

  3. 选择 Use case sensitive matching(使用区分大小写的匹配)复选框。如果清除了此复选框,则将执行客户端筛选。

  4. 选择 Confirm(确认)。

按标签搜索时,您可以使用以下值:

  • (空) – 查找具有指定标签键,但必须不具有标签值的所有资源。

  • All values(所有值)– 查找具有指定标签键和任何标签值的所有资源。

  • Not tagged(未添加标签)– 搜索不具有指定标签键的所有资源。

  • 显示的值 – 查找具有指定标签键和指定标签值的所有资源。

您可以使用以下技术来增强或优化搜索:

逆向搜索

反向搜索可让您搜索与指定的值匹配的资源。在 Instances(实例)和 AMI 屏幕中,反向搜索的方法是首先选择 !=(不等于)或 !:(不包含)运算符,然后选择一个值。在其他屏幕中,反向搜索的执行方式是在搜索关键词前面加上感叹号(!)字符。

注意

只有客户端筛选条件上的关键字搜索和属性搜索支持反向搜索。API 筛选条件上的属性搜索不支持它。

例如,您可以搜索所有实例的实例状态属性,以便包含处于 terminated 状态的所有实例。要实现此目的,应按照以下步骤进行:

  1. 实例屏幕上的搜索字段中,开始输入 Instance state。输入字符时,实例状态将显示两种类型的筛选条件:API 筛选条件客户端筛选条件

  2. Client filters(客户端筛选条件)下,选择 Instance state (client) [实例状态(客户端)]。只有客户端筛选条件支持反向搜索。

    这时会显示所选属性的可能运算符列表。

  3. 选择 !=(不等于),然后选择 terminated(已终止)。

要根据实例状态属性筛选实例,您还可以使用实例状态列中的搜索图标 ( )。带加号 (+) 的搜索图标将显示与该属性匹配的所有实例。带减号 (-) 的搜索图标将排除与该属性匹配的所有实例。

以下是使用反向搜索的另一个示例:要列出分配名为 launch-wizard-1 的安全组的所有实例,则在 Client filters(客户端筛选条件)下,按 Security group name(安全组名称)属性进行搜索,然后选择 != 并在搜索栏中输入 launch-wizard-1

部分搜索

使用部分搜索,可以搜索部分字符串值。要执行部分搜索,请仅输入要搜索的关键字的一部分。在 Instances(实例)和 AMI 屏幕中,部分搜索只能通过 :(包含)运算符来执行。在其他屏幕中,您可以选择该客户端筛选条件属性,然后立即仅输入要搜索的关键词的一部分。例如,在 Instance type(实例类型)屏幕上,要搜索所有 t2.microt2.smallt2.medium 实例,则按 Instance Type(实例类型)属性进行搜索,然后输入关键词 t2

正则表达式搜索

要使用正则表达式搜索,必须在 Preferences(首选项)中选中 Use regular expression matching(使用正则表达式匹配)复选框。

当需要匹配字段中具有特定模式的值时,可以使用正则表达式。例如,要搜索以 s 开头的值,请搜索 ^s。要搜索以 xyz 结尾的值,请搜索 xyz$。或者要搜索以数字开头,后跟一个或多个字符的值,请搜索 [0-9]+.*

注意

只有客户端筛选条件上的关键字搜索和属性搜索支持正则表达式搜索。API 筛选条件上的属性搜索不支持它。

区分大小写搜索

要使用区分大小写搜索功能,必须在 Preferences(首选项)窗口中选择 Use case sensitive matching(使用区分大小写的匹配)复选框。区分大小写的首选项仅适用于客户端筛选条件和标签筛选条件。

注意

API 筛选条件始终区分大小写。

通配符搜索

使用 * 通配符匹配零个或多个字符。使用 ? 通配符匹配零个或一个字符。例如,假设您有一个包含值 prodprods、和 production 的数据集,搜索 prod* 将会匹配所有值,而 prod? 只匹配 prodprods。要使用文字值,请使用反斜杠(\)进行转义。例如,“prod\*”将匹配 prod*

注意

仅 API 筛选条件上的属性和标签搜索支持通配符搜索。客户端筛选条件上的关键词搜索以及属性和标签搜索不支持通配符。

合并搜索

通常,具有相同属性的多个筛选条件会自动以 OR 连接。例如,搜索 Instance State : RunningInstance State : Stopped 会返回正在运行或已停止的所有实例。要使用 AND 连接搜索,请跨不同的属性进行搜索。例如,搜索 Instance State : RunningInstance Type : c4.large 只会返回为类型为 c4.large 且处于运行状态的实例。

旧 Amazon EC2 控制台支持以下类型的搜索:

按关键字搜索

按关键字搜索是一种自由文本搜索,可让您在所有资源属性中搜索特定的值。要按关键字进行搜索,请在搜索框中输入或粘贴要查找的内容,然后按 Enter。例如,搜索 123 会匹配其任何属性(例如 IP 地址、实例 ID、VPC ID 或 AMI ID)中包含 123 的所有实例。如果自由文本搜索返回不需要的匹配项,请再应用其他筛选条件。

按属性搜索

按属性搜索可让您在所有资源中搜索特定属性。例如,您可以搜索所有实例的 State 属性,以便仅返回处于 stopped 状态的实例。要实现此目的,应按照以下步骤进行:

  1. 在“实例”屏幕上的搜索字段中,开始输入 Instance State。随着您的输入,页面上会显示匹配属性的列表。

  2. 从列表中选择 Instance State (实例状态)。此时页面上会显示所选属性的可能值列表。

  3. 从列表中选择 Stopped

您可以使用以下技术来增强或优化搜索:

反向搜索

反向搜索可让您搜索与指定的值匹配的资源。反向搜索是通过在搜索关键字前面加上感叹号 (!) 字符来执行的。例如,如果要列出所有终止的实例,请按 Instance State 属性进行搜索,然后输入关键字 !Terminated

部分搜索

使用部分搜索,可以搜索部分字符串值。要执行部分搜索,请仅输入要搜索的关键字的一部分。例如,要搜索所有 t2.microt2.smallt2.medium 实例,请按 Instance Type 属性进行搜索,然后输入关键字 t2

正则表达式搜索

当需要匹配字段中具有特定模式的值时,可以使用正则表达式。例如,如果要搜索具有以 s 开头的属性值的所有实例,请搜索 ^s。或者要搜索具有以 xyz 结尾的属性值的所有实例,请搜索 xyz$。正则表达式搜索不区分大小写。

合并搜索

通常,具有相同属性的多个筛选条件会自动以 OR 连接。例如,搜索 Instance State : RunningInstance State : Stopped 会返回正在运行或已停止的所有实例。要使用 AND 连接搜索,请跨不同的属性进行搜索。例如,搜索 Instance State : RunningInstance Type : c4.large 只会返回为 c4.large 且处于停止状态的实例。

使用 CLI 和 API 列出并筛选

每个资源类型都有相应的 CLI 命令和 API 操作,您可用来列出该类型的资源。生成的资源列表可能很长,因此筛选结果以仅包括符合特定条件的资源可能会更快、更有用。

筛选注意事项

  • 您可以在单一请求中指定多个筛选条件和多个筛选条件值。

  • 您可以将通配符与筛选值一同使用。星号 (*) 匹配零个或多个字符,而问号 (?) 匹配零个或一个字符。

  • 筛选值区分大小写。

  • 您的搜索中可包含通配符的字面值;您只需要在字符前用反斜线隔开字符。例如,用 \*amazon\?\\ 值搜索文字字符串 *amazon?\

支持的筛选条件

要查看每个 Amazon EC2 资源支持的筛选条件,请参阅以下文档:

例 示例:指定单个筛选条件

您可以使用 describe-instances 实例列出您的 Amazon EC2 实例。如果没有筛选条件,响应将包含您的所有资源的信息。您可以使用以下命令在输出中仅包含正在运行的实例。

aws ec2 describe-instances --filters Name=instance-state-name,Values=running

要仅列出正在运行的实例的实例 ID,请按如下方式添加 --query 参数。

aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query "Reservations[*].Instances[*].InstanceId" --output text

下面是示例输出。

i-0ef1f57f78d4775a4 i-0626d4edd54f1286d i-04a636d18e83cfacb

例 示例:指定多个筛选条件或筛选条件值

如果指定多个筛选条件或多个筛选条件值,则资源必须与所有筛选条件匹配才能包括在结果中。

您可以使用以下命令列出类型为 m5.largem5d.large 的所有实例。

aws ec2 describe-instances --filters Name=instance-type,Values=m5.large,m5d.large

您可以使用以下命令列出类型为 t2.micro 的所有已停止实例。

aws ec2 describe-instances --filters Name=instance-state-name,Values=stopped Name=instance-type,Values=t2.micro

例 示例:在筛选条件值中使用通配符

如果在使用 describe-snapshots 描述 EBS 快照时将 database 指定为 description 筛选条件的筛选条件值,则该命令将仅返回描述为“database”的快照。

aws ec2 describe-snapshots --filters Name=description,Values=database

* 通配符可与零个或多个字符匹配。如果将 *database* 指定为筛选条件值,则该命令将仅返回其描述包含“database”一词的快照。

aws ec2 describe-snapshots --filters Name=description,Values=*database*

? 通配符完全匹配 1 个字符。如果指定 database? 作为筛选条件值,该命令将仅返回描述为“database”或“database”后跟一个字符的快照。

aws ec2 describe-snapshots --filters Name=description,Values=database?

如果指定 database????,该命令将仅返回其描述为“数据库”后跟最多四个字符的快照。它不包括带有“数据库”后跟五个或更多字符的说明。

aws ec2 describe-snapshots --filters Name=description,Values=database????

例 示例:基于日期进行筛选

使用 AWS CLI,您可以使用 JMESPath 通过表达式来筛选结果。例如,以下 describe-snapshots 命令显示您的 AWS 账户在指定日期(由 2020-03-31 表示)之前创建的所有快照的 ID(由 123456789012 表示)。如果未指定所有者,则结果将包括所有公有快照。

aws ec2 describe-snapshots --filters Name=owner-id,Values=123456789012 --query "Snapshots[?(StartTime<='2020-03-31')].[SnapshotId]" --output text

以下命令显示在指定日期范围内创建的所有快照的 ID。

aws ec2 describe-snapshots --filters Name=owner-id,Values=123456789012 --query "Snapshots[?(StartTime>='2019-01-01') && (StartTime<='2019-12-31')].[SnapshotId]" --output text

基于标签进行筛选

有关如何根据资源标签筛选资源列表的示例,请参阅通过命令行使用标签

使用 Amazon EC2 全局视图列出和筛选跨区域的资源

通过 Amazon EC2 全局视图,您可以在单个控制台中跨单个 AWS 区域或跨多个区域查看一些 Amazon EC2 和 Amazon VPC 资源。使用 Amazon EC2 全局视图,您可以查看跨已启用 AWS 账户的所有区域的所有 VPC、子网、实例、安全组和卷的摘要。Amazon EC2 全局视图还提供 global search(全局搜索)功能,让您能同时搜索多个区域中的特定资源或特定资源类型。

Amazon EC2 全局视图不允许您以任何方式修改资源。

所需权限

IAM 用户必须具有以下权限才能使用 Amazon EC2 全局视图。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeVpcs", "ec2:DescribeRegions", "ec2:DescribeVolumes", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }] }

使用 Amazon EC2 全局视图

通过以下网址打开 Amazon EC2 全局视图控制台:https://console.aws.amazon.com/ec2globalview/home

控制台由两个选项卡组成:

  • Region explorer(区域资源管理器) — 此选项卡包括以下各节:

    • Resource summary(资源摘要) — 高度概述了所有区域资源的情况。

      Enabled Regions(启用的区域)表示已启用您的 AWS 账户的区域数量。剩余字段表示您当前在这些区域中拥有的资源数量。选择任何链接以查看所有区域该类型的资源。例如,如果 Instances(实例)标签以下的链接是 29 in 10 Regions(10 个区域中的 29 个),它表示您当前在 10 个区域有 29 个实例。选择该链接以查看所有 29 个实例的列表。

    • Resource counts per Region(每个区域的资源数) — 列出所有 AWS 区域(包括未启用您的账户的区域),并提供每个区域每种资源类型的总计。

      选择区域名称,以查看该特定区域所有类型的所有资源。例如,选择 Africa (Cape Town) af-south-1(非洲(开普敦)af-south-1)可查看该区域中的所有 VPC、子网、实例、安全组和卷。或者,选择一个区域,然后选择 View resources for selected Region(查看所选区域的资源)。

      选择特定区域中特定资源类型的值,以便仅查看该区域中该类型的资源。例如,选择 Africa (Cape Town) af-south-1(非洲(开普敦)af-south-1)实例的值,以仅查看该区域中的实例。

  • Global search(全局搜索) — 使用此选项卡,您可以在单个区域或跨多个区域搜索特定资源或特定资源类型。它还使您能够查看特定资源的详细信息。

    要搜索资源,请在网格前面的字段中输入搜索条件。您可以按区域、按资源类型以及按分配给资源的标签进行搜索。

    要查看特定资源的详细信息,请在网格中选中。您也可以选择资源的资源 ID,以在各自的控制台中打开该资源。例如,选择实例 ID 以在 Amazon EC2 控制台中打开实例,或选择子网 ID 以在 Amazon VPC 控制台中打开子网。