최근에 UDP Flooding으로 DDoS를 얻어맞고 IDC에서 널라우팅 24시간과 다음번에 또 그러면 직권해지를 해버린다는 무자비한 통보를 받았습니다
외양간이라도 열심히 고쳐보려고 하루정도 열심히 리서치를 해봤는데, 당장 적용할 수 있을만한 방법은 클플을 붙이거나 기본적으로 L3/L4 DDoS 방어는 제공하는 업체의 VPS 등을 통해 프록시를 걸어 사용하는 방법이겠더라구요.
업체를 자체를 옮기는건.. 아직 코로케이션 계약기간이 1년가량 남아있어서 그것까지 고려하지는 않았습니다.
거기에 서버 반출하고 데이터 옮기고 이런 작업이 금방 끝날일은 아니지요
클플 역시 한국 ICN리전에 못붙으면 속도가 환장할정도로 느리다 하여 우선은 선택지에서 제거했습니다.
그런고로 우선 내린 결론은, lightsail 또는 linode 중 한 곳에서 VPS 신청하여, 본래 서버로 프록시를 거는겁니다.
다만 이 두 업체중에 한 업체로 확실하게 고르지 못한 이유가 각 서비스별로 장단이 있다고 판단한건데요,
lightsail은 서울리전이 있고 필요한 경우 LB구성도 가능해서 트래픽이 아슬하거나 부하가 좀 있다 싶으면 하나 더 서버 올려서 분산하면 되겠다 싶었습니다. 단점은 상대적으로 CPU 성능이 안습이라고 하더라구요
linode는 우선 한국리전이 없습니다. 그래서 지리적으로 가장 가까운 일본리전을 사용하게 될 것 같고 같은 가격 서비스여도 lightsail보다는 상대적으로 성능이 좀 더 괜찮다고 하더라구요.
속도에 좀 민감하게 튜닝을 해서 IDC에서 다이렉트로 서비스할때는 보통 게시글 리스트 표시할때도 40ms 내외로 유지했는데, 일본까지 건너가면 특히 프록시로 사용할 예정이라 한국 -> 일본 -> 한국 -> 일본 -> 한국으로 200ms는 나올것같아 걱정이 큽니다.
이 길고 긴 내용을 토대로 여쭙고 싶은것은,
1. 프록시 서버로 사용할 때 VPS에 오는 부하가 얼마나 있을지 (어느 성능으로 몇 대 구성을 해야할지에 대한 참고치가 어림짐작으로라도 필요합니다 ㅠㅠ)
2. 상대적으로 성능이 구리다는 lightsail로 충분히 커버가 가능할지, 혹은 속도 감안하더라도 linode쪽이 구성상 유리할지
두 가지 내용에 대해 조언 부탁드리겠습니다
참고자료
평시 트래픽(5분평균): 인바운드 2M / 아웃바운드 15M
피크 트래픽(5분평균): 인바운드 3M / 아웃바운드 25M
동접자수(GA기준): 상시 약 40명 내외, 경우에 따라 최대 50명정도
XE로 운영중, 실시간 알림 서비스 구현을 위해 모든 사용자는 웹소켓도 상시 연결되어 있습니다
핑은 왕복 시간을 의미하므로, 일본까지 2번 왕복한다면 80ms입니다. 그래도 프록시 서버라면 가까운 것이 최고입니다. 80ms만 해도 충분히 느껴지지요. 해외망 상태가 좋지 않은 주말이나 저녁에 SKT로 접속한다면 정말 200ms 이상 나올 수도 있습니다.
nginx처럼 저사양 서버에 적합한 웹서버를 사용한다면 성능은 웬만하면 걱정할 필요 없습니다. 1코어 라이트세일 인스턴스에서 평균 5Mbps 프록시 및 SSL termination 처리시 CPU 점유율이 3% 정도 나왔고, 메모리 사용량도 150MB 이하였습니다. 실서버와의 통신에도 SSL을 사용한다면 조금 더 나오겠지요. 웹소켓까지 제대로 프록시되도록 nginx 설정만 신경쓰시면 됩니다.
무엇보다도, AWS의 디도스 방어 능력이 Linode보다 좋습니다.
한 가지 주의하셔야 할 점은 기존 IDC의 해외트래픽 정책입니다. AWS 서울지점 서버와 통신하는 것을 모두 해외트래픽으로 간주하여 해외트래픽 초과 요금을 받는 업체도 있고, 심지어 QoS를 걸어서 어마어마하게 느려지는 경우도 있습니다. IP를 조회해 보면 외국 업체 명의로 되어 있으니까요. AWS에서 고정 IP를 확보한 후 반드시 기존 IDC에 확인하셔야 합니다. 첨부이미지 등 트래픽을 많이 사용하는 파일들은 AWS 쪽에서 proxy cache를 사용하여 메인서버와의 통신을 최소화하는 것도 좋은 방법입니다.