借助 Amazon Bedrock 代理简化亚马逊 EC2 合规管理 AWS Config - AWS Prescriptive Guidance

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

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

Anand Bukkapatnam Tirumala,Amazon Web Services

摘要

此模式描述了如何将 Amazon Bedrock 与 AWS Config 规则集成,以促进亚马逊弹性计算云 (Amazon EC2) 实例的合规性管理。该方法使用先进的生成式 AI 功能来提供与 Well-Ar chitecte AWS d Framework 一致的量身定制建议,以确保最佳的实例类型选择和系统效率。这种模式的主要特征包括:

  • 自动合规性监控: AWS Config 规则根据所需 EC2 实例类型的预定义标准持续评估实例。

  • 人工智能驱动的建议:Amazon Bedrock 中的生成式人工智能模型分析了基础设施模式。这些模型基于 Well-Architecte AWS d Framework 中概述的最佳实践,为改进提供了明智的建议。

  • 补救:Amazon Bedrock 行动小组支持自动修复步骤,以快速解决不合规的实例,并最大限度地减少潜在的性能或成本效率低下。

  • 可扩展性和适应性:该解决方案旨在随您的基础架构进行扩展,并适应您不断变化的云架构需求。

  • 增强的安全建议:遵守 Well- AWS Architected 原则有助于改善安全状况和系统性能。

你可以使用这种模式作为蓝图,根据需要使用 DevOps 实践,将你自己的基于人工智能的生成式基础设施部署到多个环境中,只需进行最少的更改。

先决条件和限制

先决条件

限制

  • 有些 AWS 服务 并非全部可用 AWS 区域。有关区域可用性,请参阅AWS 服务 按地区划分。有关特定终端节点,请参阅服务终端节点和配额,然后选择服务的链接。

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

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

架构

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

与 Amazon 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 是一项完全托管的 AI 服务,可通过统一的 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 Management Console 然后,打开 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 疑难解答

相关资源