Amazon Web Services 한국 블로그

AWS DevOps Agent 출시: 사고 대응 가속화 및 시스템 신뢰성 향상 (미리보기)

오늘, 과거 인시던트와 운영 패턴을 체계적으로 분석하여 인시던트에 대응하고, 근본 원인을 파악하고, 향후 문제를 예방할 수 있도록 지원하는 프론티어 에이전트인 AWS DevOps Agent를 미리보기로 발표합니다.

프런티어 에이전트는 자율적이고 대규모 확장 가능하며, 지속적인 개입 없이 몇 시간 또는 며칠 동안 작동하는 새로운 유형의 AI 에이전트입니다.

프로덕션 환경에서 인시던트가 발생하면 당직 엔지니어가 이해관계자와의 소통을 관리하면서 근본 원인을 신속하게 파악해야 하는 상당한 압박을 받습니다. 여러 모니터링 도구의 데이터를 분석하고, 최근 배포를 검토하고, 대응팀을 조율해야 합니다. 서비스 복원 후에는 인시던트 학습 내용을 체계적인 개선 사항으로 전환할 여유가 부족한 경우가 많습니다.

AWS DevOps 에이전트는 상시 대기 중인 자율형 당직 엔지니어입니다. 문제가 발생하면 지표와 로그부터 GitHub 또는 GitLab의 최근 코드 배포에 이르기까지 운영 툴체인 전반의 데이터를 자동으로 상관시킵니다. 잠재적인 근본 원인을 파악하고 맞춤형 완화 조치를 권장하여 평균 해결 시간을 단축할 수 있습니다. 에이전트는 또한 이해 관계자 업데이트를 위한 Slack 채널을 활용하고 세부적인 조사 일정을 관리하며, 인시던트 조정을 관리합니다.

시작하려면 AWS Management Console을 통해 AWS DevOps Agent를 기존 도구에 연결합니다. 에이전트는 Amazon CloudWatch, Datadog, Dynatrace, New Relic, Splunk 등 인기 서비스와 연동하여 관찰성 데이터를 수집하는 동시에 GitHub Actions 및 GitLab CI/CD와 통합하여 배포 과정과 클라우드 리소스에 미치는 영향을 추적합니다. Bring Your Own(BYO) Model Context Protocol(MCP) 서버 기능을 통해 조직의 맞춤형 도구, 전문 플랫폼 또는 Grafana, Prometheus 등의 오픈 소스 관찰성 솔루션과 같은 추가 도구를 조사에 통합할 수도 있습니다.

에이전트는 가상 팀원 역할을 하며 티켓팅 시스템의 인시던트에 자동으로 대응하도록 구성할 수 있습니다. ServiceNow에 대한 기본 지원이 포함되어 있으며, 구성 가능한 웹후크를 통해 PagerDuty와 같은 다른 인시던트 관리 도구의 이벤트에 대응할 수 있습니다. 조사가 진행됨에 따라 에이전트는 티켓과 관련 Slack 채널에 조사 결과를 업데이트합니다. 이 모든 것은 에이전트가 구축하는 지능형 애플리케이션 토폴로지를 통해 구동됩니다. 토폴로지는 시스템 구성 요소와 그 상호작용에 대한 포괄적인 맵으로, 조사 중 배포 관련 잠재적 원인을 파악하는 데 도움이 되는 배포 기록을 포함합니다.

작동 방식 보기
작동 방식을 보여드리기 위해 간접 호출 시 의도적으로 오류를 생성하는 간단한 AWS Lambda 함수를 배포했습니다. AWS CloudFormation 스택에 배포했습니다.

1단계: 에이전트 공간 생성

에이전트 공간은 AWS DevOps 에이전트가 작업을 수행할 때 액세스할 수 있는 범위를 정의합니다.

운영 모델에 따라 에이전트 공간을 구성할 수 있습니다. 어떤 팀은 에이전트 공간을 단일 애플리케이션에 맞추고, 어떤 팀은 여러 서비스를 관리하는 당직 팀별로 에이전트 공간을 생성하고, 어떤 조직은 중앙 집중식 접근 방식을 사용합니다. 이 데모에서는 단일 애플리케이션에 대한 에이전트 공간을 생성하는 방법을 보여드리겠습니다. 이 설정을 통해 특정 애플리케이션에 대한 조사 및 리소스를 분리하여 해당 컨텍스트 내에서 인시던트를 더 쉽게 추적하고 분석할 수 있습니다.

AWS Management Console의 AWS DevOps 에이전트 섹션에서 에이전트 공간 생성을 선택하고 이 공간의 이름을 입력한 다음, 내 계정이나 다른 사람의 AWS 계정에서 AWS 리소스를 조사하는 데 사용되는AWS Identity and Access Management(IAM) 역할을 생성합니다.

AWS DevOps 에이전트 - 에이전트 공간 생성이 데모에서는 AWS DevOps Agent 웹 앱을 활성화하기로 했습니다. 자세한 내용은 나중에 설명하겠습니다. 이 작업은 나중에 진행할 수 있습니다.

준비가 되면 생성을 선택합니다.

AWS DevOps 에이전트 - 웹 앱 활성화웹 앱을 생성한 후 토폴로지 탭을 선택합니다.

이 보기에는 AWS DevOps Agent가 작업을 효율적으로 수행하기 위한 기반으로 선택한 주요 리소스, 엔터티 및 관계가 표시됩니다. AWS DevOps 에이전트가 액세스하거나 볼 수 있는 모든 항목을 나타내는 것이 아니라, 에이전트가 현재 가장 관련성이 높다고 생각하는 항목만 표시합니다. 기본적으로 토폴로지에는 제 계정에 포함된 AWS 리소스가 포함됩니다. 에이전트가 더 많은 작업을 완료하면 새로운 리소스를 검색하여 이 목록에 추가합니다.

AWS DevOps 에이전트 - 토폴로지

2단계: 운영자를 위한 AWS DevOps 웹 앱 구성

AWS DevOps 에이전트 웹 앱은 대기 중인 엔지니어가 수동으로 조사를 트리거하고, 관련 토폴로지 요소를 포함한 조사 세부 정보를 확인하고, 조사를 조정하고, 조사에 대해 질문할 수 있는 웹 인터페이스를 제공합니다.

AWS Console의 에이전트 공간에서 운영자 액세스 링크를 선택하여 웹 앱에 직접 액세스할 수 있습니다. 또는 AWS IAM Identity Center를 사용하여 팀의 사용자 액세스를 구성할 수도 있습니다. IAM Identity Center를 사용하면 사용자와 그룹을 직접 관리하거나 ID 제공업체(idP)에 연결하여 AWS DevOps Agent 웹 앱에 액세스할 수 있는 사용자를 중앙 집중식으로 제어할 수 있습니다.

AWS DevOps 에이전트 - 웹 앱 액세스

이 단계에서는 이 특정 애플리케이션에 대한 조사 및 리소스에 집중할 수 있도록 에이전트 공간을 모두 설정했으며, DevOps 팀이 웹 앱을 사용하여 조사를 시작할 수 있도록 설정했습니다.

이제 이 애플리케이션에 대한 일회성 설정이 완료되었으므로 오류가 발생한 Lambda 함수를 간접 호출하기 시작합니다. 간접 호출할 때마다 오류가 발생합니다. Lambda 오류 수와 연결된 CloudWatch ALARM 상태로 전환됩니다. 실제로는 ServiceNow와 같은 외부 서비스로부터 알림을 받을 수도 있습니다. 이러한 알림을 받으면 AWS DevOps 에이전트가 자동으로 조사를 시작하도록 구성할 수 있습니다.

이 데모에서는 조사 시작을 선택하여 수동으로 조사를 시작합니다.

사전 구성된 여러 시작점에서 선택하여 조사를 빠르게 시작할 수도 있습니다. 최신 경보를 선택하면 가장 최근에 발생한 경보를 조사하고 기본 지표와 로그를 분석하여 근본 원인을 파악할 수 있습니다. 높은 CPU 사용률을 선택하면 컴퓨팅 리소스 전반의 높은 CPU 사용률 지표를 조사하고 과도한 리소스를 사용하는 프로세스나 서비스를 파악할 수 있습니다. 오류율 급증을 선택하면 지표와 애플리케이션 로그를 분석하고 오류의 원인을 파악하여 애플리케이션 오류율의 최근 증가를 조사할 수 있습니다.

AWS DevOps 에이전트 - 웹 앱

조사 세부 정보, 조사 시작 시점, 인시던트 날짜 및 시간, 인시던트의 AWS 계정 ID 등의 정보를 입력합니다.

- 웹 앱 - 조사 시작

AWS DevOps 에이전트 웹 앱에서 실시간으로 조사가 진행되는 모습을 확인할 수 있습니다. 에이전트는 애플리케이션 스택을 식별합니다. CloudWatch의 지표에 대한 상관 관계를 분석하고, CloudWatch 로그 또는 Splunk와 같은 외부 소스의 로그를 검사하고, GitHub의 최근 코드 변경 사항을 검토하고, AWS X-Ray의 추적을 분석합니다.

- 웹 앱 - 애플리케이션 스택

오류 패턴을 식별하고 자세한 조사 요약을 제공합니다. 이 데모에서는 조사를 통해 이러한 예외가 의도적인 테스트 예외인 것으로 밝혀졌으며, 경보로 이어지는 함수의 간접 호출에 대한 타임라인을 보여주고, 오류 처리를 위한 모니터링 개선 사항을 제안하기도 합니다.

에이전트는 Slack의 전용 인시던트 채널을 사용하고, 필요한 경우 대기 중인 팀에 알리고, 이해관계자에게 실시간 상태 업데이트를 제공합니다. 조사 채팅 인터페이스를 통해 “어떤 로그를 분석했나요?” 와 같은 명확한 질문을 하거나 “특정 로그 그룹에 집중하여 분석을 다시 실행하세요”와 같은 추가적인 컨텍스트를 제공하여 조사를 진행하는 등 에이전트와 직접 소통할 수 있습니다. 전문가의 지원이 필요한 경우 클릭 한 번으로 AWS Support 사례를 생성하여 에이전트의 조사 결과를 자동으로 채우고 조사 채팅 창을 통해 AWS Support 전문가와 직접 상담할 수 있습니다.

이 데모에서 AWS DevOps 에이전트는 Lambda 콘솔에서 의도적으로 오류를 트리거하는 함수를 간접 호출하는 수동 작업을 정확하게 식별했습니다. 😇

- 웹 앱 - 근본 원인

AWS DevOps 에이전트는 인시던트 대응 외에도 최근 인시던트를 분석하여 향후 문제를 예방하는 효과적인 개선 사항을 파악합니다.

활성 인시던트 발생 시 에이전트는 인시던트 완화 탭을 통해 즉각적인 완화 계획을 제공하여 서비스를 신속하게 복구할 수 있도록 지원합니다. 완화 계획은 개발자에게 자세한 구현 지침을 제공하는 사양과 Kiro와 같은 에이전트 개발 도구로 구성됩니다.

장기적인 복원력을 위해 이 기능은 관찰성, 인프라 구성 및 배포 파이프라인의 격차를 검토하여 잠재적인 개선 사항을 파악합니다. 하지만 의도적인 오류를 유발한 간단한 데모만으로는 관련 권장 사항을 생성하기에 충분하지 않았습니다.

AWS DevOps 에이전트 - 웹 앱 - 권장 사항

예를 들어, 중요 서비스에 다중 AZ 배포 및 포괄적인 모니터링이 부족하다는 것을 감지할 수 있습니다. 그런 다음 에이전트는 운영 영향 및 구현 복잡성과 같은 요소를 고려하여 구현 지침과 함께 자세한 권장 사항을 생성합니다. 곧 출시될 빠른 후속 릴리스에서는 에이전트가 코드 버그 및 테스트 범위 개선을 포함하도록 분석 기능을 확장할 예정입니다.

가용성
이제 미국 동부(버지니아 북부) 리전에서 AWS DevOps 에이전트를 사용해 볼 수 있습니다. 에이전트 자체는 미국 동부(버지니아 북부)(us-east-1) 에서 실행되지만 여러 AWS 계정의 모든 리전에 배포된 애플리케이션을 모니터링할 수 있습니다.

평가판 기간에는 AWS DevOps 에이전트를 무료로 사용할 수 있지만, 월별 에이전트 작업 시간에는 제한이 있습니다.

프로덕션 문제 디버깅에 수많은 밤을 보낸 사람으로서, 저는 AWS DevOps Agent가 심층적인 운영 통찰력과 실용적이고 실행 가능한 권장 사항을 결합하는 방식에 특히 큰 기대를 걸고 있습니다. 이 서비스는 팀이 사후 대응적인 문제 해결에서 사전 예방적인 시스템 개선으로 전환할 수 있도록 지원합니다.

자세히 알아보고 평가판에 등록하려면 AWS DevOps 에이전트를 방문하세요. AWS DevOps 에이전트가 운영 효율성을 어떻게 향상시켜 줄지 기대됩니다.

– seb