5편 마지막, 기억나세요?
남의 서비스 약관에 발목 잡히기 싫어서 결국 외부 감시 업체를 하나 골랐다고 했잖아요.
근데 그 글 끝에 슬쩍 흘렸죠. “더 나은 방법을 찾았다”고.
이번 편이 그 얘기예요. 오라클 서버 하나만 믿기가 불안해서, GCP 무료 인스턴스를 하나 더 띄워 두 서버가 서로를 지켜보는 교차 감시를 만든 이야기거든요.
결론부터 말하면, 남의 감시탑 빌리는 걸 그만뒀어요.
대신 제 감시 위성을 하나 띄웠어요. 그것도 공짜로. 태평양 건너 미국에 있는 GCP 무료 서버 한 대를, 오로지 제 서버를 내려다보는 위성으로 만들었거든요.
지금은 이렇게 씁니다
요즘 저는 텔레그램에 딱 두 글자만 칩니다.
“상태”
그러면 몇 초 뒤에 이런 게 와요.

오라클(한국)이랑 GCP(미국), 두 서버가 지금 살아있는지. CPU·메모리·디스크는 여유 있는지, 워드프레스는 몇 초 만에 열리는지, SSL은 며칠 남았는지.
한 화면에 다 나와요.
이게 이번에 띄운 위성이 해주는 일이에요. 어떻게, 그리고 왜 만들었는지 풀어볼게요.
왜 지상 말고 궤도에 눈을 뒀냐면
6편 마지막에 제가 찜찜하다고 했던 거 있죠. 관제실(모니터링)이 전부 오라클 서버 안에 들어있다는 거요.
생각해보니 이게 좀 웃긴 구조더라고요.
서버가 멀쩡할 땐 관제실이 “다 정상입니다” 하고 잘 알려줘요. 근데 정작 서버가 통째로 죽으면요?
관제실도 그 서버 안에 있으니까 같이 죽어요. 그럼 “서버 죽었어요!” 하고 소리칠 사람이 아무도 없는 거예요.
※ 이번 글의 핵심 : 감시하는 놈이 감시당하는 놈이랑 같은 곳에서 죽으면, 알림 자체가 안 온다.
지상 기지국이 불타면 그 안의 관제사도 같이 타버려요. 근데 궤도에 떠 있는 위성은요? 지상이 어떻게 되든 저 위에서 멀쩡히 내려다보고 있어요.
그래서 감시하는 눈을 지상에서 떼어, 아예 궤도 밖으로 올려버리기로 했어요.
위성으로 뭘 띄웠냐면
GCP 무료 인스턴스예요.
※ 인스턴스 : 클라우드에서 빌려 쓰는 가상 컴퓨터 한 대. 여기선 궤도에 띄운 감시 위성 한 대라고 보면 돼요.

이걸 위성으로 고른 이유는 세 가지예요.
공짜예요. 구글이 e2-micro라는 작은 사양(vCPU 2개, 램 1GB) 한 대를 계속 무료로 줍니다. 오라클 프리티어랑 똑같은 결이죠. “남의 땅 말고 내 땅”, 근데 이번엔 땅도 아니고 하늘이에요. (Google Cloud 무료 등급)
물리적으로 멀어요. 미국 리전에 떠 있어서, 한국의 오라클이 통째로 뻗어도 얘는 멀쩡해요. “같이 안 죽는” 게 이번 편의 전부니까, 이게 제일 중요해요.
바깥에서 내려다봐요. 서버가 자기 입으로 “나 괜찮아” 하는 거랑, 궤도 밖에서 실제로 사이트를 내려다보며 “어? 안 열리는데?” 하는 건 완전히 다른 얘기거든요.
이 위성은 뭘 굴리는 땅이 아니에요. 오로지 감시만 하는 눈이에요.
솔직히 하나 짚고 갈게요. 무료가 진짜 공짜가 되려면 조건이 있어요. GCP는 한 달에 밖으로 내보내는 데이터(트래픽)가 1GB를 넘으면 돈을 받거든요. 감시만 하면 트래픽이 얼마 안 나와서 걱정할 일은 없지만, 이 숫자는 계속 지켜봐야 해요. (이거 때문에 뒤에서 한 번 심장 떨어질 뻔한 얘기가 나옵니다.)
짝사랑이 아니라, 서로 봅니다
핵심은 이거예요. 위성이 지상을 내려다보기만 하는 게 아니라, 지상도 위성을 올려다봐요.
- 위성이 지상을 봐요. 미국의 GCP가 한국 오라클 서버의 CPU·메모리를 감시해요.
- 지상이 위성을 봐요. 반대로 오라클이 GCP 위성의 상태를 지켜봐요.
- 위성이 밖에서 사이트를 내려다봐요. itnoper.com이 실제로 열리는지 궤도 밖에서 직접 두드려 확인해요. ※ 블랙박스 익스포터 : 사람처럼 밖에서 웹사이트 초인종을 눌러보고, 문이 열리나 안 열리나 확인해주는 도구예요. (공식 저장소)
- 업타임 쿠마도 양쪽에 하나씩. 4편의 그 당직 근무자요. 이번엔 두 명이 서로 다른 자리(한국에서 재는 내부 속도 / 미국에서 재는 외부 속도)에서 사이트를 지켜봐요.
그라파나로 열어보면, 두 서버 대시보드가 한 화면에 나란히 떠 있어요.

즉 어느 한쪽이 눈을 감아도, 반대쪽 눈이 뜨고 있어요.
진짜 값어치는 여기 — 알림도 양쪽에 뒀어요
→ 서버가 통째로 죽으면
→ 관제·알림도 같이 죽음
→ “서버 죽었다” 소리칠 사람이 없음
→ 오라클이 죽으면 위성이 발송
→ 위성이 죽으면 지상이 발송
→ 누가 쓰러져도 살아있는 쪽이 소리침
이번 구조에서 제일 중요한 부분이에요.
이상이 생겼을 때 텔레그램으로 소리쳐주는 담당도, 양쪽에 하나씩 따로 뒀어요.
※ 얼럿매니저(Alertmanager) : 이상이 감지되면 “문제 생겼다!”고 텔레그램으로 쏴주는 발송 전담 직원.
사실 오라클 쪽 관제 모니터(그라파나)에서 알림을 바로 쏘게 할 수도 있었어요. 근데 그러면 아까 그 함정에 똑같이 빠져요. 오라클이 죽으면 그 알림도 같이 죽으니까요.
그래서 그라파나에서 직접 쏘게 하지 않고, 알림 발송만 전담하는 얼럿매니저를 지상(오라클)과 위성(GCP)에 각각 세웠어요.
- 오라클이 죽으면 → 살아있는 위성(GCP)의 얼럿매니저가 “오라클 죽었다!”를 발송.
- 위성이 죽으면 → 살아있는 지상(오라클)의 얼럿매니저가 “GCP 죽었다!”를 발송.
어느 쪽이 쓰러져도, 서 있는 쪽이 대신 소리쳐요. 이게 제가 만들고 싶었던 이중화예요.
잘 도는지 확인하려고, 일부러 임계값을 확 낮춰서 알림을 한 번 띄워봤어요. 진짜 문제가 난 게 아니라, “이 상황이면 울려라” 하는 선을 바닥까지 내려서 강제로 발동시킨 거죠. 그랬더니 텔레그램으로 바로 날아오더라고요.

알림 문구도 처음엔 삐끗했어요
근데 그 첫 테스트 알림, 자세히 보면 좀 이상했어요.

줄이 바뀌어야 할 자리에 \n이라는 글자가 그대로 박혀 있었거든요. 알림 문구를 짤 때 “여기서 줄 바꿔라”는 신호를 넣었는데, 그게 그림처럼 안 먹고 글자 그대로 나와버린 거예요.
별거 아닌 것 같아도, 이런 게 딱 비개발자의 삽질이에요. “되겠지” 하고 넘어가면 이렇게 지저분하게 나와요. 이것도 AI한테 물어서 문구 신호를 바꿔주고 나서야 깔끔해졌어요.
보너스 — “궁금할 때 물어보는” 기능도 붙였어요
여기까지가 “문제 생기면 저쪽에서 먼저 알려주는” 자동 감시라면요. 하나 더 붙였어요. “그냥 내가 궁금할 때 물어보는” 기능이요.
3편에서 매일 아침 경제지표를 배달해주던 그 셔틀(n8n) 기억나시죠? 이번엔 걔한테 일을 하나 더 시켰어요.
텔레그램에 “상태”라고 치면, 양쪽 서버 상태를 싹 긁어모아 요약해서 갖다주는 일. (네, 이 글 맨 앞에서 보여드린 그 화면이 이거예요.)

CPU·메모리·디스크·부하·가동시간, 컨테이너가 몇 개 떠 있는지, 교차 감시가 실제로 살아있는지, 워드프레스 응답 속도, SSL 며칠 남았는지, 지금 활성 알림이 몇 건인지까지.
알림은 “문제 생겼을 때” 저쪽에서 먼저 오고, “그냥 궁금할 때”는 이렇게 제가 불러서 봐요.
트래픽 때문에 심장 떨어질 뻔한 얘기
앞에서 말한 GCP 무료 1GB 한도, 기억나시죠?
상태봇에 “이번 달 트래픽 얼마 썼나” 항목을 넣었는데, 처음엔 순간 튄 숫자를 잡아서 **”4.25GB 썼습니다”**라고 뜨더라고요.
1GB 한도인데 4배를 썼다고? 돈 나가는 거 아냐?
식겁해서 뜯어보니 계산 방식이 잘못된 거였어요. 실제로는 15일에 0.08GB 정도. 30일로 환산해도 0.16GB. 한도의 16%였어요. 숫자 하나 잘못 보고 심장 떨어질 뻔한 거죠.
참고로 방화벽도 한 번 헤맸어요. 지상이랑 위성이 서로 들여다보려면, 클라우드 콘솔이랑 서버 자체 방화벽 두 겹을 다 열어야 하더라고요. 한쪽만 열고 “왜 안 되지” 한참 붙잡고 있었어요.
이런 건 저도 다 AI한테 물어가면서 잡았어요. 비개발자가 혼자 다 아는 척 안 해요. 모르면 물어보고, 대신 “무엇을, 왜” 하는지는 제가 쥐고 있어요.
AI한테 뺏기지 말고, AI를 부려먹는 거예요.
이제 제 서버는 혼자가 아니에요
지상에 하나, 궤도에 하나. 서로를 지켜보고, 어느 쪽이 죽어도 살아있는 쪽이 대신 소리쳐요.
남의 감시탑을 빌리던 5편에서, 내 위성까지 띄운 데까지 왔네요.
근데 감시조가 이렇게 늘고 보니, 새 문제가 하나 생겼어요. 집(오라클) 안에 관제 인력이 너무 많아진 거예요.
4편의 넷데이터, 6편에 새로 뽑은 그라파나 팀. 가만 보니 역할이 겹치는 애들이 보이기 시작했어요.
다음 편엔, 드디어 정리해고를 합니다. 누굴 자르고 누굴 남길지. 이번엔 느낌이 아니라, 실제 숫자로 판단해볼게요.
IT 전공했지만 그 길을 떠난 지 10년, 지금은 현장에서 6년째 일하고 있어요. 개발자는 아니에요. AI한테 밀려나지 않으려고, 남의 땅 말고 내 땅에 서버 하나 직접 굴리면서 배운 걸 기록합니다. 소개 →













