본문 바로가기

조금은 전문적인 이야기/IT

Free CDN(Content delivery network) 구축하기


 간만의 포스팅이다. 꾸준하게 글을 올려보려고 노력은 하고 있지만, 이래저래 일이 바쁘고 하는 관계로 포스팅을 해야할 것들이 쌓여가고 있다. -_-;;



 자 오늘은 일전에 잠깐 소개를 했었던 CDN(Content delivery network) 이라는 녀석의 개인용 Free CDN 구축방법에 대해서 포스팅을 하려고 한다. 일단 사용 목적은 구매를 했던 NAS(Iomega EZ Media & Backup Center)에 그누보드를 올려 웹사이트를 만든 뒤에, 이를 CDN으로 구성해서 집의 인터넷의 부하를 좀 줄여보고, 해외에서도 나름 쾌적하게 운영을 하기 위해서 이다. 이게 과연 부하를 줄여주고 해외에서도 쾌적한지는 사용을 해봐야 알겠지만, 몇 번의 삽질 끝에 구축을 성공해서 포스팅을 남긴다. 


 일단 필요한 것들을 알아보면, 첫 번째로는 당연히 CDN으로 운영을 할 웹사이트가 되시겠다. 일반 블로그등은 당연히 사용이 안되니 괜히 해보겠다고 하지 마시길 바란다. 내가 Tistory 블로그를 링크 시켜보겠다고 온갖 삽질을 다해봤지만, 결과는 "페이지를 찾을 수 없습니다."였다. 그것도 CDN이 먹힌 상태로 뜨니 더 답답했다. 무언가 설정을 더 하면 될 것 같기도 했지만, 어차피 블로그를 CDN으로 올릴 필요는 없기에 의미없는 삽질은 피하기로 했다. 


 그리고 두번째로는  Incapsula 의 계정과 No-IP 의 계정이 필요하다. 두 사이트 모두 간단한 구글링을 통해 나오는 사이트이며, 무료가입이 가능한 사이트 이다. Free CDN을 서비스 해주는 업체와, 무료 도메인에 CNAME 처리가 가능한 DNS 업체이다. No-IP의 경우는 이것 외에도 DDNS를 지원하고 웹 포워딩도 지원 하므로 가입해서 손해 볼 것은 없다. 




 그럼 본격적인 작업을 시작해 보자. 먼저 Incapsula 에 자신의 웹사이트 주소를 등록시켜 준다. 사이트를 등록할 때는, http 나 / 등의 쓸데없는 것들은 빼고 등록을 해야 등록이 가능하다 등록을 하고나면, 대부분 CNAME을 바꾸라는 내용의 화면을 보게 되는데, 일반적인 경우 여기서 막히게 된다. 



 개인 사용자의 경우 개인용 도메인을 가지고 있는 경우는 극히 드물고, 무료로 공유기에서 제공하는 DDNS 역시 해당 내용 세팅이 불가능 했다.(적어도 내가 사용하는 Dyndns에서는 불가능 했다.) 처음에는 이게 뭔지 몰라서 도대체 무엇을 어떻게 하라는 소린가 하고 무작정 기다려 보기도 했으나, 굉장히 간단한 것이였다. 


 만일 개인용 도메인을 가지고 있다면, 도메인을 구입했던 사이트에 가보면 해당 내용에 대한 세팅이 가능하다는 것을 확인 할 수 있다. 일반적인 경우의 세팅 방법은 페이지에서 설명이 되어 있다. 



 어렵게 보이지만, 도메인을 구입했던 사이트에 가보면 놀랍게도 해당 내용에 대한 세팅 메뉴가 있다. 그렇다면 그게 없는 일반 사용자는 어떻게 하란 말인가!! 이것을 위해 CNAME을 포워딩해주는 기능이 있는 No-IP 라는 사이트에 가입을 한 것이다. 



 해당 사이트의 Hosts/Redirects 메뉴를 보면 Add host 라는 메뉴가 있다. 거기서 추가를 해주면 되는데, 유료도 섞여 있으니 잘 찾아서 무료로 만들면 된다. 그 후에 Host type을 DNS Alias (CNAME)로 바꿔 준 뒤에 Target 에 Incapsula 에서 받은 CNAME을 입력하면 된다. 


 이렇게 하면 간단하게 새로 만든 주소에서 CDN이 설정된 페이지를 볼 수 있게 된다. 다만, 반응 속도가 그리 빠릿하지 않으니, 몇 분 정도는 기다려 줘야 정상적인 테스트가 가능하다. 이렇게 설정이 되고 나면, Incapsula 에서는 Pending 이라고 나오지만, 대쉬보드에 들어가 보면 정상적으로 동작하고 있는 것이 확인이 된다. 



 이제 Free CDN의 구축이 모두 끝났다. No-IP에서 만들어진 주소로 접속을 하면 이상한 택이 따라다니는 것을 볼 수 있는데, 이게 붙어 있다면 구축에 성공한 것이다. Incapsula 의 세팅 메뉴를 사용하면 이 붙어있는 탭도 뗄 수가 있다. 



 일단 테스트 결과로는 일반적으로 접속 할 때보다는 속도가 빠른 편이였다. 물론 제대로 된 테스트를 하기 위해서는 해외에서 접속해보는 것이 좋겠지만, 그건 차차 할 예정이고 정상적으로 올라가 있는 것을 확인 했으니 나머지는 사용을 하면서 세팅을 해나갈 부분만 남아있다. 


 내가 삽질을 해본 결과(알고 보면 이렇게 간단하지만...-_-;;) 그누보드는 이상없이 올라갔는데, 워드프레스의 경우는 제대로 되지 않았다. 개별 페이지의 접속은 가능한데, 페이지 상의 링크경로가 상대경로가 아니라 절대경로로 되어 있기 때문에 사용이 불가능 했다. CDN에 올리는 것 까지는 문제가 없었으나, 링크를 누를 때마다 CDN 페이지가 아닌 원래의 페이지로 이동을 했다. 물론 이 문제는 세팅이나 조절을 통해 해결이 가능한 문제이기는 하지만 아무 손댈 필요 없는 그누보드를 그냥 이용하기로 했다. 월 50G까지 사용이 가능하다고 하는데...설마 그걸 다 쓸수가 있을까?