亚马逊AWS官方博客

AWS 资源管理器简介 – 快速查找您 AWS 账户中的资源

寻找特定 Amazon Elastic Compute Cloud(Amazon EC2)实例、Amazon Elastic Container Service(Amazon ECS)任务或 Amazon CloudWatch 日志组可能需要一些时间,尤其是当您有很多资源并且可以使用多个 AWS 区域时。

今天,我们将简化这一过程。借助新的 AWS 资源管理器,您可以使用名称、标签和 ID 等元数据跨区域搜索账户中的所有 AWS 资源。当您在 AWS 管理控制台中查找资源时,可以快速从搜索结果转到相应的服务控制台和区域,以开始使用该资源。同样,您也可以使用 AWS 命令行界面(CLI)或任何 AWS SDK 在自动化工具中查找资源。

我们来看看这些步骤的实际操作。

使用 AWS 资源管理器
要开始使用资源管理器,我需要将其打开,以便它创建和维护索引,从而快速响应我的搜索查询。通常,这些步骤由账户管理员执行,以便该账户中的授权用户可以开始搜索。

要运行查询,我需要一个可以访问索引的视图。如果视图使用聚合索引,则查询可以在所有编入索引的区域中进行搜索。

聚合索引图。

如果视图使用本地索引,则查询只能访问该区域中的资源。

本地索引图。

我可以通过创建视图来控制账户中资源的可见性,这些视图定义了哪些资源信息可供搜索和发现。这些控制不仅针对资源,还针对资源带来的信息。例如,我可以授予对所有资源的 Amazon 资源名称(ARN)的访问权限,但不允许访问它们的标签,因为这些标签可能包含我希望保密的信息。

资源管理器控制台中,我选择了 Enable Resource Explorer(启用资源资源管理器)。然后,我选择 Quick setup(快速设置)选项,以查看我的账户中所有受支持的资源。此选项会在所有区域中创建本地索引,并在所选区域中创建聚合索引。还会在聚合索引所在的同一区域中创建带有过滤器的默认视图,该视图包含账户中所有受支持的资源。

控制台屏幕截图。

使用 Advanced setup(高级设置)选项,我可以访问更精细的控件,这些控件在有特定管理要求时很有用。例如,我可以选择在哪些区域创建索引。我可以选择不将资源信息复制到任何其他区域,以便只能从同一个区域内搜索每个 AWS 区域中的资源。我还可以控制默认视图中提供的信息,或者避免创建默认视图。

选择 Quick setup(快速设置)选项后,我选择 Go to Resource Explorer(转到资源管理器)。简要概述会显示跨区域启用资源管理器的进度。创建索引后,为所有受支持的资源编制索引最多可能需要 36 小时,在此之前搜索结果可能不全面。创建或删除资源时,您的索引会自动更新。这些更新是异步的,因此可能需要一些时间(通常是几分钟)才能看到更改。

使用 AWS 资源管理器进行搜索
为资源编制索引后,我选择 Proceed to resource search(继续搜索资源)。在 Search criteria(搜索条件)中,我选择要使用的 View(视图)。目前,我选择了默认视图。然后,我开始在 Query(查询)字段中键入内容,跨所有区域搜索我 AWS 账户中的所有资源。例如,我有一个应用程序,在这个应用程序中,我按照约定将 my-app 作为资源名称开头。对于我手动创建的资源,我还添加了值为 MyAppProject(项目)标签。

要找到此应用程序的资源,我首先搜索 my-app

控制台屏幕截图。

结果包括来自多个服务和区域的资源,以及来自 AWS Identity and Access Management(IAM)的全球资源。我有来自 Amazon ECS 的服务、任务和任务定义,来自 AWS IAM 的角色和策略,以及来自 CloudWatch 的日志组。或者,我也可以按区域或资源类型筛选结果。如果我选择任何列出的资源,该链接将带我进入相应的服务控制台和选定资源所在的区域。

控制台屏幕截图。

要在欧洲地区(爱尔兰)等特定区域查找内容,我可以通过在查询中添加 region:eu-west-1 来限制结果。

控制台屏幕截图。

我可以通过在查询中添加 service:ecs 进一步将结果限制为 Amazon ECS 资源。现在我只能看到欧洲地区(爱尔兰)的 ECS 集群、服务、任务和任务定义。这就是我一直在寻找的任务定义!

控制台屏幕截图。

我也可以使用标签进行搜索。例如,我可以通过在查询中包含 tag.value:MyApp,查看我为其添加了 MyApp 标签的资源。要指定标签的实际键值对,我可以使用 tag:Project=MyApp

控制台屏幕截图。

创建自定义视图
有时,您需要控制账户中资源的可见性。例如,我的账户中用于开发的所有 EC2 实例都在美国西部(俄勒冈州)。我为开发团队创建了一个视图,方法是选择特定区域(us-west-2),然后在查询中使用 service:ec2 来筛选结果。或者,我也可以根据资源名称或标签进一步筛选结果。例如,我可以添加 tag:Environment=Dev,以仅查看被标记为位于开发环境中的资源。

控制台屏幕截图。

现在,我允许开发团队使用的用户和角色访问此视图。为此,我可以将基于身份的策略附加到开发团队的用户和角色。这样,他们只能使用此视图浏览和搜索资源。

控制台屏幕截图。

AWS 管理控制台中的统一搜索
开启资源管理器后,我还可以在管理控制台顶部的搜索栏中搜索我的所有 AWS 资源。我们将此功能称为统一搜索,因为它提供的结果包括 AWS 服务、功能、博客、文档、教程和活动等。

为了将搜索重点放在 AWS 资源上,我在搜索的开头添加 /Resources

控制台屏幕截图。

请注意,统一搜索会自动在字符串中第一个关键字的末尾插入通配符(*)。这意味着,统一搜索结果包含与以指定关键字开头的任何字符串匹配的资源。

控制台屏幕截图。

在资源管理器控制台的 Resource search(资源搜索)页面上,通过 Query(查询)文本框执行的搜索不会自动附加通配符,但我可以在搜索字符串中的任何搜索词后手动添加通配符,以获得相似的结果。

当我在包含聚合索引的同一区域中有默认视图时,就可以使用统一搜索。要查看我是否可以使用统一搜索,可以查看 Settings(设置)页面的顶部。

控制台屏幕截图。

可用性和定价
您可以立即通过全局控制台,以及 AWS 命令行界面(CLI)AWS SDK 开始使用 AWS 资源管理器。使用 AWS 资源管理器无需额外付费。使用资源管理器可以更快找到所需资源,并在自动化流程及其服务控制台中使用它们。

使用 AWS 资源管理器在您使用的所有区域中发现和访问您的 AWS 资源。

Danilo