서버를 재배치 하였습니다. 서버이야기 | Posted on 2022. 1. 12. 13:02
일단 아시아쪽은 한국과 싱가포르를 제외하고는 삭제하였습니다.
한국의 경우는 AWS Lightsail 로 돌아왔는데..
기존에는 Vultr 6딸라 짜리 VPS 를 사용하였으나..
현재는 AWS Lightsail 관리형 데이터베이스(15 USD), AWS Lightsail 가상서버(10USD) x2, AWS Lightsail (3.50USD) 를 사용중입니다.
(큿.. 내 지갑..)
사실 그냥 일본 서버만 삭제했어도 됐을거 같은데..
사이트 리뉴얼 이후에 확인을 해보니, 로그인이 풀리는 문제가 발생하고 있는것을 확인하였습니다.
뭐가 문제일까 싶어서 고민을 해봤는데..
한국 서버가 아무래도 사용자가 몰리다보니까, 한국 서버에 사람이 많이 몰리면 반응 속도가 떨어지고, 반응속도가 떨어지면 바로 일본 서버로 연결돼서 발생하는 문제였습니다.
(DB의 경우는 Replication 이 적용돼어있는데, 세션은 없어서;; 그래서 추가할까 하다가 일단 이거는 우선순위 뒤로..)
원래는 하나의 서버가 몰려서 속도가 느려지면, 더 빠른 서버로 응답하는게 의도하였던바기는 한데..
세션 문제가 있어서 서버 재배치를 좀 더 빨리 진행하였습니다.
사실 Vultr 6딸라 짜리도 아직 버틸 수 있었던거 같기는 한데..
지금 시간 날때 로드바란서로 작업을..
그래서 현재 3.50 USD 에 NginX 로 로드바란서 역활을 하고 있고, 동시에 Redis 로 캐시와 세션을 구성하고 있습니다.
(AWS Lightsail 의 로드바란서를 사용해보려고 했는데, SSL 인증서가 2개만 가능하다고해서 인스턴스를 생성하였습니다. 일단 운영중인 도메인이 2개 넘어서;;)
DB는 관리형 데이터 베이스를 하나 생성(생성하는데 약 30 ~ 1시간정도 걸립니다.)하여서 Master DB 와 Replication 을 구성해두었습니다.
AWS Lightsail 관리형 데이터 베이스에서 DB Replication 을 구성할때 한가지 함정이 있는데..
AWS Lightsail 관리형 데이터 베이스에서 Outbound 를 막아뒀습니다.
(기본적으로 아웃바운드를 막는 VPS가 있다???)
그래서 네트워킹에 있는, 퍼블릭 모드를 켜주셔야합니다.
(DB Replication 을 구성하기 위해서는 보안을 포기하셔야 하는 불편한 진실..)
퍼블릭 모드를 켜 주신다음에, DB에 접속하는 URL을 ping 때려서 ip 주소 알아낸다음에 방화벽에 등록하도록 합시다.
(동일한 AWS 내에서라면 해당 작업은 불필요합니다. 어디까지나 외부 서비스와 연결할때 필요합니다.)
참고로 저 퍼블릭 모드를 껐다가 다시 키면 인스턴스와 동일하게 ip 가 변경돼기 때문에, 설정후에는 끄지 않는걸 추천합니다.
(아마도 이거때문에 outbound 를 막지 않았나 생각을.. 참고로 프라이빗은 접속 가능합니다. 이것은 ip가 변경돼지 않아서 ping 때려서 프라이빗 ip 알아낸 다음에 연결해도 됍니다.)
DB 의 경우는 버스트가 없기 때문에, CPU를 풀로 돌릴 수 있어서 참고하시면 됄듯합니다.
참고로 각 인스턴스당 항시 사용가능한 CPU 퍼센트는 위의 주소에서 확인이 가능합니다.
(번역이 좀 이상하긴하지만..)
대충 10 USD 짜리(CPU 20%)가 CPU만 따진다면 가성비가 괜찮은듯합니다.
그리고 DB 서버만 주기 때문에, 백업 후 복구할때 인스턴스건 뭐건 원격으로 접속 할 수 있는 것을 생성해서 작업해야합니다.
한국 서버는 위와 같고..
싱가포르 서버는 그냥 vultr 에 냅뒀습니다.
애드센스의 수익의 절반(서비스 이용자가 많다는 뜻)을 차지하는게 태국인데, 태국에서 가장 가까운게 싱가포르라..
(추후에 태국 리전이 생기면 옴길수도..???)
미국의 경우는 실리콘 밸리를 삭제하였으며, DigitalOcean 뉴욕 서버를 하나의 인스턴스로 변경하였습니다.
(사실 AWS 아니면 크게 꿀릴게 없는거 같아서.. 하나로..)
뉴욕 서버도 서버가 많이 활성화돼면 다시 각 서버 서비스별로 나눠서 재배치 할 수 있습니다.
유럽의 경우는 기존 프랑스 파리에서, 독일 프랑크푸르트로 옴겼습니다.
원래 프랑스 파리를 삭제하려고 했던거, 실수로 독일 프랑크푸르트를 삭제한거였어서;;
(유럽의 중앙에 있는게 독일 프랑크푸르트라 독일로 하였습니다.)
유럽의 경우는 Linode 로 구성하였습니다.
일단 사이트에는 기본 VPS 라는데, 아마도 Vultr 나 DigitalOcean 의 하이퍼포먼스 계열은 없는듯한..???
대신에 단독 VPS가 저렴해서, 추후에 서비스가 커지면 옴기는것도 고려해볼 수 있을거 같네요.
지금은 유럽쪽 서버 돌려보면서 어떤지 확인을 좀 해보고..
가입하면서 본건데 Linode 도 조만간 DB 서버가 열린다고 합니다.
Vultr 는 없고, DigitalOcean 은 비싼데, Linode 가 AWS Lightsail 급으로 나오면 추후 서버 나누는것은 Linode로 시도해 볼수도..
(현재 가장 확률이 높은건 싱가포르 서버입니다. 그쪽이 한국처럼 간간히 서버 죽는 현상이 있는거 같아서.. 서비스가 완전히 죽지는 않고 몇분뒤에 바로 복구돼는데, 그 이유가 위에서 말한 지연시간 라우팅때문에 몰리면 타지역 서버로 라우팅 됍니다.)
현재 서버의 상태는 이렇습니다.
돈이 좀 더 많이 들어가는 구성이기는 한데..
이번에는 AWS Lightsail 인스턴스에서 모든것을 구성하는것이 아닌, AWS Lightsail 에서도 나눌 수 있는건 최대한 나누면서 인스턴스를 최소화 해보았습니다.
(그래봐쟈 DB만 나눴는데, 사실 DB가 CPU랑 램을 많이 먹는거라..)
만약에 과거처럼 문제가 생기면 다시 한번 폭풍 포스팅을..
ps. 이번에 서버 재배치하면서 검색해봤는데, 과거처럼 무지성 AWS 찬양론자들이 많이 사라졌군요?
나름 바람직한 현상..
(그만큼 찬양론자들이 피를 많이 봤다는거겠지.. 아~ 그래서 지표랑 서버내에서 모니터링 수치는 아무런 이상이 없는데 서버 왜 죽냐고~ 과거에 계속해서 이야기 한거처럼 오버부킹이 심각한듯한..)
과거 폭풍 포스팅 할때만 해도 AWS 까는글을 적으면 바로 그분들이 달려와서 극딜을 했었는데 말이죠? (웃음.)
만약에 이번에도 서울 서버가 불안정하면 AWS Lightsail 에서 다시 다른걸로 옴길 예정입니다.
(문제는 한국에 리전이 있으면서, transfer pool 이 있는 VPS가..)
ps2. 앵간하면 인터넷 검색해서 자료를 모아보는데, AWS Lightsail 도 마찬가지로 인스턴스만 사용하는 사람들이 많은거 같네요.
로드바란서나 DB, CDN, S3 등에 대한 자료 보기가 힘든..
개인적으로 DB 이외에도 테스트를 해보고 싶은데..
로드바란서는 위에서 말한거처럼 운영중인 도메인이 2개 넘어가서 테스트를 못하고..
CDN은 연결 할 인스턴스(예?) 혹은 S3(아래의 이유) 필요해서 패스..
S3는 1TB에 5.5 USD 였나? 하는거 쓰기 때문에 패스..
ps3. 이번 서버 재배치에는 Let's Encrypt 를 새롭게 발급하는것이 아닌, 기존에 사용하던 인증서를 복사 붙여넣기로 옴겨서 작업하였습니다.
일단 시뮬레이션에서는 통과가 됐는데, 진짜로 별 문제없이 동작할지는 갱신 주기가 와야 확인이 가능할듯하네요.
만약에 갱신까지 아무런 문제가 없다면, 이것도 포스팅 예정..