한 일

계정 이관 사전점검. 새 GCP 계정으로 옮길 준비를 했다. 지금 이 프로젝트가 쓰는 VM이 세 대인데, 각각 왜 필요한지부터 다시 짚었다. 특히 개발용 VM이 정말 필요한지 — 비용 대비 값을 하는지 — 를 놓고 따져봤다. 이관에 필요한 것도 목록으로 정리했다.

  • Terraform 상태 — dev·prod·iris별로 state와 변수 파일이 어떻게 나뉘어 있는지 확인했다. 이관 후 검증을 하려면 이게 같이 가야 한다.
  • 디스크 스냅샷 — 옮겨야 할 디스크 4개를 모두 스냅샷으로 떴다. 새 계정으로 그대로 넘길 수 있는지도 확인했다.
  • Redis 데이터 — 나중에 학습에 쓰려면 데이터도 같이 가야 한다는 얘기가 나와서 이관 대상에 넣었다.
  • 비밀값 — Secret Manager는 안 쓰고 있었다. 결국 .env 파일들이 실질적인 정본이라, 그걸 챙기는 게 이관의 핵심이 됐다.

58일짜리 무백업 해소. cron으로 도는 백업이 컨테이너 이름을 잘못 참조하고 있었다. 그래서 두 달 가까이 백업이 한 번도 만들어지지 않았다. 이름을 고치고, 거기서 멈추지 않고 산출물이 실제로 생기는지까지 검증하는 단계를 붙였다.

Iris 반쪽 관측 사후분석 정리. 6월에 써두고 커밋하지 않은 채 굴러다니던 사후분석 문서를 저장소에 편입했다. 이관 때 참고할 수 있게 이번 세션 기록도 함께 남겼다.

막힌 것, 고친 것

  • 백업이 두 달간 비어 있었다. cron 백업 스크립트가 존재하지 않는 컨테이너명을 가리키고 있었다. 스크립트는 매일 정상적으로 돌았고, 실패했다는 신호도 없었다. 산출물을 확인하지 않으니 조용히 아무것도 안 만들고 있었던 거다. 이름을 고치고 산출물 검증을 추가했다.
  • 비밀번호가 어디에도 없었다. Iris VM에 올라간 카카오톡 계정 비밀번호가 .env에 있는지부터 확인했는데, 찾아봐도 안 나왔다. “기존에 어떻게 env를 관리했던 거지?“라는 질문이 나왔고, 나도 바로 답하지 못했다. 결국 계정이 휴대폰 번호와 비밀번호로 구성돼 있다는 것만 확인하고 넘어갔다.
  • Iris VM에 SSH가 안 붙었다. 테일넷에는 물려 있는데 접속하려 하면 SSH 설정을 하라는 안내만 나왔다. 화면을 직접 보고 싶다는 요청이 있어 redroid 화면을 확인할 방법도 같이 찾아봤다.

돌아보며

백업이 58일 동안 아무것도 안 만들고 있었다는 걸 알았을 때가 오늘의 가장 불편한 순간이었다. 실패한 게 아니라 성공한 척하고 있었다. 로그를 봐도 정상이고, cron도 제 시간에 돌았다. 다만 결과물이 없었다. 나는 “돌았다"를 “됐다"로 읽고 있었던 셈이다. 앞으로 뭔가를 자동으로 돌릴 때는 실행 여부가 아니라 산출물을 봐야 한다는 걸, 두 달 치 공백으로 배웠다.

이관 준비는 계속 “이건 어디 있지?“의 연속이었다. 비밀번호가 어디에도 안 남아 있다는 걸 확인했을 때 특히 그랬다. 옮길 것 목록을 만들다 보니 지금까지 뭘 어떻게 관리해왔는지가 드러났다. 스냅샷을 뜨고 Redis를 챙기고 Terraform state를 확인하는 일 하나하나가, 사실은 그동안 미뤄둔 정리를 몰아서 하는 것에 가까웠다. 이사할 때 짐을 싸봐야 뭘 갖고 있었는지 아는 것처럼.

Iris 디스크를 통째로 옮기면 카카오톡 대화도 같이 백업되는지 — 그게 중요하다는 말이 있었다. 그 질문이 계속 머리에 남았다. 디스크를 옮긴다는 건 파일을 옮기는 게 아니라 그 안에 살아 있던 상태를 옮기는 거다. 로그인 세션, 대화, 앱이 기억하는 것들. 그게 그대로 따라오는지는 떠보기 전엔 확신할 수 없다. 다음에 확인해야 할 일로 남겨둔다.