📄 2025.12.11 (Day 34) - AWS 기타 서비스: 데이터 분석, 기계 학습, 시스템 관리


1. 핵심 개념 정리

데이터 수집 및 분석 서비스

#핵심 개념설명실무/보안 관점
1Amazon Kinesis실시간 스트리밍 데이터 수집 및 처리 서비스. Data Streams(데이터 수집), Firehose(전송), Analytics(분석) 세 가지 구성요소 제공실시간 로그 분석, 클릭스트림 분석에 활용. 보안 로그를 실시간으로 S3/OpenSearch로 전송하여 SIEM 구축 가능
2Amazon AthenaS3에 저장된 데이터를 표준 SQL로 직접 쿼리하는 서버리스 서비스. 별도 인프라 구축 없이 즉시 분석 가능CloudTrail, VPC Flow Logs를 S3에 저장 후 Athena로 쿼리하여 보안 분석. 스캔한 데이터량 기준 과금
3Amazon OpenSearchElasticsearch 기반 검색 및 분석 서비스. 로그 분석, 실시간 모니터링 대시보드 구축에 활용SIEM 구축의 핵심. CloudWatch Logs, Kinesis에서 로그를 수집하여 보안 이벤트 검색 및 시각화
4AWS Glue서버리스 ETL(추출, 변환, 적재) 서비스. 데이터 카탈로그 기능으로 데이터 레이크의 메타데이터 관리여러 소스의 보안 로그를 표준 형식으로 변환하여 분석 용이하게 함. Athena와 연동하여 스키마 자동 검색
5Amazon QuickSight클라우드 기반 BI(Business Intelligence) 서비스. 대시보드 및 시각화 보고서 생성보안 메트릭 대시보드 구축. 경영진 보고용 보안 현황 리포트 자동 생성

기계 학습 서비스

#핵심 개념설명실무/보안 관점
6Amazon SageMaker머신러닝 모델을 구축, 학습, 배포하는 완전 관리형 플랫폼. Jupyter 노트북 환경 제공이상 탐지 모델 학습, 악성코드 분류 모델 개발에 활용. 보안 분석가도 AutoML 기능으로 ML 모델 구축 가능
7Amazon Rekognition이미지 및 비디오 분석 서비스. 얼굴 인식, 객체 탐지, 텍스트 추출 기능 제공출입 통제 시스템, CCTV 영상 분석에 활용. 부적절한 콘텐츠 자동 탐지
8Amazon Comprehend자연어 처리(NLP) 서비스. 텍스트에서 감정, 핵심 구문, 개체 추출피싱 이메일 탐지, 고객 피드백 분석, 문서 분류 자동화에 활용
9Amazon Lex챗봇 구축 서비스. 음성 및 텍스트 기반 대화형 인터페이스 생성IT 헬프데스크 챗봇, 보안 인시던트 접수 자동화에 활용
10Amazon Polly텍스트를 자연스러운 음성으로 변환하는 서비스. 다양한 언어 및 음성 지원접근성 향상, 알림 음성 안내 시스템 구축
11Amazon Transcribe음성을 텍스트로 변환하는 서비스. 실시간 및 배치 변환 지원콜센터 통화 녹음 분석, 회의록 자동 생성
12Amazon Translate기계 번역 서비스. 다국어 콘텐츠 실시간 번역글로벌 서비스 다국어 지원, 외국어 위협 인텔리전스 분석
13Amazon Fraud Detector머신러닝 기반 사기 탐지 서비스. 온라인 결제, 계정 탈취 등 부정 행위 탐지이상 로그인 탐지, 결제 사기 방지에 활용

AWS 시스템 관리 서비스

#핵심 개념설명실무/보안 관점
14AWS Systems ManagerEC2 및 온프레미스 서버를 통합 관리하는 서비스. Session Manager, Patch Manager, Parameter Store 등 다양한 기능 제공SSH 키 없이 EC2 접속(Session Manager), 패치 자동화, 민감 정보 안전한 저장(Parameter Store)
15Amazon CloudWatchAWS 리소스 모니터링 및 로그 관리 서비스. 메트릭 수집, 알람 설정, 대시보드 생성 기능 제공보안 메트릭 모니터링, 임계치 초과 시 SNS 알림. 로그 기반 메트릭 필터로 보안 이벤트 탐지
16AWS CloudFormation인프라를 코드로 관리(IaC)하는 서비스. YAML/JSON 템플릿으로 AWS 리소스 프로비저닝 자동화보안 구성을 코드로 표준화. 드리프트 탐지로 수동 변경 감지. 변경 세트로 배포 전 영향 분석
17AWS Organizations여러 AWS 계정을 중앙에서 관리. OU(조직 단위) 구성, SCP(서비스 제어 정책)로 권한 제한멀티 계정 보안 거버넌스. SCP로 특정 서비스/리전 사용 금지. 통합 결제로 비용 관리
18AWS Trusted AdvisorAWS 환경을 자동으로 점검하여 비용 최적화, 성능, 보안, 내결함성 권장사항 제공보안 그룹 오픈 포트, 미사용 IAM 키, MFA 미설정 등 보안 취약점 자동 탐지

2. 실습 코드 정리

실습 21: CloudWatch 경보 만들기

SNS Topic 생성 및 이메일 구독:

# 1. SNS Topic 생성
aws sns create-topic --name oooo-SecurityNotices

# 2. 이메일 구독 추가 (이메일로 확인 링크 발송됨)
aws sns subscribe \
  --topic-arn arn:aws:sns:ap-northeast-2:123456789012:oooo-SecurityNotices \
  --protocol email \
  --notification-endpoint your-email@example.com

# 3. 구독 확인 (이메일에서 Confirm subscription 클릭 후)
aws sns list-subscriptions-by-topic \
  --topic-arn arn:aws:sns:ap-northeast-2:123456789012:oooo-SecurityNotices

CloudWatch Alarm 생성:

# EC2 CPU 사용률 기반 경보 생성
aws cloudwatch put-metric-alarm \
  --alarm-name oooo-bastion-cpu-util \
  --alarm-description "Bastion server CPU utilization exceeds 60%" \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --statistic Average \
  --period 300 \
  --threshold 60 \
  --comparison-operator GreaterThanThreshold \
  --dimensions Name=InstanceId,Value=i-0instanceid \
  --evaluation-periods 1 \
  --alarm-actions arn:aws:sns:ap-northeast-2:123456789012:oooo-SecurityNotices \
  --treat-missing-data notBreaching

# 경보 상태 확인
aws cloudwatch describe-alarms --alarm-names oooo-bastion-cpu-util

CPU 부하 테스트:

# EC2 인스턴스에 접속 후 stress 패키지 설치
sudo yum -y install stress

# 600초(10분) 동안 CPU 부하 발생
sudo stress --timeout 600 --cpu 1

# 더 높은 부하가 필요한 경우
sudo stress --timeout 60 --cpu 4 --vm 4 --vm-bytes 1024m --hdd 1 --hdd-bytes 1024m

CloudWatch 로그 기반 메트릭 필터 (보안 활용)

# Root 로그인 탐지 메트릭 필터 생성
aws logs put-metric-filter \
  --log-group-name CloudTrail/logs \
  --filter-name RootAccountUsage \
  --filter-pattern '{ $.userIdentity.type = "Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType != "AwsServiceEvent" }' \
  --metric-transformations \
    metricName=RootAccountUsageCount,metricNamespace=SecurityMetrics,metricValue=1

# 메트릭 기반 경보 생성
aws cloudwatch put-metric-alarm \
  --alarm-name RootAccountUsageAlarm \
  --metric-name RootAccountUsageCount \
  --namespace SecurityMetrics \
  --statistic Sum \
  --period 300 \
  --threshold 1 \
  --comparison-operator GreaterThanOrEqualToThreshold \
  --evaluation-periods 1 \
  --alarm-actions arn:aws:sns:ap-northeast-2:123456789012:oooo-SecurityNotices

Systems Manager Session Manager 활용

# Session Manager로 EC2 접속 (SSH 키 불필요)
aws ssm start-session --target i-0instanceid

# 명령 실행 (Run Command)
aws ssm send-command \
  --instance-ids i-0instanceid \
  --document-name "AWS-RunShellScript" \
  --parameters 'commands=["df -h","free -m"]'

# Parameter Store에 민감 정보 저장
aws ssm put-parameter \
  --name "/myapp/database/password" \
  --value "MySecurePassword123" \
  --type SecureString

# Parameter Store에서 값 조회
aws ssm get-parameter \
  --name "/myapp/database/password" \
  --with-decryption

3. 서비스 분류 및 비교

데이터 분석 파이프라인 구성

단계서비스역할
수집Kinesis Data Streams, Kinesis Firehose실시간 스트리밍 데이터 수집
저장S3, OpenSearch원본 데이터 저장 및 인덱싱
변환Glue, LambdaETL 처리, 데이터 정규화
분석Athena, OpenSearchSQL 쿼리, 전문 검색
시각화QuickSight, OpenSearch Dashboards대시보드, 리포트 생성

ML 서비스 선택 가이드

요구사항추천 서비스비고
커스텀 모델 학습 필요SageMaker전체 ML 파이프라인 지원
이미지/비디오 분석Rekognition사전 학습된 모델 즉시 사용
텍스트 분석Comprehend감정 분석, 개체 인식
음성 → 텍스트Transcribe실시간/배치 변환
텍스트 → 음성Polly다국어 음성 합성
챗봇 구축LexAlexa와 동일 기술
사기 탐지Fraud Detector결제/계정 부정 행위 탐지

시스템 관리 서비스 활용

서비스주요 기능보안 활용 사례
Systems Manager통합 관리 플랫폼Session Manager로 SSH 키 없이 접속, Patch Manager로 보안 패치 자동화
CloudWatch모니터링 및 알람비정상 메트릭 탐지 시 SNS 알림, 로그 기반 보안 이벤트 탐지
CloudFormationIaC보안 구성 표준화, 드리프트 탐지로 수동 변경 감지
Organizations멀티 계정 관리SCP로 보안 정책 강제, 통합 CloudTrail 설정
Trusted Advisor자동 점검보안 그룹 오픈 포트, IAM 취약점 자동 탐지

4. 실무/보안 관점 분석

분야시나리오
보안 로그 분석 파이프라인CloudTrail/VPC Flow Logs → S3 저장 → Athena로 SQL 쿼리 또는 Kinesis Firehose → OpenSearch로 실시간 분석. QuickSight로 보안 대시보드 구축
실시간 위협 탐지Kinesis Data Streams로 로그 실시간 수집 → Lambda로 패턴 매칭 → 의심 이벤트 SNS 알림. 또는 OpenSearch에서 실시간 쿼리
ML 기반 이상 탐지CloudWatch 메트릭을 SageMaker로 학습하여 이상 패턴 탐지 모델 구축. 또는 GuardDuty의 ML 기반 탐지 활용
시스템 보안 강화Session Manager로 SSH 포트(22) 닫기, Patch Manager로 보안 패치 자동 적용, Parameter Store로 비밀번호 안전 관리
멀티 계정 보안 거버넌스Organizations + SCP로 전 계정에 보안 정책 강제. Security Hub로 모든 계정의 보안 현황 통합 모니터링

5. 배운 점 및 심화 방향

배운 점

  • AWS는 데이터 수집부터 분석, 시각화까지 전체 파이프라인을 서버리스로 구축 가능. Kinesis + S3 + Athena 조합으로 비용 효율적인 로그 분석 환경 구성
  • ML 서비스는 사전 학습된 모델을 API로 호출하는 방식이라 ML 전문 지식 없이도 활용 가능. Rekognition, Comprehend 등은 즉시 사용 가능
  • Systems Manager의 Session Manager는 SSH 키 관리 부담을 없애고 CloudTrail에 세션 로그를 남겨 감사 추적 용이. 보안 관점에서 SSH 포트를 열지 않아도 됨
  • CloudWatch는 단순 모니터링을 넘어 로그 기반 메트릭 필터로 보안 이벤트 탐지 가능. Root 로그인, 보안 그룹 변경 등 중요 이벤트 실시간 알림 구성

심화 방향

  • SIEM 구축: CloudTrail + VPC Flow Logs + GuardDuty → Kinesis Firehose → OpenSearch로 통합 보안 모니터링 대시보드 구축
  • 자동 대응: CloudWatch Alarm → SNS → Lambda → 보안 그룹 자동 차단 또는 인스턴스 격리 파이프라인
  • IaC 보안: CloudFormation 템플릿에 보안 모범 사례 적용, cfn-lint로 템플릿 검증, StackSets로 멀티 계정 배포
  • Athena 보안 쿼리: CloudTrail 로그에서 비정상 API 호출 패턴 쿼리 라이브러리 구축

6. Quick Reference

CloudWatch 주요 메트릭

네임스페이스메트릭설명
AWS/EC2CPUUtilizationCPU 사용률(%)
AWS/EC2NetworkIn/Out네트워크 트래픽(바이트)
AWS/EBSVolumeReadOps볼륨 읽기 작업 수
AWS/RDSDatabaseConnectionsDB 연결 수
AWS/LambdaInvocations함수 호출 수
AWS/LambdaErrors함수 오류 수
AWS/ALBRequestCount요청 수
AWS/ALBTargetResponseTime응답 시간

Systems Manager 주요 기능

기능설명보안 활용
Session Manager브라우저/CLI로 EC2 접속SSH 포트 닫기, 세션 로깅
Run Command원격 명령 실행대규모 서버 점검 스크립트
Patch ManagerOS 패치 자동화보안 패치 일괄 적용
Parameter Store설정값/비밀 저장DB 비밀번호 안전 관리
Inventory소프트웨어 인벤토리설치된 SW 현황 파악
State Manager원하는 상태 유지보안 설정 강제 적용

Athena CloudTrail 쿼리 예제

-- 최근 24시간 Root 계정 활동 조회
SELECT eventTime, eventName, sourceIPAddress, userAgent
FROM cloudtrail_logs
WHERE userIdentity.type = 'Root'
  AND eventTime > date_add('hour', -24, now())
ORDER BY eventTime DESC;

-- 특정 S3 버킷 접근 기록 조회
SELECT eventTime, userIdentity.userName, eventName, requestParameters
FROM cloudtrail_logs
WHERE eventSource = 's3.amazonaws.com'
  AND requestParameters LIKE '%bucket-name%'
ORDER BY eventTime DESC
LIMIT 100;

-- 실패한 API 호출 조회
SELECT eventTime, eventName, errorCode, errorMessage, userIdentity.userName
FROM cloudtrail_logs
WHERE errorCode IS NOT NULL
ORDER BY eventTime DESC
LIMIT 50;

비용 최적화 팁

서비스비용 최적화 방법
Athena파티셔닝 적용, 컬럼 기반 형식(Parquet) 사용으로 스캔량 감소
CloudWatch불필요한 상세 모니터링 비활성화, 로그 보관 기간 설정
Kinesis샤드 수 적절히 조절, 필요시 Firehose 버퍼링 활용
OpenSearch인스턴스 크기 최적화, UltraWarm으로 오래된 데이터 이동
SageMaker스팟 인스턴스 활용, 사용 안 할 때 노트북 중지

AWS 서비스 약어 정리

약어전체 명칭설명
SSMSystems Manager시스템 통합 관리
SNSSimple Notification Service알림 서비스
SQSSimple Queue Service메시지 큐
SESSimple Email Service이메일 서비스
ETLExtract, Transform, Load데이터 추출/변환/적재
IaCInfrastructure as Code코드형 인프라
BIBusiness Intelligence비즈니스 인텔리전스
NLPNatural Language Processing자연어 처리