本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
部署 Amazon Bedrock 代理
此示例假设您正在部署 Amazon Bedrock 代理来自动执行 DevOps 任务,并使用 Terraform 作为 IaC 工具。
Challenge
部署 Amazon Bedrock 代理需要一个强大的自动化工作流程,该工作流程会带来以下技术挑战:
-
完成药剂制备
-
已验证就绪状态
-
零人工干预
-
一致的基础架构部署
解决方案
以下 Terraform 代码使用几个关键组件来解决 Amazon Bedrock 代理的准备工作。
resource "terraform_data" "prepare_agent" { triggers_replace = { agent_state = sha256(jsonencode(aws_bedrockagent_agent.example)) } provisioner "local-exec" { command = "aws bedrock-agent prepare-agent --agent-id ${aws_bedrockagent_agent.example.agent_id}" } } resource "time_sleep" "prepare_agent_sleep" { create_duration = "5s" lifecycle { replace_triggered_by = [terraform_data.prepare_agent] } }
在此代码中:
-
terraform_data与local-exec预配器结合使用,可在 Terraform AWS CLI 操作期间运行命令。被terraform_data命名者prepare_agent使用置备程序中的 AWS CLI 命令local-exec来准备代理。这样可以确保无需在控制台或 AWS CLI 命令中进行手动干预。 -
代理触发器可确保只有在资源完成后才开始创建
aws_bedrockagent_agent资源。 -
time_sleep实施延迟以确保无缝操作。
这种针对 Amazon Bedrock 代理的简单部署策略建立了一个在代理进入准备状态时休眠 5 秒钟的初始化过程。
您可以通过在代理创建后引入等待(例如 10 秒)直到满足条件来增强此解决方案。您可以通过实施旨在使代理完全准备就绪的全面状态验证机制来进一步扩展此解决方案。例如,您可以实施状态检查以防止过早生成别名并缓解潜在的 API 故障。具有明确定义的最大等待时间和详细的错误跟踪的自适应重试机制将帮助您排除故障。关键考虑因素包括维护一致的部署流程、支持自动化基础架构设置以及提供透明的进度监控。