쿼터 제한 문제 + 해결 과정
AWS Lambda 동시 실행 쿼터에 걸려 요청이 대량으로 실패한 적이 있습니다. CloudWatch 로그에서 Throttled 에러가 특정 시간대에 몰려 발생하는 것을 확인했고, 원인이 배치 작업과 실시간 API 호출이 동시에 같은 함수를 쓰면서 쿼터를 나눠 쓰고 있었다는 것을 파악했습니다. 배치용 함수를 별도로 분리하고 예약 동시성을 설정해 이후 같은 문제가 재발하지 않도록 조치했습니다.
면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.
AWS Lambda 동시 실행 쿼터에 걸려 요청이 대량으로 실패한 적이 있습니다. CloudWatch 로그에서 Throttled 에러가 특정 시간대에 몰려 발생하는 것을 확인했고, 원인이 배치 작업과 실시간 API 호출이 동시에 같은 함수를 쓰면서 쿼터를 나눠 쓰고 있었다는 것을 파악했습니다. 배치용 함수를 별도로 분리하고 예약 동시성을 설정해 이후 같은 문제가 재발하지 않도록 조치했습니다.
롤링 업데이트 설정 없이 배포하다 서비스가 약 30초간 완전히 끊긴 적이 있습니다. 이후 배포 전략을 조사해 헬스체크가 통과된 새 파드가 준비된 뒤에야 기존 파드를 종료하도록 readiness probe와 롤링 업데이트 설정을 추가했습니다. 이후 배포 시 무중단으로 전환되는 것을 직접 확인했습니다.
리전 간 통신을 쓰는 구조에서 간헐적으로 API 타임아웃이 발생했습니다. 처음엔 애플리케이션 코드 문제로 의심했지만, 트레이싱 도구로 확인해보니 리전 간 왕복 지연이 평소보다 늘어난 시점과 겹친다는 것을 발견했습니다. 이후 동일 리전 내에서 처리하도록 서비스 배치를 조정해 타임아웃 발생 빈도를 크게 줄였습니다.
같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.
진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.