
서막
한 주의 업무를 마무리하던 금요일 오전.
AI 개발자 동료가 다급히 "AWS 미납요금 좀 확인해달라"는 요청을 해왔습니다.
무슨 일인가 물어보니, 서버 통신이 안 돼 혹시 결제 문제일까 싶어 확인을 부탁한 거였습니다.
결과는 미납 없음.
하지만 인스턴스를 내렸다 올리니 다시 된다고 해서, "이상하다…" 싶던 순간 특정 기능 관련 서비스가 연쇄적으로 터지기 시작했습니다.
상황
문제는 해당 기능을 만든 개발자가 이미 퇴사한 상태였다는 점.
회사는 후임자를 채용 중이었지만 아직 결정되지 않았고, 지금 당장은 대응할 수 있는 사람이 없었습니다.
시스템 리뉴얼 계획은 있었지만 실행 전 단계였고, 그동안은 별 탈 없이 유지되길 바랄 뿐이었는데… 결국 걱정하던 일이 터져버린 겁니다.
시스템
이슈가 난 구간은 전형적인 서버 간 통신(Server to Server).
구성은 크게 다음과 같았습니다:
- AWS : VPC, Subnet, EC2, RDS, ALB, ElastiCache, 탄력 IP, S3 등..
- GCP : 단독 VM, 고정 IP
흐름은 간단합니다.
클라이언트 프로그램 → AWS 서버 요청 → 필요 시 GCP 서버로 서버 간 Request
문제는 GCP 서버로 통신의 파일첨부가 포함된 multipart/form-data 요청만 405 에러가 발생한다는 점이었습니다.
일반적인 GET, POST 요청은 전혀 문제없었습니다.
코드 분석
퇴사자가 남긴 C# 코드를 분석했지만, 405 Exception을 직접 발생시키는 부분은 없었습니다. HTTP Status 코드를 그대로 전달하는 구조였고, 로그 포맷도 정상.
즉, 에러는 애플리케이션 코드가 아닌 GCP에서 발생한 것 같았습니다.
그렇다면… 왜 하필 405(Method Not Allowed)?
HTTP 405 Method Not Allowed
: 요청한 URL 은 맞지만, 해당 URL 이 지원하지 않는 HTTP 메서드로 요청했을 때 발생
해결
서버 로그, 클라이언트 로그, 보안 옵션들을 하나하나 확인하던 중, AI팀에서 결정적인 사실을 발견했습니다.
GCP 계정에 결제 카드가 등록되어 있지 않음
경영지원팀 확인 결과, 등록돼 있던 카드는 분실되어 정지된 상태였습니다. 그런데 이상한 점이 있었습니다.
- 결제일은 25일
- 서비스 정지 시점은 26일 (결제 다음날)
즉, 어제까지 멀쩡히 되던 서비스가 결제일 다음날부터 막혔다는 겁니다.
코드나 설정이 바뀐 게 하나도 없는데, 결제일과 정확히 맞물려 발생했다?
이건 단순한 우연이라 보기 힘들었습니다.
게다가 회사 계정에는 구글 클라우드 포인트가 넉넉히 있었음에도 불구하고, 구글은 포인트를 결제수단으로 보지 않는 것 같았습니다.
"정상적인 카드가 없으니 GCP가 서비스 제한을 걸었다"는 가설이 가장 합리적이었죠.
결론
검색을 해봐도 이런 케이스는 잘 나오지 않았습니다.
결국 해외 결제가 가능한 카드를 새로 등록했더니, 405 에러가 사라지고, 파일첨부 기능도 정상 작동되었습니다.
해외 결제 안되는 카드는 결국 마찬가지로 안됩니다.
원인은 코드가 아니라 결제수단의 부재였던 겁니다.
장애는 언제나 코드, 서버 설정, 네트워크 문제에서만 온다고 생각했는데,
이번 사건은 클라우드 서비스는 결국 '결제' 위에 돌아간다는 사실을 새삼 깨닫게 해준 사건으로써 좋은 경험했다 생각하고 있습니다.
![]() |
사실, 서비스가 완전히 중단되었더라면 "결제 문제구나" 하고 바로 원인을 짐작할 수 있었을 겁니다.
하지만 이번처럼 일부 기능만 애매하게 막힌 경우에는 결제가 원인이라는 생각까지는 미처 닿지 못했던 게 아쉬움으로 남습니다.
사실 포인트도 넉넉히 있었으니, 결제라고 생각은 못했던 부분이기도 합니다..
또, 알림이라도 있었다면 훨씬 빨리 파악할 수 있었을 텐데, 별도의 안내도 없었던 점은 아쉬움이 큽니다.
그럼에도 불구하고, 이번 이슈는 결국 정상적인 결제수단을 확인하지 않았던 관리적인 허점에서 비롯된 문제였습니다.
결국 시스템 운영에서 중요한 건 기술적 안정성뿐 아니라, 관리·운영적인 기본 체크리스트를 놓치지 않는 것이라는 점을 다시 한번 느끼게 됩니다.
'이슈' 카테고리의 다른 글
| Redis pub/sub Socket.IO fetchSockets() timeout 이슈 해결 (0) | 2025.09.20 |
|---|---|
| OpenAI API Structured model outputs 사용시 zod 관련 이슈 (0) | 2025.09.05 |
| 9600X 9700X 5070TI 등 장치 인식 불가 블랙스크린 현상 (3) | 2025.04.18 |
| Nvidia CUDA toolkit 설치 불가 현상 및 ComfyUI 작업 불가 해결 방안 (0) | 2025.04.15 |
