使用 Amazon Bedrock 代理程式和 簡化 Amazon EC2 合規管理 AWS Config - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon Bedrock 代理程式和 簡化 Amazon EC2 合規管理 AWS Config

Anand Bukkapatnam Tirumala,Amazon Web Services

Summary

此模式說明如何將 Amazon Bedrock 與 AWS Config 規則整合,以促進 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的合規管理。此方法使用進階生成式 AI 功能來提供符合 AWS Well-Architected Framework 的量身打造建議,以確保最佳執行個體類型選擇和系統效率。此模式的主要功能包括:

  • 自動化合規監控: AWS Config 規則會根據所需執行個體類型的預先定義條件持續評估 EC2 執行個體。

  • AI 驅動的建議:Amazon Bedrock 中的生成式 AI 模型會分析基礎設施模式。這些模型根據 AWS Well-Architected Framework 中概述的最佳實務提供智慧型改進建議。

  • 修復:Amazon Bedrock 動作群組可實現自動化修復步驟,以快速解決不合規的執行個體,並將潛在的效能或成本效率降低到最低。

  • 可擴展性和適應性:該解決方案旨在隨著您的基礎設施進行擴展,並適應不斷變化的雲端架構需求。

  • 增強型安全建議:遵循 AWS Well-Architected 原則有助於改善安全狀態和系統效能。

您可以使用此模式做為藍圖,視需要使用 DevOps 實務,將您自己的生成式 AI 型基礎設施部署到多個環境中,並將變更降至最低。

先決條件和限制

先決條件

限制

  • 有些 AWS 服務 完全無法使用 AWS 區域。如需區域可用性,請參閱AWS 服務 依區域。如需特定端點,請參閱服務端點和配額,然後選擇服務的連結。

  • 此解決方案已使用 Amazon Titan Text Embeddings V2 和 Claude 3 Haiku 模型進行測試。如果您偏好使用其他模型,您可以自訂 Terraform 程式碼,這會進行參數化以方便變更。

  • 此解決方案不包含聊天歷史記錄功能,也不會儲存聊天。

架構

下圖顯示此模式的工作流程和架構元件。

使用 Amazon Bedrock 代理程式簡化 Amazon 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 是 HashiCorp 的基礎設施即程式碼 (IaC) 工具,可協助您建立和管理雲端和內部部署資源。

程式碼儲存庫

此模式的程式碼可在 GitHub sample-awsconfig-bedrock-compliance-manager 儲存庫中使用。

最佳實務

史詩

任務描述所需的技能

複製儲存庫。

若要複製此模式的儲存庫,請使用下列命令:

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 系統管理員、雲端管理員
任務描述所需的技能

與客服人員聊天。

在上一個步驟中部署解決方案會部署 security-bot-agent,這是具有聊天主控台的 Amazon Bedrock 代理程式。

使用代理程式:

  1. AWS Management Console 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。然後,開啟 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 系統管理員、雲端管理員
任務描述所需的技能

刪除基礎設施和資源。

當您完成使用此解決方案的工作後,您可以執行 命令來刪除此模式建立的基礎設施:

terraform destroy --auto-approve
AWS DevOps、DevOps 工程師、AWS 系統管理員、雲端管理員

故障診斷

問題解決方案

客服人員行為問題

如需疑難排解資訊,請參閱 Amazon Bedrock 文件中的測試和疑難排解代理程式行為

AWS Lambda 網路問題

如需詳細資訊,請參閱 Lambda 文件中的對 Lambda 中的聯網問題進行故障診斷

IAM 許可

如需詳細資訊,請參閱 IAM 文件中的疑難排解 IAM。

相關資源