View a markdown version of this page

借助 Amazon Bedrock 代理简化亚马逊 EC2 合规管理 AWS Config - AWS 规范指引

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

借助 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 区域。有关区域可用性,请参阅按区域划分的AWS 服务。有关特定端点,请参阅服务端点和配额,然后选择相应服务的链接。

  • 该解决方案已使用 Amazon Titan 文本嵌入 V2 和 Claude 3 Haiku 模型进行了测试。如果您希望使用其他模型,则可以自定义 Terraform 代码,该代码经过参数化处理,便于更改。

  • 此解决方案不包括聊天记录功能,也不会存储聊天记录。

架构

下图显示了此模式的工作流和架构组件。

通过亚马逊 Bedrock 代理简化亚马逊 EC2 合规管理的架构和工作流程。

该工作流由以下步骤组成:

  1. 用户通过 Amazon Bedrock 聊天控制台与该模型进行交互。用户会提出如下问题:

    • What can you help me with?

    • List non-complaint resources

    • Suggest security best practices

  2. 如果模型经过预训练,则会根据现有知识直接响应提示。否则,提示将转到 Amazon Bedrock 操作组。

  3. 该操作组使用 AWS PrivateLink 访问用于安全服务通信的 VPC 端点

  4. 该请求通过 Amazon Bedrock 服务的 VPC 端点传递至 Lambda 函数。

  5. Lambda 函数是主要的执行引擎。根据请求,该函数调用 API 以对 AWS 服务执行操作。该函数还处理操作的路由和执行。

  6. Lambda 函数调用 AWS Config 以确定不合规的资源(您作为先决条件创建的不合规 EC2 实例)。

  7. AWS Config 标记非投诉资源。此模式部署 AWS Config desired-instance-type规则以找到理想的 EC2 实例大小。

  8. AWS Config 提示用户暂停或修复实例,并对实例采取相应的操作。 EC2 Amazon Bedrock 能够解析此返回的有效载荷。

  9. 用户会在 Amazon Bedrock 聊天控制台中收到响应。

自动化和扩展

该解决方案使用Terraform作为基础设施即代码(IaC)工具,可以轻松部署到多个账户, AWS 账户 并作为独立实用程序在多个账户中运行。这种方法简化了管理流程,并提高了部署的一致性。

工具

AWS 服务

  • AWS Config使您能够评估、审核和评估 AWS 资源配置的合规性和所需设置。

  • Amazon Bedrock 是完全托管式人工智能服务,通过统一的 API 提供对多个高性能基础模型的访问权限。

  • AWS Identity and Access Management (IAM) 通过控制谁经过身份验证并有权使用您的 AWS 资源,从而帮助您安全地管理对这些资源的访问。

  • AWS Lambda 是一项计算服务,可帮助您运行代码,无需预调配或管理服务器。它只在需要时运行您的代码,并自动进行扩展,因此您只需为使用的计算时间付费。

其他工具

  • Git 是开源分布式版本控制系统。

  • Terraform 是一款基础设施即代码 (IaC) 工具 HashiCorp ,可帮助您创建和管理云和本地资源。

代码存储库

此模式的代码可在 GitHub sample-awsconfig-bedrock-compliance-manager 存储库中找到。

最佳实践

操作说明

Task说明所需技能

克隆存储库。

要克隆此模式的存储库,请使用以下命令:

git clone "git@github.com:aws-samples/sample-awsconfig-bedrock-compliance-manager.git"
AWS DevOps、构建主管、 DevOps 工程师、云管理员

编辑环境变量。

在本地计算机上的克隆存储库的根目录中,编辑 terraform.tfvars 文件。查看以 [XXXXX] 标记的占位符,并根据您的环境对其进行编辑。

AWS 系统管理员、AWS DevOps、 DevOps 工程师、AWS 管理员

创建基础设施。

  1. 要为此解决方案创建基础设施,请运行以下命令:

    terraform init terraform plan
  2. 查看执行计划,然后运行以下命令:

    terraform apply --auto-approve
AWS DevOps, DevOps 工程师,AWS 系统管理员,云管理员
Task说明所需技能

与代理聊天

在上一步骤中部署解决方案时,会同时部署 security-bot-agent,这是带有聊天控制台的 Amazon Bedrock 代理。

使用此代理:

  1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS 管理控制台 然后,打开 Amazon Bedrock 控制台

  2. 在左侧导航窗格中,选择构建代理。选择 security-bot-agent

  3. 开始与代理对话。例如:

    List non-complaint EC2 instances

    和:

    Replace these non-complaint EC2 instances with compliant instances
AWS DevOps, DevOps 工程师,AWS 系统管理员,云管理员
Task说明所需技能

删除基础设施和资源。

完成该解决方案相关的工作后,可通过执行以下命令删除此模式创建的基础设施:

terraform destroy --auto-approve
AWS DevOps, DevOps 工程师,AWS 系统管理员,云管理员

问题排查

问题解决方案

代理行为问题

有关问题排查信息,请参阅 Amazon Bedrock 文档中的测试代理行为并进行问题排查

AWS Lambda 网络问题

有关更多信息,请参阅 Lambda 文档中的 Lambda 中的联网问题疑难解答

IAM 权限

有关更多信息,请参阅 IAM 文档中的排查 IAM 问题

相关资源