User App 실행되었는지 확인하기
Minimal
1.
aws configure
2.
terraform apply
3.
Image Build & Push
4.
Data Dump
5.
Python Scaler
6.
Dashboard Configure & Alarm Modify
1시간동안 해내야 하는 일 (이 시간에서 메달이 결정 된다.)
•
프로비저닝
◦
aws configure
◦
Image ECR Build & Push (CloudShell)
◦
RDS Create Table
◦
CloudWatch Dashboard Configure
◦
Modify Alarm
•
Database Data Dump 값 넣기
◦
RDS
◦
DynamoDB
•
API 엔드포인트 상태 확인하기
◦
클라이언트에서 처리가 잘되는지 확인하는 스크립트로 체크하기
•
Health Check 잘되는지 확인하기
•
엔드포인트 제출하기
◦
엔드포인트 제출 전 WAF가 안 달려있는 상태로 제출 해야 한다.
▪
후에 트래픽 분석 후 비정상 트래픽이 들어오기 전 설정 해야 한다.
◦
만약 응답값에 requestid, uuid, checksum이 포함되어있다면 캐싱을 하는것이 의미가 없기 때문에 CloudFront가 아닌 ALB 엔드포인트를 제출해야한다.
•
로그 형식 확인 하기
•
커넥션 풀 얼마나 쓰는지 확인하기
◦
커넥션 풀이 관리가 안되는 어플리케이션이라면 무조건 RDS Proxy를 사용해야한다.
•
메트릭 확인하기
•
이 1시간동안 어플리케이션을 모두 분석 완료 해야 한다. (제일중요)
◦
이상한 헤더값을 요청에 포함 시켜 보낸 뒤 어떻게 동작하는지 확인하기
◦
이상한 쿼리스트링 요청 보낸 뒤 어떻게 동작하는지 확인하기
◦
형식에 맞지 않는 uuid 보낸 뒤 어떻게 동작하는지 확인하기
◦
이상한 Body값 요청 보낸 뒤 어떻게 동작하는지 확인하기
▪
username에 admin 넣어서 보내는 요청
▪
status_message에 이상한 문자 넣어서 보내는 요청
◦
없는 Method로 요청 보낸 뒤 어떻게 동작하는지 확인하기
트래픽 분석 및 대응
•
트래픽 들어오고 안들어오는거 패턴 확인 되면 수동으로 줄이는 방식을 해야한다. (비용 점수)
•
500 에러가 로그에 찍혔다면 그 로그에 requestid를 WAF Log에서 검색해 찾아본다.
•
비용도 신경을 써야하지만 트래픽을 처리하지 못한다면 비용도 아무 의미가 없기에 조금 더 트래픽에 신경을 써야 한다.
•
요청 처리가 되는 동안 커넥션을 얼마나 쓰는지 확인해야한다.
•
Product 앱 요청에서 id가 아닌 다른 값으로 GET 요청을 보낼 시 Index 구성이 필요 할 수 있다.
•
쿼리가 어떻게 들어오는지 확인해야한다.
◦
Path는 어떻게 들어오는지
◦
Method는 어떻게 들어오는지
•
스파이크 트래픽 시 수동으로 예상해서 미리 스케일 설정을 해야한다.
•
30초마다 트래픽 처리량과 인스턴스 수 채점을 진행한다.
•
브라우저에 배치할 사이트
◦
AWS CloudWatch Dashboard
◦
AWS CloudWatch Livetail
◦
AWS EC2 Auto Scaling
◦
AWS ECS
◦
AWS CloudShell
◦
Monitoring Tool
•
로컬에서 배치할 Tool
◦
DynamoDB Create Data Python
◦
DynamoDB BatchItem Python
◦
트래픽 패턴 분석
