本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自动清点多个账户和地区的 AWS 资源
Matej Macek,Amazon Web Services
Summary
这种模式概述了一种自动化方法,用于维护多个帐户的全面 AWS 资源清单,以及 AWS 区域. 它旨在帮助基础设施和安全工程师改善其资源管理实践。它用于跟踪资源变化,Amazon Athena 用于查询,Amazon Quick Sight 用于跟踪 AWS Config 交互式仪表板。您可以通过部署 AWS CloudFormation 堆栈来实现此解决方案。
此解决方案与使用 Amazon Athena 和 Amazon Qu AWS ick Sight 可视化 AWS Config 数据(博
聚焦合规性 – 这种方法可以帮助您满足监管要求,例如 PCI DSS
、NIST SP 800-53 、ISO/IEC 27001 、HIPAA 、GDPR 以及其他要求准确资产库存的监管要求。 自定义框架 — 它为为各种 AWS 资源创建 Quick Sight 仪表板提供了基础,因此您可以根据自己的特定要求自定义解决方案。
以用户为导向的增强功能 – 这种方法结合了来自实际使用案例的反馈,并满足了对更全面解决方案的要求。
在动态、多账户或多区域环境中,基础设施、安全和财务团队经常面临可见性和协作方面的挑战。此解决方案旨在解决这些难题,并显著减少创建和维护资源清单所需的时间和精力。结果获得资源的集中视图,它可帮助您改进资源分配决策,识别和降低风险,优化成本,并改善整体可见性和协作。这种方法弥合了概念性解决方案与实际实施需求之间的差距,以实现安全、合规和运营目的。
先决条件和限制
先决条件
以下活跃 AWS 账户:
管理账户 - 用于在整个组织内计费、创建账户和控制访问权限的集中账户
审计账户 – 用于安全监控、合规性检查和偏差通知的集中式中心
日志存档账户 – 用于存储和分析所收集数据的集中账户
在审计账户中,一种 AWS Config 聚合器,用于收集和汇总来自目标账户和地区的配置数据
在日志存档账户中,设置以下内容:
部署预置以下资源的 CloudFormation 堆栈的权限:
一个 AWS Lambda 函数
Amazon S3 通知配置
Athena 数据库、表和视图
Quick Sight 数据集和数据源
在中运行自动化的权限 AWS Systems Manager
Quick 访问权限
限制
解决方案依赖于 AWS Config。 AWS Config 通常会在检测到更改后立即或按您指定的频率记录对资源的配置更改。但是,这需要尽最大努力,有时可能需要更长的时间。
此解决方案仅跟踪AWS Config 支持的资源类型。
该解决方案不跟踪其他云提供商或本地环境中的资源库存。
有些 AWS 服务 并非全部可用 AWS 区域。有关区域可用性,请参阅 AWS 文档中的服务终端节点和配额页面,然后选择该服务的链接。
架构
下图显示了收集、组织、分析和可视化组织中多个账户的配置和合规性数据的简化流程。 AWS

下图显示了如下工作流:
AWS Config 聚合器定期收集有关目标账户和区域中资源的配置和合规性数据,然后将这些数据传输到日志存档账户中的 Amazon S3 存储桶。
向 Amazon S3 存储桶添加新 AWS Config 数据会调用一个 AWS Lambda 函数。
Lambda 函数通过配置与每个快照文件的区域和日期相对应的键-值来对数据进行分区。这有助于 AWS Glue 有效地查询和处理配置和合规性数据。
Amazon Athena 使用架构 AWS Glue 对存储在 Amazon S3 存储桶中的数据运行 SQL 查询。它利用中的架构元数据 AWS Glue 来理解数据的结构。
Athena 中的视图定义和提取目标数据集。
Quick Sight 中的@@ 仪表板可帮助您可视化和分析数据集。
工具
AWS 服务
Amazon Athena 是一种交互式查询服务,它可帮助您通过使用标准 SQL 直接在 Amazon S3 中分析数据。
AWS CloudFormation帮助您设置 AWS 资源,快速一致地配置资源,并在和的整个 AWS 账户 生命周期中对其进行管理 AWS 区域。
AWS Config提供了您的资源 AWS 账户 及其配置方式的详细视图。它可以帮助您确定资源之间的相互关系,以及它们的配置如何随时间变化。 AWS Config 聚合器从多个 AWS 账户 区域收集 AWS Config 配置和合规性数据。
AWS Glue 是一项完全托管式提取、转换、加载(ETL)服务。它可以帮助您在数据存储和数据流之间对数据进行可靠地分类、清理、扩充和移动。此模式使用 AWS Glue 数据目录和架构注册表。
AWS Lambda 是一项计算服务,可帮助您运行代码,无需预调配或管理服务器。它只在需要时运行您的代码,并自动进行扩展,因此您只需为使用的计算时间付费。
AWS Organizations是一项账户管理服务,可帮助您将多个账户整合 AWS 账户 到一个由您创建和集中管理的组织中。
Amazon Quick Sight 是一项商业智能 (BI) 服务,可通过交互式可视化、仪表板和报告帮助您将原始数据转化为有意义的见解。Quick Sight 是 Amazon Quick 的核心组件。
Amazon Simple Storage Service(Amazon S3)是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。
AWS Systems Manager 可帮助您管理在 AWS Cloud中运行的应用程序和基础设施。它简化了应用程序和资源管理,缩短了检测和解决操作问题的时间,并帮助您大规模安全地管理 AWS 资源。AWS Systems Manager 自动化简化了许多人的常见维护、部署和补救任务 AWS 服务。
代码存储库
此模式的 AWS CloudFormation 模板可在可AWS Config 视化
最佳实践
我们建议您遵循设置和管理安全的多账户 AWS 环境中的最佳实践,而不是 AWS 规范 AWS Control Tower性指导。
我们建议您创建一个 AWS Config 聚合器来收集整个 AWS 组织的配置和合规性数据。有关更多信息,请参阅文档中的多账户多区域数据聚合。 AWS Config
在部署此解决方案之前,我们建议您查看 A mazon S3 AWS Config
、Athena 和 Quick 的当前定价信息。
操作说明
| Task | 说明 | 所需技能 |
|---|---|---|
下载 CloudFormation 模板。 | 下载 Config-Visualizat ion QuickSight-SSM-Automation.yaml 模板 | AWS 管理员、云管理员、 DevOps 工程师 |
修改 CloudFormation 模板。 | 只有当你正在使用AWS Control Tower
| DevOps 工程师,AWS 管理员 |
创建堆 CloudFormation 栈。 | 按照从 CloudFormation 控制台创建堆栈中的说明进行操作。注意以下几点:
| AWS 管理员、云管理员、 DevOps 工程师 |
| Task | 说明 | 所需技能 |
|---|---|---|
找到您的快捷用户名。 |
| AWS 管理员、云管理员、 DevOps 工程师 |
查找传输通道名称和 Amazon S3 存储桶名称。 |
| AWS 管理员、云管理员、 DevOps 工程师 |
在 Systems Manager 中运行自动化。 |
| AWS 管理员、云管理员、 DevOps 工程师 |
| Task | 说明 | 所需技能 |
|---|---|---|
刷新数据。 | 要根据您的特定要求安排数据集刷新,请按照刷新 SPICE 数据中的说明操作。 | AWS 管理员、 DevOps 工程师、云管理员 |
创建分析。 | 要在 Quick Sight 中创建可帮助您可视化资源的仪表板,请按照在 Quick Sight 中开始分析中的说明进行操作。 | 快速套件管理员 |
创建控制面板。 | 快速套件管理员 |
| Task | 说明 | 所需技能 |
|---|---|---|
删除 Systems Manager 自动化创建的资源。 |
| AWS 管理员、云管理员、 DevOps 工程师 |
删除 CloudFormation 堆栈。 | 要删除 | AWS 管理员、云管理员、 DevOps 工程师 |
问题排查
| 问题 | 解决方案 |
|---|---|
Amazon Quick 正在尝试连接到 | 一项服务控制政策限制您在该地区订阅 Amazon Quick。在服务控制策略中,手动指定目标 AWS 区域。将
以下是示例:
|
在 Amazon Athena 中,您会遇到以下消息:
| 确保您已准备了一个 Amazon S3 存储桶,用于存储 Amazon Athena 的查询结果。然后按照使用 Amazon Athena 控制台指定查询结果位置中的说明操作。 |
相关资源
AWS 文档
AWS 博客文章
其他资源