

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

# 借助 Amazon Bedrock 代理简化亚马逊 EC2 合规管理 AWS Config
<a name="streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config"></a>

*Anand Bukkapatnam Tirumala，Amazon Web Services*

## Summary
<a name="streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config-summary"></a>

此模式描述了如何将 Amazon Bedrock 与 AWS Config 规则集成，以促进亚马逊弹性计算云 (Amazon EC2) 实例的合规性管理。该方法使用先进的生成式人工智能功能，提供符合 [AWS Well-Architected Framework](https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html) 的定制化建议，从而确保选择最适合的实例类型以及提升系统效率。此模式的主要特点包括：
+ 自动合规性监控： AWS Config 规则根据所需 EC2 实例类型的预定义标准持续评估实例。
+ AI 驱动的建议：Amazon Bedrock 中的生成式人工智能模型会分析基础设施模式。这些模型基于 Well-Architecte AWS d Framework 中概述的最佳实践，为改进提供了明智的建议。
+ 修复：Amazon Bedrock 操作组支持自动化修复步骤，可快速处理不合规实例，并最大限度地减少潜在的性能问题或成本效率低下问题。
+ 可扩展性与适应性：该解决方案的设计能够随基础设施的规模而扩展，并适应不断变化的云架构需求。
+ 增强的安全建议：遵守 Well- AWS Architected 原则有助于改善安全状况和系统性能。

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

## 先决条件和限制
<a name="streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config-prereqs"></a>

**先决条件**
+ 活跃 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](https://docs.aws.amazon.com/bedrock/latest/userguide/titan-embedding-models.html) 和 Anthropic Claude 3 Haiku 模型已在你的版本中启用。 AWS 账户要在部署解决方案的 AWS 区域 位置启用模型访问权限，请参阅 Amazon Bedrock 文档中的[添加或删除对 Amazon Bedrock 基础模型的访问权限](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access-modify.html)。
+ [Terraform](https://developer.hashicorp.com/terraform/install)，已安装并配置。
+ 在部署环境中已安装并配置 [AWS Command Line Interface （AWS CLI）](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)v2。
+ 已完成对 [Amazon 负责任的人工智能政策](https://aws.amazon.com/ai/responsible-ai/policy/)的审阅。

**限制**
+ 有些 AWS 服务 并非全部可用 AWS 区域。有关区域可用性，请参阅[按区域划分的AWS 服务](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。有关特定端点，请参阅[服务端点和配额](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)，然后选择相应服务的链接。
+ 该解决方案已使用 Amazon Titan 文本嵌入 V2 和 Claude 3 Haiku 模型进行了测试。如果您希望使用其他模型，则可以自定义 Terraform 代码，该代码经过参数化处理，便于更改。
+ 此解决方案不包括聊天记录功能，也不会存储聊天记录。

## 架构
<a name="streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config-architecture"></a>

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

![\[通过亚马逊 Bedrock 代理简化亚马逊 EC2 合规管理的架构和工作流程。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/f43ae2bd-209e-412b-9364-e73996360992/images/4ebf4bce-4927-4d78-841e-95c44b8d780f.png)


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

1. 用户通过 Amazon Bedrock 聊天控制台与该模型进行交互。用户会提出如下问题：
   + `What can you help me with?`
   + `List non-complaint resources`
   + `Suggest security best practices`

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

1. 该操作组使用 [AWS PrivateLink](https://aws.amazon.com/privatelink/) 访问用于安全服务通信的 [VPC 端点](https://docs.aws.amazon.com/whitepapers/latest/aws-privatelink/what-are-vpc-endpoints.html)。

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

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

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

1. AWS Config 标记非投诉资源。此模式部署 AWS Config [desired-instance-type](https://docs.aws.amazon.com/config/latest/developerguide/desired-instance-type.html)规则以找到理想的 EC2 实例大小。

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

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

**自动化和扩展**

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

## 工具
<a name="streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config-tools"></a>

**AWS 服务**
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)使您能够评估、审核和评估 AWS 资源配置的合规性和所需设置。
+ [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) 是完全托管式人工智能服务，通过统一的 API 提供对多个高性能基础模型的访问权限。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 通过控制谁经过身份验证并有权使用您的 AWS 资源，从而帮助您安全地管理对这些资源的访问。
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 是一项计算服务，可帮助您运行代码，无需预调配或管理服务器。它只在需要时运行您的代码，并自动进行扩展，因此您只需为使用的计算时间付费。

**其他工具**
+ [Git](https://git-scm.com/docs) 是开源分布式版本控制系统。
+ [Terraform](https://www.terraform.io/) 是一款基础设施即代码 (IaC) 工具 HashiCorp ，可帮助您创建和管理云和本地资源。

**代码存储库**

此模式的代码可在 GitHub [sample-awsconfig-bedrock-compliance-manager](https://github.com/aws-samples/sample-awsconfig-bedrock-compliance-manager) 存储库中找到。

## 最佳实践
<a name="streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config-best-practices"></a>
+ 遵循最低权限原则，并授予执行任务所需的最低权限。有关更多信息，请参阅 IAM 文档中的[授予最低权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv)以及[安全最佳实践和使用案例](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPracticesAndUseCases.html)。
+ 定期监控 Lambda 执行日志。有关更多信息，请参阅 Lambda 文档中的[监控、调试和疑难解答 Lambda 函数](https://docs.aws.amazon.com/lambda/latest/dg/lambda-monitoring.html)以及[使用 AWS Lambda 函数的最佳实践](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html)。

## 操作说明
<a name="streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config-epics"></a>

### 部署解决方案
<a name="deploy-the-solution"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 克隆存储库。 | 要克隆此模式的存储库，请使用以下命令：<pre>git clone "git@github.com:aws-samples/sample-awsconfig-bedrock-compliance-manager.git"</pre> | AWS DevOps、构建主管、 DevOps 工程师、云管理员 | 
| 编辑环境变量。 | 在本地计算机上的克隆存储库的根目录中，编辑 `terraform.tfvars` 文件。查看以 `[XXXXX]` 标记的占位符，并根据您的环境对其进行编辑。 | AWS 系统管理员、AWS DevOps、 DevOps 工程师、AWS 管理员 | 
| 创建基础设施。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config.html) | AWS DevOps， DevOps 工程师，AWS 系统管理员，云管理员 | 

### 使用代理
<a name="use-the-agent"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 与代理聊天 | 在上一步骤中部署解决方案时，会同时部署 `security-bot-agent`，这是带有聊天控制台的 Amazon Bedrock 代理。使用此代理：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config.html) | AWS DevOps， DevOps 工程师，AWS 系统管理员，云管理员 | 

### 清理 资源
<a name="clean-up-resources"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 删除基础设施和资源。 | 完成该解决方案相关的工作后，可通过执行以下命令删除此模式创建的基础设施：<pre>terraform destroy --auto-approve</pre> | AWS DevOps， DevOps 工程师，AWS 系统管理员，云管理员 | 

## 问题排查
<a name="streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config-troubleshooting"></a>


| 问题 | 解决方案 | 
| --- | --- | 
| 代理行为问题 | 有关问题排查信息，请参阅 Amazon Bedrock 文档中的[测试代理行为并进行问题排查](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html)。 | 
| AWS Lambda 网络问题 | 有关更多信息，请参阅 Lambda 文档中的 [Lambda 中的联网问题疑难解答](https://docs.aws.amazon.com/lambda/latest/dg/troubleshooting-networking.html)。 | 
| IAM 权限 | 有关更多信息，请参阅 IAM 文档中的[排查 IAM 问题](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot.html)。 | 

## 相关资源
<a name="streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config-resources"></a>
+ [Amazon Bedrock 代理](https://aws.amazon.com/bedrock/agents/)
+ [使用操作组定义代理要执行的操作](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-action-create.html)（Amazon Bedrock 文档）
+ [desired-instance-type 规则](https://docs.aws.amazon.com/config/latest/developerguide/desired-instance-type.html)（AWS Config 文档）
+ [AWS Config 工作原理](https://docs.aws.amazon.com/config/latest/developerguide/how-does-config-work.html)（AWS Config 文档）