AWS DevOps Agent의 기본 기능
AWS DevOps Agent는 correlated metrics, 로그, 애플리케이션 토폴로지를 기반으로 사고를 자율적으로 트리아지하고 근본 원인 분석(RCA)을 제공하며 해결을 위한 권장 사항을 제시합니다. 이 에이전트는 하루 종일 사고를 탐지하고 조사하지만, 기본적으로 관측 및 보고 모드에서 작동하여 인프라를 직접 수정하지 않습니다.
관측 모드에서의 운영 방식
조직은 AWS DevOps Agent를 포함한 옵저버빌리티 에이전트를 관측-보고 모드로 유지하여 에이전트가 문제를 진단하지만 프로덕션 리소스를 변경하지 않도록 합니다. 이 모드는 사고 탐지와 조사 단계에서는 유용하지만, 실제 복구 단계에서는 수동 개입이 필요하여 평균 복구 시간(MTTR)이 늘어날 수 있습니다.
자동 복구 워크플로 아키텍처
본문에서는 AWS Lambda Durable Functions, Amazon EventBridge, Amazon Bedrock을 활용해 AWS DevOps Agent의 조사 결과를 자동으로 복구 조치로 변환하는 워크플로를 보여줍니다. 워크플로의 주요 구성 요소는 다음과 같습니다.
- AWS DevOps Agent가 조사 완료 이벤트를 발생시킴
- Amazon EventBridge가 이벤트를 수신하여 devops-agent-trigger Lambda 함수를 호출
- Lambda 함수가 조사 요약을 포장하고 devops-agent-remediation-durable 내구 함수를 호출
- 내구 함수가 조사 컨텍스트를 Amazon Bedrock에 전달하여 적용 가능한 복구 방안을 탐색
- Amazon Bedrock이 사전 승인된 Lambda 함수 목록(devops-agent-lambda-tool)에서 사용 가능한 복구 도구를 식별하고 구체적인 복구 행동을 제안
워크플로 상세 흐름
내구 함수는 조사 요약을 Bedrock에 전송하고, Bedrock이 반환한 복구 도구 목록을 기반으로 행동을 결정합니다. 읽기 전용 작업인 경우 내구 함수가 즉시 도구를 실행하여 자율적으로 진행합니다. 인프라 상태를 변경할 수 있는 변형 작업의 경우 내구 함수가 실행을 일시 정지하고 인간 승인을 기다립니다. 승인이 내려지면 내구 함수가 선택된 도구를 이용해 인프라에 복구 조치를 적용합니다. 이 과정은 에이전트 루프 형태로 반복되며, Bedrock과의 대화 결과를 피드백으로 받아 다음 단계를 결정합니다.
| 작업 유형 | 예시 Lambda 함수 | 인간 개입 필요 여부 |
|---|---|---|
| 읽기 전용 | Lambda 함수 구성 읽기 | 불필요 |
| 변경 작업 | IAM 정책 업데이트 | 필요 |
Lambda Durable Functions의 핵심 특성
AWS Lambda Durable Functions는 추가 인프라 관리 없이 최대 1년 동안 실행될 수 있는 복원력 있는 다단계 애플리케이션을 구축할 수 있게 합니다. 이러한 함수는 자동으로 진행 상황을 체크포인트하고 장기 작업 중에 실행을 일시 정지하며, 장애로부터 복구하면서도 중단에도 신뢰할 수 있는 진행 상태를 유지합니다. 따라서 인간 승인을 기다리는 동안에도 컴퓨팅 리소스를 소비하지 않고 정확히 중단된 지점에서 재개할 수 있습니다.
구현 절차 및 사전 조건
워크플로를 배포하기 전에 다음 조건을 충족해야 합니다.
- AWS CLI가 설치되고 구성되어 있어야 함
- Python 3.14 이상이 필요함
- 활성화된 AWS DevOps Agent 공간이 있어야 함
- (선택) Kiro에 AWS용 Agent Toolkit이 설정되어 있어야 하며, 이때 Kiro는 관리형 MCP 서버를 통해 IAM 기반 접근 제어로 AWS API에 안전하게 접근할 수 있음
Kiro를 사용할 경우 `~/.kiro/settings/mcp.json`에 AWS MCP 서버를 추가하고, 저장소에 포함된 Kiro 규칙 및 에이전트 파일을 통해 프로젝트 컨텍스트, 배포 순서, 안전 규칙을 자동으로 적용할 수 있습니다.
실증 시나리오: Lambda 타임아웃 사고
워크플로의 기능을 보여주기 위해 구성된 타임아웃을 초과하는 Lambda 함수를 시뮬레이션하는 시나리오가 사용됩니다. 이 시나리오는 AWS DevOps Agent에게 실제 사고를 제공하고 복구 워크플로를 가동시킵니다. 테스트 함수(devops-agent-timeout)와 배포·호출·CloudWatch Logs에서의 타임아웃 오류 확인이 포함된 단계별 안내는 저장소에 있습니다.
함수가 배포되고 최소 하나의 타임아웃 오류를 발생시킨 후, AWS DevOps Agent를 이용해 조사를 시작할 수 있습니다.
배포 및 운영 주의점
배포는 AWS Cloud Development Kit(AWS CDK)를 이용해 수행됩니다. 구현 세부 사항으로는 Amazon EventBridge 규칙 구성과 내구 함수 오케스트레이션 로그가 포함됩니다. 승인 메커니즘은 현재 승인 또는 거부 신호를 사용하며, 콜백은 임의의 JSON 페이로드를 받아들여 파라미터 재정의 또는 검토자 의견을 전달할 수 있습니다. 이러한 피드백은 Bedrock 대화에 재입력되어 복구 제안을 정교화하는 데 활용될 수 있습니다.
위에서 설명한 모든 단계는 원문에서 확인할 수 있는 사실에 기반하며, 추측이나 전망은 포함하지 않았습니다.