쓰던 CDN에서 S-CDN으로 무중단 전환하기: CNAME 컷오버 절차

🤖 AI Summary
CDN을 바꾸는 일이 망설여지는 이유는 대개 하나, 전환 중 서비스가 끊길까 하는 걱정입니다. 다행히 CDN 전환은 서버를 옮기는 것이 아니라 DNS의 CNAME이 가리키는 방향만 바꾸는 일이라, 제대로 준비하면 무중단으로 넘어갈 수 있죠. 핵심은 DNS TTL을 미리 낮춰 두고, 새 CDN을 컷오버 전에 충분히 검증한 뒤, 문제가 생기면 곧장 되돌릴 롤백 경로를 준비하는 것입니다. 전환 중에는 기존 CDN과 S-CDN이 모두 정상 동작하도록 두어 누구도 끊기지 않게 하죠. 이 글은 CNAME 컷오버의 원리, S-CDN 전환 5단계, TTL·롤백·전환 후 점검까지 매뉴얼 기준으로 정리합니다.
블로그 목차
CDN을 바꿀 때 가장 무서운 것: 다운타임
CDN을 바꾸려다 멈칫하는 이유는 대부분 전환 순간의 공백 걱정입니다. 트래픽이 몰리는 서비스일수록 몇 분의 끊김도 부담이죠. 그런데 CDN 전환은 생각보다 되돌리기 쉬운 작업입니다. 서버나 데이터를 옮기는 것이 아니라, 사용자의 요청이 어느 CDN을 거칠지를 정하는 DNS 설정만 바꾸는 일이기 때문이에요.
이 점을 이해하면 무중단 전환의 그림이 그려집니다. 바뀌는 것은 트래픽이 흐르는 길목 하나이고, 그 길목은 언제든 원래대로 되돌릴 수 있죠. 남은 일은 전환 순간에 새 길과 옛 길이 모두 열려 있도록 준비하고, 되돌릴 길을 짧게 유지하는 것뿐입니다.
무중단 전환의 핵심: CNAME 컷오버와 이중 CDN 병행
CDN은 보통 CNAME 방식으로 붙습니다. 내 도메인의 DNS에 CDN이 발급한 주소를 가리키는 CNAME 레코드를 두면, 사용자의 요청이 그 CDN을 거쳐 오리진으로 이어지죠. 전환이란 이 CNAME이 가리키는 대상을 기존 CDN에서 S-CDN으로 바꾸는 일입니다.
무중단의 비결은 DNS가 즉시가 아니라 점진적으로 바뀐다는 성질에 있어요. 각 지역의 DNS 캐시는 TTL만큼 이전 값을 기억하다가 만료되면 새 값을 받습니다. 그래서 전환 시점에는 일부 사용자는 기존 CDN, 일부는 S-CDN을 거치는데, 두 CDN이 모두 정상 동작하도록 준비해 두면 누구도 끊기지 않죠. 미리 TTL을 낮춰 두면 이 전환과 롤백이 훨씬 빨라집니다.
주의할 점이 하나 있습니다. CNAME은 A 레코드 같은 다른 레코드와 함께 둘 수 없어, 루트 도메인(example.com)에는 바로 걸 수 없습니다. 이때는 www 같은 서브도메인을 쓰거나, DNS 제공자의 ALIAS·ANAME 기능으로 루트 도메인을 처리합니다.

S-CDN 전환 5단계: 도메인·SSL·오리진·검증·컷오버
매뉴얼 기준으로 전환은 다섯 단계로 정리됩니다. 순서대로 준비하면 컷오버 순간에는 DNS 한 줄만 바꾸면 되죠.
단계 | 할 일 | 주의 |
|---|---|---|
1. 도메인 준비 | 전환할 도메인·서브도메인 정리, TTL 하향 | 루트 도메인은 www 또는 ALIAS로 |
2. SSL 준비 | S-CDN에 도메인 인증서 발급 | 컷오버 전 발급 완료 필수 |
3. 오리진 연결 | 오리진 주소·캐시 정책 설정, CNAME 발급 | 기존 캐시 정책과 대조 |
4. 사전 검증 | hosts·임시 도메인으로 S-CDN 점검 | 실제 트래픽 전에 확인 |
5. DNS 컷오버 | CNAME을 S-CDN 주소로 변경 | 전파·상태 관찰 |
다섯 단계에서 가장 자주 놓치는 것이 2단계 SSL과 4단계 사전 검증이에요. 인증서가 준비되지 않은 채 컷오버하면 전환 직후 HTTPS가 깨지고, 사전 검증을 건너뛰면 실제 사용자에게서 문제가 처음 드러납니다. 이 두 단계를 컷오버 전에 끝내는 것이 무중단의 실질적인 조건이죠.
TTL 관리와 롤백: 전환 후 점검까지
전환의 안전망은 TTL과 롤백입니다. 컷오버 며칠 전 TTL을 짧게, 예컨대 300초 정도로 낮춰 두면, 문제가 보일 때 CNAME을 이전으로 되돌리는 것만으로 빠르게 원복됩니다. TTL이 길면 되돌려도 한동안 옛 값이 남아 롤백이 더뎌지니, 낮은 TTL이 곧 짧은 회복 시간인 셈이죠.
컷오버 후에는 상태 코드, 히트율, 지역별 응답을 지켜보며 정상 전환을 확인합니다. 5xx가 급증하지 않는지, 캐시가 정상 동작하는지를 보고, 안정화가 확인되면 TTL을 다시 올려 두고 기존 CDN 설정을 정리하죠. 전환 규모나 도메인 구조가 복잡하다면 도입 문진표로 사전에 구성을 점검하는 편이 안전합니다. 참고로 애플리케이션 배포 자체의 무중단 기법은 블루그린·카나리 글에서 다뤘고, 전환 후 요금 설계는 CDN 요금 정하는 법이 도움이 됩니다.

이것만 기억하세요
CDN 전환은 서버를 옮기는 것이 아니라 DNS의 CNAME 방향만 바꾸는 일이라, 준비하면 무중단으로 넘어갑니다. DNS는 TTL 기반으로 점진 전파되니, 전환 중 기존 CDN과 S-CDN을 모두 살려 두면 아무도 끊기지 않죠. 순서는 도메인·SSL·오리진·사전 검증·DNS 컷오버 5단계이고, 특히 SSL 발급과 사전 검증을 컷오버 전에 끝내야 합니다. TTL을 미리 낮춰 두면 문제가 생겨도 CNAME 원복으로 빠르게 롤백할 수 있습니다.
자주 묻는 질문 (FAQ)
Q. CDN을 바꾸면 서비스가 끊기나요?
제대로 준비하면 끊기지 않습니다. CDN 전환은 서버나 데이터를 옮기는 것이 아니라 DNS의 CNAME이 가리키는 대상을 바꾸는 일입니다. DNS는 점진적으로 전파되고 전환 중 두 CDN이 모두 정상 동작하도록 준비하면, 사용자는 끊김 없이 넘어갑니다.
Q. CNAME 컷오버가 무엇인가요?
내 도메인의 DNS에 있는 CNAME 레코드가 가리키는 대상을 기존 CDN에서 S-CDN이 발급한 주소로 바꾸는 것입니다. 이 한 번의 변경으로 사용자의 요청이 새 CDN을 거치게 되며, 문제가 있으면 이전 대상으로 되돌려 롤백합니다.
Q. 루트 도메인에도 CNAME을 걸 수 있나요?
루트 도메인(example.com)에는 CNAME을 바로 걸 수 없습니다. CNAME은 다른 레코드와 함께 둘 수 없기 때문입니다. www 같은 서브도메인을 쓰거나, DNS 제공자의 ALIAS·ANAME 기능으로 루트 도메인을 처리합니다.
Q. TTL은 왜 미리 낮추나요?
DNS 캐시는 TTL만큼 이전 값을 기억합니다. 컷오버 며칠 전 TTL을 짧게 낮춰 두면 변경이 빠르게 전파되고, 문제가 생겼을 때 CNAME을 되돌리는 롤백도 그만큼 빨라집니다. 안정화 후에는 TTL을 다시 올립니다.
Q. 전환 전에 새 CDN을 미리 확인할 수 있나요?
가능합니다. DNS를 바꾸기 전에 hosts 파일이나 임시 도메인으로 S-CDN을 지정해, 실제 트래픽을 넘기기 전에 캐시·오리진 연결·SSL을 점검합니다. 이 사전 검증이 무중단 전환의 안전장치입니다.



