Route53을 이용한 로드밸런스와 헬스체크를 통한 장애처리
로드밸런스 EC2를 부하분산 시키면서 하는 방식이 더 유연성 있게 좋은 결과를 나타냅니다. 빠른 처리라고 해야 하는것이 맞겠습니다.
하지만 경우에 따라 로드밸런스를 그렇게 하지 않아도 되는 경우는 네임서버를 이용하는 방법을 사용해도 됩니다.
최소 2대가 있어야겠습니다.
EC2를 이용한 방식은 2대의 서버와 1대의 부하분산용서버 그래서 총3대가 들어갑니다. 헬스 체크 해야 되고 그렇습니다.
네임서버를 이용하는 방법은 네임서버에서 헬스체크하는 기능을 이용합니다. AWS 서버이면 무료(갯수 무제한인지는 별도 확인 필요) 입니다. 그외 외부로 나가는것은 비용을 받는데 http, https 비용이 다릅니다. 네임서버 설정시 두대를 지정하면서 자동으로 장애시 자동으로 빠지도록 설정 하면 됩니다.
단, 단점이라면 느리게 반영 됩니다.
느린부분은 두곳인데요. 네임서버 자체에서 약간 느릴 수 있고. 헬스체크 하는곳에서 약간 느릴 수 있습니다.
헬스체크 부분은 빠르게 하고 싶으면 지정하는 횟수를 적게 주는 방식을 취하면 30초를 3회 였든가 그렇습니다. 그래도 1분 30초가 됩니다.
원할한 서비스에선 곤란한 방식이긴 합니다.
하지만 사실상 몇년에 한번 장애 있을까 말까한 경우이고 몇년에 한번 몇분 서비스가 안 될 수 있어도 큰 문제가 안될 수 있다면 사용해볼만 서비스 입니다.
더군다나 어짜피 1대가 있는 해외지역이라면 이 장애처리 방식을 사용하게 되어 있습니다.
예를 들면 이렇게 되는거죠.
영국에 1대
프랑스 1대
독일 1대
스웨덴 1대
이렇게 있을 때 프랑스에서 장애가 발생 되면 독일로 연결 되게.
또는 CDN 사용하기 때문에 독일에 서버를 3대 두고 부하분한 1대 두고 네임서버 장애처리 방식을 사용하지 않는 방식도 있겟습니다.
동일한 비용이 들어가는 방식에서 어떤것이 더 현지화 되고 사용자에게 더 좋은 방식인지 판단하여 서비스 하면 되는데요 항상 중요한것은 속도에 문제 없으면서 어느것이 비용적인 측면에서 유리한가 입니다.
비용만 문제 없다면
두가지 방식을 모두 다 사용하면서 병행하는 방법입니다.