本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是 DevOps 代理拓扑?
AWS DevOps Agent's 会自动发现和可视化应用程序中的资源和关系,并在事件调查和提出预防性建议时使用生成的拓扑来了解您的基础架构。
拓扑图是如何创建的
AWS DevOps Agent 通过几个自动化流程生成拓扑图:
资源发现 — 代理会自动扫描您的 AWS 帐户,以识别作为应用程序一部分的资源,例如计算实例、存储服务、网络组件和数据库。
关系检测-代理分析配置数据、 CloudFormation 堆栈和资源标签,以确定资源如何相互关联。
代码和部署映射-连接到 CI/CD 管道时,代理会将基础架构资源链接回其部署流程以及更改的应用程序和基础架构代码。
可观察性行为映射 — 来自可观测性系统(例如 Amazon CloudWatch 应用程序信号和 Dynatrace)的数据用于识别观察到的表明资源之间关系的行为。
关键功能
资源映射提供了多种增强事件调查和预防的功能:
交互式可视化 — 通过操作员 Web 应用程序中的交互式图表探索您的应用程序拓扑。您可以缩放和浏览拓扑以了解资源之间的复杂关系。您也可以使用 Chat 使用自然语言查询拓扑信息,例如 “向我显示连接到此 DynamoDB 表的所有 Lambda 函数” 或 “此警报会影响哪些资源?”。
情境调查 — 在事故调查期间,资源拓扑结构可协助 AWS DevOps 代理识别受影响的组件,了解爆炸半径,并跟踪系统中的撞击路径。
根本原因分析 — 对资源关系的详细了解有助于查明问题的根源,即使在具有许多相互依赖关系的复杂分布式系统中也是如此。
影响评估 — 在分析事件时,代理可以通过识别拓扑中的依赖链来更好地确定哪些下游服务可能受到影响。
预防性建议 — 代理利用拓扑洞察力为弹性改进提出有针对性的建议,提出对系统稳定性影响最大的变更建议。
拓扑视图
Operator Web App 的 “拓扑” 页面中的拓扑可视化提供了多个详细级别:
L earden — 默认视图,由特工空间理解技能生成。显示按逻辑服务和请求路径组织的基础架构的结构化摘要。
系统-显示高级账户和区域边界。
容器-显示部署堆栈,例如包含相关资源的 CloudFormation 堆栈。
组件-显示容器内的各个组件及其关系。
所有资源-显示包含所有已发现资源及其关系的完整视图。
资源发现
通过两种方法发现资源:
CloudFormation 堆栈 — 代理列出主 AWS 账户和所有关联的辅助账户中的所有 CloudFormation 堆栈及其资源。任何 CloudFormation 用于部署的 infrastructure-as-code工具(包括 C AWS loud Development Kit (AWS CDK))都支持此功能。
资源浏览器-对于未从中部署的资源 CloudFormation,将从资源浏览器中发现带标签的 AWS 资源。目标 AWS 账户必须启用资源浏览器。这对于识别通过 AWS 管理控制台 APIs、 AWS 服务或其他 infrastructure-as-code框架部署的资源的应用程序边界非常有用。
拓扑以外的调查范围
虽然应用程序拓扑在调查期间提供了重要的上下文,但 A AWS DevOps gent 不仅限于调查拓扑中显示的资源。代理可以使用其他数据源(例如 AWS 服务 APIs 或连接的可观测性工具)来调查不在应用程序拓扑中的资源。
要限制代理可以访问的资源,请将分配给代理的角色的策略限制为访问跨账户资源。有关更多信息,请参阅 限制 AWS 账户中的代理访问权限。
拓扑和座席空间理解技能
拓扑图将输入到Agent Space理解所学技能中,该技能对基础架构的结构化摘要进行编码,以供调查期间使用。完成新代理空间的拓扑发现后,系统会自动生成座席空间理解技能。有关所学技能的更多信息,请参阅学到的技能。