はじめに
Amazon DevOps Agentとは?
Amazon DevOps Agentは、インシデントを解決、予防し、信頼性とパフォーマンスを継続的に向上させるフロンティアエージェント ※1 です。
従来は運用担当者が手動でやっていたような以下の作業を、AIが代行してくれます。
- CloudWatch Logsの確認
- 各種AWSサービスの設定状況確認
- メトリクスの分析
- 根本原因の特定
- 解決策の提案
※1【フロンティアエージェントとは】
目標を達成するために独立して動作し、同時実行タスクに対応するために大規模にスケールして、人間の介入なしで数時間または数日間にわたって持続的に動作する自律システムです。
対象読者
- Amazon DevOps Agent使ったことがない方
- AWSの基本的なサービス(Lambda・EventBridge・SNS)を触ったことがある
- 障害調査を効率化したい方
今回検証する障害シナリオ
本記事では、よくある『Lambdaのメモリ不足エラー』を再現し、DevOps Agentがどのように原因を特定するかを検証します。
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Production Data Analytics Pipeline'
Parameters:
NotificationEmail:
Type: String
Default: 'xxxxxxxxx'
Description: 'Email address for alarm notifications'
Resources:
DataAnalyzerRole:
Type: AWS::IAM::Role
Properties:
RoleName: data-analyzer-lambda-role
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: 'sts:AssumeRole'
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
DataAnalyzerFunction:
Type: AWS::Lambda::Function
Properties:
FunctionName: DataAnalyzer
Runtime: python3.12
Handler: index.lambda_handler
Role: !GetAtt DataAnalyzerRole.Arn
Timeout: 30
MemorySize: 128
Code:
ZipFile: |
import json
def lambda_handler(event, context):
print("Starting data analysis...")
data_records = []
for i in range(5000000):
record = {
'user_id': f'user_{i}',
'action': 'click' if i % 3 == 0 else 'view',
'timestamp': i,
'metadata': 'x' * 200
}
data_records.append(record)
if i % 100000 == 0:
print(f"Processed {i} records, Memory usage increasing...")
total_clicks = sum(1 for r in data_records if r['action'] == 'click')
total_views = len(data_records) - total_clicks
result = {
'total_records': len(data_records),
'total_clicks': total_clicks,
'total_views': total_views
}
print(f"Analysis complete: {result}")
return {
'statusCode': 200,
'body': json.dumps(result)
}
AnalyzerSchedule:
Type: AWS::Events::Rule
Properties:
Name: data-analyzer-schedule
ScheduleExpression: 'rate(5 minutes)'
State: ENABLED
Targets:
- Arn: !GetAtt DataAnalyzerFunction.Arn
Id: DataAnalyzerTarget
SchedulePermission:
Type: AWS::Lambda::Permission
Properties:
FunctionName: !Ref DataAnalyzerFunction
Action: lambda:InvokeFunction
Principal: events.amazonaws.com
SourceArn: !GetAtt AnalyzerSchedule.Arn
DataAnalyzerLogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: !Sub '/aws/lambda/${DataAnalyzerFunction}'
RetentionInDays: 7
AlertTopic:
Type: AWS::SNS::Topic
Properties:
TopicName: production-analytics-alerts
DisplayName: 'Production Analytics Alerts'
Subscription:
- Endpoint: !Ref NotificationEmail
Protocol: email
DataAnalyzerErrorAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmName: DataAnalyzer-Errors
AlarmDescription: 'Data analyzer function is experiencing errors'
MetricName: Errors
Namespace: AWS/Lambda
Statistic: Sum
Period: 60
EvaluationPeriods: 1
Threshold: 1
ComparisonOperator: GreaterThanOrEqualToThreshold
Dimensions:
- Name: FunctionName
Value: !Ref DataAnalyzerFunction
AlarmActions:
- !Ref AlertTopic
TreatMissingData: notBreaching
Outputs:
LambdaFunctionName:
Description: 'Lambda Function Name'
Value: !Ref DataAnalyzerFunction
Export:
Name: !Sub '${AWS::StackName}-FunctionName'
CloudWatchAlarmName:
Description: 'CloudWatch Alarm Name'
Value: !Ref DataAnalyzerErrorAlarm
Export:
Name: !Sub '${AWS::StackName}-AlarmName'
SNSTopicArn:
Description: 'SNS Topic ARN'
Value: !Ref AlertTopic
Export:
Name: !Sub '${AWS::StackName}-SNSTopicArn'
実際にアラーム原因をDevOps Agentに調査させてみる
-
調査内容を英語で入力して、『Start Investigation』ボタンを押下する
※この時、英語で入力することと、対象アラームのリージョンを指定しないと、
バージニア北部だけで調査をしてしまうので、注意が必要です。
※また、ここではChromeの拡張機能で日本語に翻訳した画面を貼っていますが、実際はまだプレビュー段階のサービスのため、英語でしか使えません。(2025年12月15日現在)

-
『緩和計画』タブに移動すると、今後どんな対応が必要なのか、細かくステップに分かれて記載してくれます。
個人的には、今後の対応中で費用がどれくらい増えるのかも明記してくれているのが、とても便利だと思いました。

まとめ
DevOps Agentを使うメリット
今回の検証を通じて、以下のメリットを実感しました
-
調査時間の大幅短縮
- 手動なら30分以上かかる可能性もある調査が数分で完了
- 今までAIにコピペでログを渡していた作業がなくなり、質問するだけで原因と今後の対応方法がわかるようになった
-
初心者でもプロ並みの調査ができる
- 複数のAWSサービスを横断的に分析してくれるため、初学者が見落としがちなポイントも指摘してくれる
-
具体的な解決策の提案
- 単に原因を教えるだけでなく、修正方法まで提案してくれる




