# Lambda 함수 분석

## 4개 Lambda 함수 개요

| Lambda                | 코드 크기  | 도구 수               | 핵심 AWS API                      |
| --------------------- | ------ | ------------------ | ------------------------------- |
| `lambda-dns`          | 526줄   | 1 (dns-resolve)    | Route53, EC2                    |
| `lambda-connectivity` | 828줄   | 1 (connectivity)   | EC2, VPC Reachability Analyzer  |
| `lambda-cloudwatch`   | 741줄   | 7 (monitoring ops) | CloudWatch, Logs, VPC Flow Logs |
| `lambda-performance`  | 4,139줄 | 3 (performance)    | Network Flow Monitor, SSM, S3   |

## 공통 패턴: lambda\_handler → extract\_tool\_name → 핸들러

```python
def lambda_handler(event, context):
    tool_name = extract_tool_name(event)
    return tool_handlers[tool_name](event)
```

## 도구별 복잡도

```
lambda-dns (526줄)
├── dns-resolve
│   ├── resolve_dns_from_route53()     # CNAME 체인 추적
│   └── find_aws_resources_by_ip()     # IP → EC2/ENI/RDS

lambda-connectivity (828줄)
├── connectivity
│   ├── run_vpc_reachability_analysis() # VPC 경로 분석
│   └── apply_connectivity_fix()       # SG 규칙 수정

lambda-cloudwatch (741줄)
├── cloudwatch-monitoring
│   ├── describe_alarms()
│   ├── get_metric_data()
│   ├── query_logs()
│   ├── list_log_groups()
│   ├── get_log_events()
│   ├── create_alarm()
│   └── delete_alarm()

lambda-performance (4,139줄)
├── analyze_network_flow_monitor
│   ├── analyze_network_flow_monitor()
│   └── _get_monitor_metrics()
├── analyze_traffic_mirroring_logs
│   ├── setup_traffic_mirroring_from_flow_analysis()
│   └── analyze_traffic_mirroring_logs()
└── fix_retransmissions
    └── fix_retransmissions()           # TCP 설정 최적화
```

## MCP 프로토콜 호환

Lambda 함수는 MCP (Model Context Protocol) 요청을 처리합니다:

```python
def extract_tool_name(event):
    """Gateway 컨텍스트 또는 이벤트에서 도구명 추출"""
    # AgentCore Gateway가 MCP 형식으로 요청 전달
    # event에서 tool_name 추출하여 해당 핸들러로 라우팅
```
