[BookTalk 팀프로젝트 트러블슈팅2] 구글클라우드 인스턴스 내 데이터베이스가 매일 사라지는 사건 2!재발생!

2025. 8. 4. 14:08·개발공부/error.log
반응형

모두가 집으로 귀가해 집에서 각자 작업 혹은 잘 쉬고있던 마감 전 주 주말이었다.
토요일에 프론트엔드 은우님이 슬랙에 메시지를 남겨주셨다..(사건 발생..)

[ 상황설명 ]

1. 작업 상황

  - 백엔드 npm run start / 프론트엔드 npm run dev로 작동 후 코드 작업 시작
  - 문제 발생 전 DB에 데이터가 추가되고 수정되는 것을 직접 확인
  - 작업하던 상태를 그대로 둔 채로 식사 후 다시 한 번 기능테스트를 하기 위해 진행
  - 잘 되던 작업이 진행되지 않아서 프론트와 백엔드의 VSCODE 터미널을 확인
  - 프론트엔드 터미널에서는 어떠한 오류도 발생하지 않았음
  - 백엔드에서 많은 오류들이 한 번에 발생하면서 터미널에 오류 로그가 다량 발생
  - 백엔드 서버를 끄고 npx prisma db push 명령어 입력 후 npm run start로 서버 재실행
  - 서버는 정상적으로 작동하였으나 DB에 있던 데이터가 모두 날아감

2. 사후처리

  - DB에 데이터가 모두 사라진 것을 캡쳐 후 팀원들과 상황 공유
  - generate? generator? 가 들어간 명렁어를 사용하면 데이터가 날아갈 수 있다는 것을 알게되었음
  - 하지만 알고있던 명령어가 아니고 입력한 적이 없기에 다른 원인이 아닐까 추측

은우님 : 제가 알고 있는 명령어가 이 두개가 다라서 까먹으면 복사 붙여넣기로 사용하고 있었습니다. 이것 외에는 없었습니다!


[원인 찾기]

1. 구글클라우드 BookTalk 프로젝트 > booktalk 인스턴스 > 로그 탐색기 검색

resource.type="cloudsql_database"
protoPayload.methodName="cloudsql.instances.update"
OR protoPayload.methodName="cloudsql.instances.restoreBackup"
OR protoPayload.methodName="cloudsql.databases.delete"
OR textPayload:("DROP DATABASE")

restoreBackup , databases.delete , DROP DATABASE 가 나오면 확정입니다 라는데, 전혀 없음을 확인

2. migrate dev 실행된 흔적 확인하기

  • package.json의 scripts 확인: postinstall, prepare, dev 등에 migrate 포함되어 있나?

DB를 다루는 백엔드 package.json 파일 scripts 에는 migrate가 포함된 내용이 어디에도 없음을 확인
혹시몰라 프론트 package.json 파일까지 확인했으나, 전혀 없음을 확인

3. Cloud SQL에 자동 백업 복원 옵션이 켜져 있는지 확인

 

  • 인스턴스 > 백업 > 자동 복원/스케줄 여부 확인
    • 1. 매일 새벽에 백업이 자동으로 되어있는것 까지는 확인
    • 2. 인스턴스 > 작업 탭에서 복원, restoreBackup 유형의 작업이 있었는지 확인하였으나, 백업완료 뿐임
    • 3. 로그 탐색기에서 복원 내역 조회
      resource.type="cloudsql_database"
      protoPayload.methodName="cloudsql.instances.restoreBackup"
      아무런 결과가 없기때문에 , 자동 복원은 발생하지 않았음을 확인

  • 스케줄 백업 후 복원 설정이 있다면, 스냅샷으로 덮어씌워질 수 있음

나는 은우님이 발견한 날인 8/2토요일 새벽 1:46에 백업된 곳으로 수동 복원 처리를 하려고 한다.

새 인스턴스로 복원하는게 안전하다고 했는데, 복원하려니

시도한 작업에 실패했습니다. 다시 시도해 주세요.

추적 번호: c5782920323746830
뜨길래 구글에 민원 문의 넣음.

소스 인스턴스(booktalk2)에 덮어쓰기로 복원처리 하려고 함.

복원했더니 이전 데이터들 전부 복구된 것 까지 확인함.. 해결은 되었는데, 왜 없어진지 모르니,, 다음에 또 이런 상황이 오면 복원하는 수밖에 없네..

 

저작자표시 비영리 변경금지 (새창열림)

'개발공부 > error.log' 카테고리의 다른 글

[BookTalk 팀프로젝트 트러블슈팅3] gcp db 간헐적으로 사라지는 원인은 랜섬웨어 였다.  (1) 2025.08.18
[TIL] gcp Cloud SQL 랜섬웨어 복구중 - VM, VPC네트워크, 서브넷 생성 근데 이게 뭘까?  (3) 2025.08.13
[BookTalk 팀프로젝트 트러블슈팅1] 구글클라우드 인스턴스 내 데이터베이스가 매일 사라지는 사건  (3) 2025.08.01
[TIL]우와... JavaScript 클래스 에서 계속 ts 에러 뜨던거 2시간동안 챗쥐피티랑 씨름하면서 해결 못한거 멘토님이 해결함  (2) 2024.09.12
숫자야구 day3 해결중...  (0) 2024.09.12
'개발공부/error.log' 카테고리의 다른 글
  • [BookTalk 팀프로젝트 트러블슈팅3] gcp db 간헐적으로 사라지는 원인은 랜섬웨어 였다.
  • [TIL] gcp Cloud SQL 랜섬웨어 복구중 - VM, VPC네트워크, 서브넷 생성 근데 이게 뭘까?
  • [BookTalk 팀프로젝트 트러블슈팅1] 구글클라우드 인스턴스 내 데이터베이스가 매일 사라지는 사건
  • [TIL]우와... JavaScript 클래스 에서 계속 ts 에러 뜨던거 2시간동안 챗쥐피티랑 씨름하면서 해결 못한거 멘토님이 해결함
d0yclub
d0yclub
2024.06.17 open
  • d0yclub
    개발꿈나무 김도이
    d0yclub
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • 서재 (0)
      • 2024 (13)
        • [FE]Next.js2기 (6)
        • [FE]우아한테크코스7기-프리코스 (6)
      • 개발공부 (25)
        • HTML CSS (6)
        • JavaScript (2)
        • React.js (4)
        • DB - mySQL (0)
        • error.log (8)
      • 2025 (32)
        • 멋쟁이사자처럼 프론트엔드스쿨플러스 4기 (1)
        • [풀스택]SeSAC 웹개발자 7기 (29)
        • 개인프로젝트 (1)
        • 팀프로젝트 (1)
      • 자료구조&알고리즘 풀이 (3)
        • 프로그래머스 (2)
      • 2026 (0)
        • [AI]SeSAC microsoft AI엔지니어 .. (0)
        • 개인프로젝트 (0)
        • 팀프로젝트 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    미래내일일경험
    트러블슈팅
    웅진씽크빅
    DTO
    EC2
    스나이퍼팩토리
    udemy
    팀프로젝트
    유데미
    KPT회고
    부트캠프
    회고
    GCP
    Next.js
    프로젝트캠프
    TIL
    프론트엔드개발자양성과정
    배느실
    KPT
    RDS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
d0yclub
[BookTalk 팀프로젝트 트러블슈팅2] 구글클라우드 인스턴스 내 데이터베이스가 매일 사라지는 사건 2!재발생!
상단으로

티스토리툴바