TL;DR
300개가 넘는 애플리케이션을 AWS로 옮길 때 수동 탐색, 애플리케이션별 IaC 작성, 이전 후 장애 대응이 일정과 인력을 압박합니다. AWS Professional Services는 Strands Agents SDK 기반의 Intake, IaC, Migration Intelligence and Governance, SRE Agent를 Amazon Bedrock AgentCore에서 실행해 탐색부터 운영까지 연결했습니다. Intake Agent의 산출물을 AgentCore Memory로 공유하면 IaC Agent가 승인된 보안 패턴에 따라 코드를 만들고, Policy in AgentCore와 AgentCore Identity, Guardrails가 호출과 배포를 통제합니다. 내부 프로젝트 추적 자료 기준 IaC 작성 시간은 애플리케이션당 3–4주에서 몇 분으로 줄었으며, 모든 운영 자동화에는 사람의 승인이 필요합니다.
섹션별 상세
- 이 프레임워크는 300개가 넘는 애플리케이션 포트폴리오에서 IaC 개발 시간을 애플리케이션당 3–4주에서 몇 분으로 줄였습니다. — 본문의 도입부와 측정 가능한 영향 섹션에 내부 프로젝트 추적 자료를 근거로 같은 시간이 제시됩니다.

- Amazon Bedrock AgentCore는 에이전트를 서버리스 환경에서 실행하고 세션 격리, 다중 에이전트 오케스트레이션, 도구 호출 보안 기능을 연결합니다. — 아키텍처 개요와 구성 요소 연결 섹션에서 AgentCore Runtime, Gateway, Identity, Memory의 역할이 이어서 설명됩니다.
import logging
import os
from bedrock_agentcore.runtime import BedrockAgentCoreApp
from strands import Agent
from strands.models import BedrockModel
from strands.tools.mcp import MCPClient
from strands.tools.mcp.mcp_types import MCPClientCredentials
logger = logging.getLogger(__name__)
app = BedrockAgentCoreApp()
REGION = os.environ["AWS_REGION"]
# url+auth lets the SDK run the client_credentials grant and re-mint the
# token on expiry. A statically captured bearer token would go stale.
gateway = MCPClient(
url=os.environ["GATEWAY_MCP_URL"],
auth=MCPClientCredentials(
client_id=os.environ["GATEWAY_CLIENT_ID"],
client_secret=get_secret("gateway/client_secret"),
scopes=[os.environ["GATEWAY_SCOPE"]],
),
)
model = BedrockModel(
model_id=os.environ["MODEL_ID"],
region_name=REGION,
guardrail_id=os.environ["GUARDRAIL_ID"],
guardrail_version=os.environ.get("GUARDRAIL_VERSION", "1"),
guardrail_trace="enabled",
)
@app.entrypoint
def invoke(payload, context):
prompt = (payload.get("prompt") or "").strip()
if not prompt:
return {"status": "error", "error": "missing required field: prompt"}
try:
# tools=[gateway]: SDK owns the connection lifecycle and paginates
# tool discovery, which list_tools_sync() alone does not.
agent = Agent(
model=model,
system_prompt=IAC_AGENT_PROMPT,
tools=[gateway],
)
result = agent(prompt)
if result.stop_reason == "guardrail_intervened":
logger.warning("guardrail blocked request, session_id=%s", getattr(context, "session_id", None))
return {"status": "blocked_by_guardrail"}
return {"status": "ok", "iac": str(result)}
except Exception as e:
logger.exception("invocation failed, session_id=%s", getattr(context, "session_id", None))
return {"status": "error", "error": str(e)}
if __name__ == "__main__":
app.run()Strands Agent를 Amazon Bedrock AgentCore 런타임에 연결하고 MCP 도구, Bedrock 모델, Guardrails 정책을 설정한 뒤 IaC를 반환합니다.
- IaC Agent는 승인된 조직 패턴을 사용해 IaC, 테스트 사례, 컴플라이언스 보고서, 배포 런북을 생성하고 코드 저장소로 전달합니다. — IaC Agent의 다섯 단계 작업 흐름과 출력 산출물 절에 생성 항목과 저장소 전달 과정이 제시됩니다.
- Policy in AgentCore는 Cedar 규칙으로 도구 호출의 변경 범위와 동시 작업 충돌, 컴플라이언스 창 유효성을 확인합니다. — IaC Agent 작업 흐름의 네 번째 단계에서 실행 전 정책 평가 항목이 구체적으로 제시됩니다.
- 모든 에이전트의 운영 자동화는 사람의 명시적 승인을 거치며 에이전트는 운영 시스템에서 독자적으로 행동하지 않습니다. — 보안 및 컴플라이언스 절과 Migration Intelligence and Governance Agent 절에서 승인 게이트 원칙이 반복됩니다.
- SRE Agent는 CloudWatch 자료와 과거 패턴을 바탕으로 사전 경고, 자동 대응 playbook, 운영 효율화 권고를 수행합니다. — Phase 3 SRE Agent 절에서 모니터링 입력, 사전 경고, 대응 playbook, 승인 대상 개선 영역이 제시됩니다.
용어 해설
- AgentCore Gateway
- — AgentCore Gateway는 API, AWS Lambda 함수, 기존 서비스를 Model Context Protocol 호환 도구로 연결하는 Amazon Bedrock AgentCore 구성 요소입니다. 각 Agent가 기능별 도구를 호출할 수 있게 하며, 중앙 집중식 인증과 정책 적용을 통해 다중 에이전트 작업의 실행 경계를 관리합니다.
- Model Context Protocol
- — Model Context Protocol은 AI 에이전트가 외부 도구와 서비스를 일정한 방식으로 호출하도록 연결하는 프로토콜입니다. 이 구현에서는 AgentCore Gateway를 거쳐 AWS Lambda, API, 기존 서비스를 도구로 노출하고 Agent별 기능 범위를 제한하는 데 쓰입니다.
- Infrastructure as Code
- — Infrastructure as Code는 서버, 네트워크, 권한 같은 인프라 구성을 코드로 정의하고 배포하는 방식입니다. 이 글의 IaC Agent는 승인된 패턴과 보안 기준을 바탕으로 코드를 만들고 테스트, 컴플라이언스 보고서, 배포 런북까지 함께 생성합니다.
- Cedar
- — Cedar는 정책 규칙을 작성하고 권한이나 작업 범위를 판정하는 정책 언어입니다. Policy in Amazon Bedrock AgentCore는 Cedar 규칙으로 도구 호출의 변경 범위, 동시 작업과의 충돌, 컴플라이언스 창 유효성을 실행 전에 확인합니다.
- Human-in-the-loop(human-in-the-loop)
- — Human-in-the-loop는 AI가 반복 작업과 판단 자료를 처리하되 운영 환경의 실행 결정은 사람이 승인하는 방식입니다. 이 프레임워크는 모든 에이전트의 자동 작업에 명시적 승인을 요구하며, 에이전트가 운영 시스템에서 독자적으로 행동하지 못하게 합니다.
기술
- Amazon Bedrock AgentCore
- Strands Agents SDK
- Amazon Bedrock foundation models
- Model Context Protocol
- AgentCore Gateway
- AgentCore Identity
- AgentCore Memory
- AgentCore Observability
- Policy in AgentCore
- Amazon Bedrock Guardrails
- AWS Identity and Access Management (IAM)
- AWS CloudTrail
- Amazon CloudWatch
- AWS Database Migration Service (AWS DMS)
- AWS Transform
- Jira
- Confluence
- Webex
- ServiceNow
- AWS CodeCommit
- GitLab
- Bitbucket
- Cedar
활용 사례
- 300개가 넘는 애플리케이션의 대규모 데이터센터 종료 마이그레이션
- 온프레미스 애플리케이션 탐색과 의존성 매핑
- 조직 표준에 맞춘 AWS 인프라 코드 생성
- 마이그레이션 포트폴리오 상태 보고와 Well-Architected 평가
- 이전 후 CloudWatch 기반 사전 모니터링과 자동 대응
- AWS DMS를 활용한 데이터베이스 스키마 변환과 cutover
- AWS Transform을 활용한 레거시 애플리케이션 현대화
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.