본문 바로가기

👾 Server/👻 장애4

주니어 백엔드 개발자가 서비스/서버 운영하며 배운 몇 가지 이번 글에서는 서비스를 운영하며 겪었던 몇 가지 경험을 공유하려 합니다. 해당 글은 개인적인 경험과 책 을 참고하여 작성했습니다. 자기소개 문제는 피할 수 없다: 서비스 운영의 현실 Case 1. 타임아웃(timeout) Case 2. 빠른 실패 Case 3. 서킷 브레이커 (circuit breaker) Case 4. 데이터 정리하기 Case 5. 로드밸런싱과 스케일 아웃 Case 6. 서비스 재시작하기 Case 7. 인프라 자동화 도구를 조심하자 (조속기를 활용하자) 마치며: 처음 운영했던 때처럼 자기소개 안녕하세요. 저는 특정 도메인 커머스 플랫폼에서 회사에서 추천 서비스, AB 테스트, 어드민 관리 등을 담당하는 개발자입니다. 업무 특징상 앱 실행 초기 팝업부터 메인 페이지 추천, 상품 상세 페.. 2024. 3. 2.
AWS ElastiCache for Redis에서 발생한 Network bandwidth out allowance exceeded와 대처 방안 최근 신규 프로젝트 개발을 마치고 릴리즈를 앞두고 있었습니다. 릴리즈 전 부하테스트를 하다 AWS ElastiCache for Redis에서 네트워크 대역폭의 허용 범위를 넘게 되었는데요. 겪었던 문제와 해결한 경험을 가볍게 소개드리려 합니다. 목차 1. 네트워크 대역폭이란? - 네트워크 대역폭의 기본 개념 - AWS ElastiCache for Redis에서의 대역폭 중요성 2. Network Bandwidth Out Allowance Exceeded의 의미 - AWS ElastiCache for Redis 인스턴스 스펙 - Baseline bandwidth vs Burst bandwidth 3. 해결 방법 - 데이터 압축 - 요청 딜레이 적용 - 스케일업 및 스케일 아웃 마치며 Reference 1... 2024. 1. 21.
[서버 장애] HTTPS -> HTTP 통신 불가(웹 브라우저의 Mixed Content 차단) 사건의 개요 토이 프로젝트(FE 서버, BE 서버) 진행 중에 문제가 발생했다. 프론트 서버 https 배포, 백엔드 서버 http 배포 후 프론트 -> 백엔드 요청 시 Midxed Content 차단됐다. - 프론트(react) 배포 : AWS CloudFront + S3 사용한 HTTPS 지원 - 백엔드(spring) 배포 : AWS ec2 DNS 사용 X, HTTP 만 지원 사건의 근본 원인 웹브라우저(크롬, 파이퍼폭스 등) 자체에서 Mixed Content 차단하여 HTTP 서버인 백엔드로 부터 API를 받을 수 없었다. Mixed Content(혼합 콘텐츠)란 보안되지 않은 HTTP 프로토콜을 사용하여 리소스 요청하는 경우 해커(공격자)가 네트워크 연결을 도청 하고 중간자 공격(man-in-th.. 2022. 7. 2.
[서버 장애] AWS 프리티어 배포 후 장애 - CPU 사용률 100%, 크레딧 0개 이후 ssh 접속도 안되는 상황과 해결 (HW / SW(페이징 limit 문제) 상황 ec2 환경 ec2 : AWS 프리티어 t2.micro app : Docker 위에 Spring Server + Nginx 외부 DB : 약 10만개 데이터가 있는 MySQL airbnb와 유사한 숙박 앱 프로젝트를 했다. DB에 약 10만여개 더미 데이터를 넣고 배포했다. AWS 프리티어 ec2에 spring 배포하여 사용하던 중 클라이언트의 많은 요청 이후 서버가 아예 멈춰 응답을 해주지 않았고 ssh 접속도 되지 않았다. 문제 클라이언트의 많은 요청으로 CPU 사용률이 90% 이상으로 사용하다 CPU 크레딧을 모두 사용하여 CPU 성능이 떨어져 서버 응답이 매우 늦거나 아예 ssh 접속까지 안 되는 상황 발생 해결하기 위한 시도 HW적 해결 1 : CPU 크레딧 초기화하기 위한 단순한 방법 (.. 2022. 6. 9.