개발반장 codefix.kr

서버를 옮기면 홈페이지가 죽나요

순서를 지키면 한 순간도 안 멈춥니다. 멈추는 사고는 거의 전부 순서를 거꾸로 했기 때문에 생깁니다. 옮기고 → 확인하고 → 주소를 돌린다, 이 순서입니다.

기준

안 멈추게 하는 원리

서버를 옮기면 그동안 사이트가 멈출 거라고 걱정하시는데, 순서만 지키면 그렇지 않습니다.

옛 서버를 끄지 않은 채로 새 서버를 먼저 완성합니다. 둘 다 살아 있는 상태에서 새 서버가 제대로 도는지 확인하고, 마지막에 주소(DNS)만 새 쪽으로 돌립니다. 그 순간에도 옛 서버는 켜져 있습니다.

① 새 서버에 똑같이 올린다        (옛 서버 계속 가동)
② 새 서버가 제대로 도는지 확인   (옛 서버 계속 가동)
③ 주소를 새 서버로 돌린다        (옛 서버 계속 가동)
④ 며칠 지켜본 뒤 옛 서버를 끈다

④가 중요합니다. 주소를 돌려도 사람마다 바뀌는 시점이 다릅니다. 어떤 손님은 몇 시간 동안 여전히 옛 서버로 갑니다. 그래서 옛 서버를 바로 끄면 그 사람들에게만 사이트가 죽습니다.

미리 해둘 것: TTL 낮추기

주소 정보에는 "이 값을 몇 초 동안 기억해 두라"는 시간(TTL)이 붙어 있습니다. 보통 하루로 되어 있습니다. 이걸 그대로 두고 옮기면 바뀌는 데 하루가 걸립니다.

그래서 이전하기 하루 전에 이 값을 5분으로 낮춰 둡니다. 그러면 주소를 돌린 뒤 5분 안에 모두가 새 서버로 옵니다. 이전이 끝나면 다시 원래대로 올립니다.

이 한 가지만 미리 해도 사고 대부분이 사라집니다.

실제로 사고가 나는 곳

파일은 옮겼는데 데이터베이스를 안 옮김 (또는 그 반대)

사이트는 열리는데 글이 하나도 없거나, 로그인이 안 됩니다. 둘은 항상 같이 옮깁니다.

옮기는 도중에 들어온 주문이 사라짐

데이터를 복사한 뒤 주소를 돌리기까지 사이에 들어온 주문은 옛 서버에만 있습니다. 쇼핑몰이나 예약 사이트에서 실제로 나는 사고입니다. 이 구간을 짧게 잡거나, 마지막에 그 사이 데이터만 다시 옮겨야 합니다.

SSL 인증서를 안 옮김

사이트는 뜨는데 "안전하지 않음" 경고가 뜹니다. 새 서버에서 인증서를 새로 발급받아 두어야 합니다.

정해진 시각에 도는 작업(크론)을 안 옮김

사이트는 멀쩡해서 제일 늦게 발견됩니다. 매일 밤 도는 정산, 매주 나가는 메일, 자동 백업 같은 것이 조용히 멈춰 있습니다. 한 달쯤 뒤에 "그러고 보니 그거 안 오네" 하고 알아차립니다.

메일까지 같이 딸려가서 메일이 끊김

도메인 메일을 쓰고 계시다면, 홈페이지 주소만 옮기고 메일 주소(MX)는 건드리지 않아야 합니다. 같이 옮겨 버리면 메일이 안 옵니다.

파일 권한과 소유자가 달라짐

이전 직후 403 오류나 이미지 업로드 실패로 나타납니다. 옮길 때 권한까지 같이 옮겨야 합니다.

이전 끝나고 확인할 것

  • 첫 화면과 안쪽 페이지 몇 개
  • 로그인 · 회원가입
  • 글쓰기 · 파일 업로드 (권한 문제가 여기서 드러납니다)
  • 문의 폼 — 실제로 한 건 보내 보세요. 메일이나 알림이 오는지까지 봐야 합니다
  • 결제 (테스트 결제까지)
  • 인증서 — 자물쇠가 제대로 뜨는지
  • 정해진 시각에 도는 작업이 실제로 돌았는지 (다음 날 확인)
  • 검색엔진에 등록된 주소가 그대로인지

무료 점검으로 인증서·응답속도·보안 헤더는 즉시 확인하실 수 있습니다.

저희가 옮길 때

위 순서 그대로 합니다. 옛 서버는 며칠 켜 둔 채로 지켜보고, 문제가 생기면 주소만 되돌리면 즉시 원상복구됩니다. 언제든 되돌릴 수 있게 옮깁니다.

옮길 서버가 아직 없으면 새 서버를 준비하는 것부터 함께 합니다.

고칠 수 있는지부터 알려드립니다

코드를 몰라도 됩니다. 무엇이 어떻게 안 되는지만 적어 주시면 저희가 열어봅니다. 열어보고 판정하는 데까지는 비용이 들지 않습니다.