概览

Workload Discovery on AWS(前身为 AWS Perspective)是一种可对 AWS Cloud 工作负载进行可视化的工具。使用 Workload Discovery on AWS 构建、自定义,以及分享您的工作负载的详细架构图,这些工作负载基于来自 AWS 的实时数据。
右侧的图像是 Workload Discovery on AWS 生成的示例架构图。
优势

Workload Discovery on AWS 让您可以构建、自定义和共享详细的架构图。 Workload Discovery on AWS 可以在您的账户和区域间维护一份 AWS 资源清单,映射它们之间的关系,并在 Web UI 中显示它们。
成本查询生成器让您可以定位可能产生成本的 AWS 资源和服务。针对特定时段将自动计算预计成本数据,并在您的架构图中显示。
您可以为您的架构图生成成本报告,其中包含预计成本的概述,您还可以将其导出为 CSV。
搜索功能让您可以使用基本信息(例如资源名称、标签名称或 IP 地址)来查找您感兴趣的资源。
使用资源目录探索在您的账户和区域中预置的资源。其中包含 Workload Discovery on AWS 发现的所有资源。您可以通过在 Web UI 中选择一种资源来开始构建您的 Workload Discovery on AWS 架构图。
您可以保存 Workload Discovery on AWS 架构图以便稍后重新查看,或者与其他 Workload Discovery on AWS 用户分享它。要在 Workload Discovery on AWS 之外使用架构图,您可以导出至 PNG、JSON、CSV 或 draw.io 格式。
技术详情

下图展示了无服务器架构,可以使用该解决方案实施指南和随附的 AWS CloudFormation 模板自动部署该架构,或者使用 CDK 部署模型部署该架构。
第 1 步
来自 Amazon CloudFront 发行版的每个响应的 HTTP 严格传输安全性(HSTS)安全标头。
第 2 步
Amazon Simple Storage Service (Amazon S3) 存储桶托管 Web 用户界面(web UI),它通过 Amazon CloudFront 进行分发。Amazon Cognito 会对 Web UI 的用户访问进行身份验证。
第 3 步
为存储管理组件部署 AWS Amplify 和 Amazon S3 存储桶,以便存储用户首选项和已保存的架构图。
第 4 步
AWS AppSync 端点允许 Web UI 组件请求资源关系数据、查询成本、导入新的 AWS 区域,以及更新首选项。它还允许发现组件将持久数据存储在解决方案的数据库中。
第 5 步
AWS AppSync 使用由 Amazon Cognito 预置的 JSON Web 令牌(JWT),以便对每次请求进行身份验证。
第 6 步
AWS Lambda 函数设置会将已导入的区域和其他配置保留到 Amazon DynamoDB。
第 7 步
数据组件采用 Gremlin Resolver Lambda 函数来查询数据并将其从 Amazon Neptune 数据库返回。
第 8 步
数据组件使用 Search Resolver Lambda 函数来查询资源数据并将其保留到 Amazon OpenSearch Service 域。
第 9 步
成本 Lambda 函数使用 Amazon Athena 来查询 AWS 成本和使用情况报告(AWS CUR),以向 Web UI 提供预计成本数据。
第 10 步
Amazon Athena 在 AWS CUR 上运行查询。
第 11 步
AWS CUR 将报告传送到 CostAndUsageReportBucket Amazon S3 存储桶。
第 12 步
成本 Lambda 函数将 Amazon Athena 结果存储在 AthenaResultsBucket Amazon S3 存储桶中。
第 13 步
AWS CodeBuild 在映像部署组件中构建发现组件容器映像。
第 14 步
Amazon Elastic Container Registry (Amazon ECR) 包含由镜像部署组件提供的 Docker 映像。
第 15 步
Amazon Elastic Container Service (Amazon ECS) 管理 AWS Fargate 任务,并提供运行任务所需的配置。AWS Fargate 每隔 15 分钟会运行一次容器任务,以刷新清单和资源数据。
第 17 步
AWS Fargate 任务通过对 AppSync API 的 API 调用将 AWS Config 和 AWS 开发工具包调用的结果保存到 Amazon Neptune 数据库和 Amazon OpenSearch Service 域中。