本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
借助 Amazon Bedrock 代理简化亚马逊 EC2 合规管理 AWS Config
Anand Bukkapatnam Tirumala,Amazon Web Services
Summary
此模式描述了如何将 Amazon Bedrock 与 AWS Config 规则集成,以促进亚马逊弹性计算云 (Amazon EC2) 实例的合规性管理。该方法使用先进的生成式人工智能功能,提供符合 AWS Well-Architected Framework 的定制化建议,从而确保选择最适合的实例类型以及提升系统效率。此模式的主要特点包括:
自动合规性监控: AWS Config 规则根据所需 EC2 实例类型的预定义标准持续评估实例。
AI 驱动的建议:Amazon Bedrock 中的生成式人工智能模型会分析基础设施模式。这些模型基于 Well-Architecte AWS d Framework 中概述的最佳实践,为改进提供了明智的建议。
修复:Amazon Bedrock 操作组支持自动化修复步骤,可快速处理不合规实例,并最大限度地减少潜在的性能问题或成本效率低下问题。
可扩展性与适应性:该解决方案的设计能够随基础设施的规模而扩展,并适应不断变化的云架构需求。
增强的安全建议:遵守 Well- AWS Architected 原则有助于改善安全状况和系统性能。
你可以使用这种模式作为蓝图,根据需要使用 DevOps 实践,将你自己的基于人工智能的生成式基础设施部署到多个环境中,只需进行最少的更改。
先决条件和限制
先决条件
活跃 AWS 账户的.
一个 AWS Identity and Access Management (IAM) 角色,有权在亚马逊简单存储服务 (Amazon S3) Simple Storage Service 存储桶 AWS Config、 AWS Lambda 函数、Amazon Bedrock、IAM、Amazon L CloudWatch ogs 和亚马逊中创建和管理资源。 EC2
要标记为不合规的 EC2 实例。请勿为该实例使用
t2.small类型。Amazon Titan 文本嵌入 V2 和 Anthropic Claude 3 Haiku 模型已在你的版本中启用。 AWS 账户要在部署解决方案的 AWS 区域 位置启用模型访问权限,请参阅 Amazon Bedrock 文档中的添加或删除对 Amazon Bedrock 基础模型的访问权限。
Terraform
,已安装并配置。 在部署环境中已安装并配置 AWS Command Line Interface (AWS CLI)v2。
已完成对 Amazon 负责任的人工智能政策
的审阅。
限制
有些 AWS 服务 并非全部可用 AWS 区域。有关区域可用性,请参阅按区域划分的AWS 服务
。有关特定端点,请参阅服务端点和配额,然后选择相应服务的链接。 该解决方案已使用 Amazon Titan 文本嵌入 V2 和 Claude 3 Haiku 模型进行了测试。如果您希望使用其他模型,则可以自定义 Terraform 代码,该代码经过参数化处理,便于更改。
此解决方案不包括聊天记录功能,也不会存储聊天记录。
架构
下图显示了此模式的工作流和架构组件。

该工作流由以下步骤组成:
用户通过 Amazon Bedrock 聊天控制台与该模型进行交互。用户会提出如下问题:
What can you help me with?List non-complaint resourcesSuggest security best practices
如果模型经过预训练,则会根据现有知识直接响应提示。否则,提示将转到 Amazon Bedrock 操作组。
该操作组使用 AWS PrivateLink
访问用于安全服务通信的 VPC 端点。 该请求通过 Amazon Bedrock 服务的 VPC 端点传递至 Lambda 函数。
Lambda 函数是主要的执行引擎。根据请求,该函数调用 API 以对 AWS 服务执行操作。该函数还处理操作的路由和执行。
Lambda 函数调用 AWS Config 以确定不合规的资源(您作为先决条件创建的不合规 EC2 实例)。
AWS Config 标记非投诉资源。此模式部署 AWS Config desired-instance-type规则以找到理想的 EC2 实例大小。
AWS Config 提示用户暂停或修复实例,并对实例采取相应的操作。 EC2 Amazon Bedrock 能够解析此返回的有效载荷。
用户会在 Amazon Bedrock 聊天控制台中收到响应。
自动化和扩展
该解决方案使用Terraform作为基础设施即代码(IaC)工具,可以轻松部署到多个账户, AWS 账户 并作为独立实用程序在多个账户中运行。这种方法简化了管理流程,并提高了部署的一致性。
工具
AWS 服务
AWS Config使您能够评估、审核和评估 AWS 资源配置的合规性和所需设置。
Amazon Bedrock 是完全托管式人工智能服务,通过统一的 API 提供对多个高性能基础模型的访问权限。
AWS Identity and Access Management (IAM) 通过控制谁经过身份验证并有权使用您的 AWS 资源,从而帮助您安全地管理对这些资源的访问。
AWS Lambda 是一项计算服务,可帮助您运行代码,无需预调配或管理服务器。它只在需要时运行您的代码,并自动进行扩展,因此您只需为使用的计算时间付费。
其他工具
代码存储库
此模式的代码可在 GitHub sample-awsconfig-bedrock-compliance-manager
最佳实践
遵循最低权限原则,并授予执行任务所需的最低权限。有关更多信息,请参阅 IAM 文档中的授予最低权限以及安全最佳实践和使用案例。
定期监控 Lambda 执行日志。有关更多信息,请参阅 Lambda 文档中的监控、调试和疑难解答 Lambda 函数以及使用 AWS Lambda 函数的最佳实践。
操作说明
| Task | 说明 | 所需技能 |
|---|---|---|
克隆存储库。 | 要克隆此模式的存储库,请使用以下命令:
| AWS DevOps、构建主管、 DevOps 工程师、云管理员 |
编辑环境变量。 | 在本地计算机上的克隆存储库的根目录中,编辑 | AWS 系统管理员、AWS DevOps、 DevOps 工程师、AWS 管理员 |
创建基础设施。 |
| AWS DevOps, DevOps 工程师,AWS 系统管理员,云管理员 |
| Task | 说明 | 所需技能 |
|---|---|---|
与代理聊天 | 在上一步骤中部署解决方案时,会同时部署 使用此代理:
| AWS DevOps, DevOps 工程师,AWS 系统管理员,云管理员 |
| Task | 说明 | 所需技能 |
|---|---|---|
删除基础设施和资源。 | 完成该解决方案相关的工作后,可通过执行以下命令删除此模式创建的基础设施:
| AWS DevOps, DevOps 工程师,AWS 系统管理员,云管理员 |
问题排查
| 问题 | 解决方案 |
|---|---|
代理行为问题 | 有关问题排查信息,请参阅 Amazon Bedrock 文档中的测试代理行为并进行问题排查。 |
AWS Lambda 网络问题 | 有关更多信息,请参阅 Lambda 文档中的 Lambda 中的联网问题疑难解答。 |
IAM 权限 | 有关更多信息,请参阅 IAM 文档中的排查 IAM 问题。 |
相关资源
使用操作组定义代理要执行的操作(Amazon Bedrock 文档)
desired-instance-type 规则(AWS Config 文档)
AWS Config 工作原理(AWS Config 文档)