本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是 DevOps 代理拓扑?
AWS DevOps Agent's 会自动发现和可视化应用程序中的资源和关系,并在事件调查和提出预防性建议时使用生成的拓扑来了解您的基础架构。
拓扑图是如何创建的
AWS DevOps 代理通过多个自动化过程生成拓扑图:
资源发现 — 代理会自动扫描您的 AWS 账户,以识别作为应用程序一部分的计算实例、存储服务、网络组件和数据库等资源。
关系检测 -代理分析配置数据、 CloudFormation 堆栈和资源标签,以确定资源之间的关系。
代码和部署映射 -连接到 CI/CD 管道时,代理会将基础架构资源链接回其部署流程以及更改后的应用程序和基础架构代码。
可观测性行为映射 — 来自亚马逊 CloudWatch 应用程序信号和Dynatrace等可观测性系统的数据用于识别观察到的行为,这些行为表明了资源之间的关系。
关键功能
资源映射提供了多种增强事件调查和预防的功能:
交互式可视化 — 通过运营商 Web 应用程序中的交互式图表探索您的应用程序拓扑。您可以缩放和浏览拓扑结构以了解资源之间的复杂关系。您还可以使用 Chat 使用自然语言查询拓扑信息,例如 “向我显示连接到此 DynamoDB 表的所有 Lambda 函数” 或 “此警报影响了哪些资源?”。
情境调查 — 在事件调查期间, AWS DevOps Agent 在资源拓扑的协助下识别受影响的组件、了解爆炸半径并追踪系统中的冲击路径。
根本原因分析 — 对资源关系的详细了解有助于查明问题的根源,即使在具有许多相互依赖关系的复杂分布式系统中也是如此。
影响评估 — 在分析事件时,代理可以通过识别拓扑结构中的依赖链来更好地确定哪些下游服务可能受到影响。
预防性建议 — 该代理使用拓扑洞察力为弹性改进提出有针对性的建议,提出对系统稳定性影响最大的变更建议。
拓扑视图
操作员 Web 应用程序的拓扑页面中的拓扑可视化提供了多个详细级别,分为 2 个类别:
学到了
学习的视图基于代理空间理解和管道拓扑存储器构建,并显示基础设施的结构化摘要。以下已知视图可用:
拓扑 -默认视图,基于 “代理空间理解” 内存构建。显示按逻辑服务和请求路径组织的基础架构的结构化摘要。
管道 -显示您的 CI/CD 管道拓扑,显示部署阶段、操作及其与基础架构资源的关系。仅当为代理空间生成管道拓扑时,此视图才可用。
其他
此视图基于原始资源发现数据,以不同的粒度级别显示您的基础架构:
系统 -显示高级账户和区域边界。
容器 -显示部署堆栈,例如包含相关 CloudFormation 资源的堆栈。
组件 -显示容器内的各个组件及其关系。
所有资源 -显示包含所有已发现资源及其关系的完整视图。
导出拓扑
您可以使用下载菜单从 Operator Web 应用程序的拓扑页面导出当前拓扑视图。有三种格式可供选择:
PNG — 当前显示的拓扑图的光栅图像,可用于在文档、票证或演示文稿中共享。
JSON — 拓扑资源和关系的结构化表示,您可以通过编程方式处理或存档。
美人鱼 — 以美人鱼网站上的美人鱼
图源表示的拓扑结构。你可以将其嵌入到 Markdown-based 文档中,也可以将其呈现到任何支持 Mermaid 的工具中。
导出会反映当前在 “显示” 菜单中选择的视图,因此您可以下载任何可用视图,例如 “系统”、“容器” 或 “组件”。
资源发现
资源是通过两种方法发现的:
CloudFormation 堆栈 -代理列出主 AWS 账户和所有关联的辅助账户中的所有 CloudFormation 堆栈及其资源。任何用于部署的基础设施即代码工具均支持此功能,包括 AWS 云开发套件 (CDK)。 CloudFormation AWS
资源管理器 -对于未从中部署的资源 CloudFormation,从资源管理器中发现带标签的 AWS 资源。目标 AWS 帐户必须启用资源管理器。这对于确定通过 AWS 管理控制台、 AWS 服务 API 或其他基础设施即代码框架部署的资源的应用程序边界很有用。
调查范围不局限于拓扑
虽然应用程序拓扑在调查期间提供了重要的上下文,但 AWS DevOps Agent 不仅限于调查拓扑中显示的资源。代理可以使用其他数据源,例如 AWS 服务 API 或互联的可观察性工具,来调查不在应用程序拓扑中的资源。
要限制代理可以访问的资源,请限制分配给代理的角色访问跨账户资源的策略。有关更多信息,请参阅 在... 中限制代理访问 AWS Account。
拓扑和代理空间了解内存
拓扑图为 Agent Space Undergening 内存提供信息,该内存包含基础架构的结构化摘要,供调查期间使用。当新代理空间的拓扑发现完成后, AWS DevOps 代理会自动生成 “代理空间理解” 内存。有关更多信息,请参阅 DevOps 特工记忆。