저는 SmugMug 수준의 트래픽으로 AWS로드 밸런싱 솔루션을 구축 한 적이 없지만 이론과 AWS 서비스 만 생각하면 몇 가지 아이디어가 떠 오릅니다.
원래 질문에는로드 밸런싱 디자인에 영향을주는 몇 가지 사항이 누락되었습니다.
- 끈끈한 세션? 고정 세션을 사용하지 않고 모든로드 밸런서 (LB)가 라운드 로빈 (RR) 또는 임의 백엔드 선택을 사용하도록하는 것이 좋습니다. RR 또는 임의 백엔드 선택은 간단하고 확장 가능하며 모든 상황에서 균일 한로드 분배를 제공합니다.
- SSL 여부 SSL 사용 여부와 요청 비율에 따라 일반적으로로드 균형 조정 디자인에 영향을줍니다. 인증서 처리를 단순화하고 SSL CPU로드를 웹 응용 프로그램 서버로부터 멀리 유지하려면 가능한 한 빨리 SSL을 종료하는 것이 좋습니다.
로드 밸런싱 계층 자체를 고 가용성 으로 유지하는 방법의 관점에서 대답하고 있습니다. 애플리케이션 서버 HA를 유지하는 것은 L7로드 밸런서에 내장 된 상태 점검으로 수행됩니다.
좋아, 몇 가지 아이디어가 작동해야합니다.
1) "AWS 방식":
- 첫 번째 계층은 맨 앞에 L4 (TCP / IP) 모드에서 ELB를 사용합니다.
- 두 번째 계층에서는 선택한 L7로드 밸런서 (nginx, HAProxy, Apache 등)와 함께 EC2 인스턴스를 사용하십시오.
이점 / 아이디어 : L7로드 밸런서는 모두 동일한 AMI에서 복제되고 동일한 구성을 사용하는 매우 간단한 EC2 AMI 일 수 있습니다. 따라서 Amazon 도구는 모든 HA 요구를 처리 할 수 있습니다. ELB는 L7로드 밸런서를 모니터링합니다. L7 LB가 죽거나 응답이 없으면 ELB & Cloudwatch는 새로운 인스턴스를 자동으로 생성하여 ELB 풀로 가져옵니다.
2) "모니터링 방식의 DNS 라운드 로빈 :"
- 기본 DNS 라운드 로빈을 사용하여 몇 개의 IP 주소를 통해 대략적인 부하 분산을 얻을 수 있습니다. 사이트에 대해 3 개의 IP 주소를 게시한다고 가정 해 봅시다.
- 이 3 개의 IP 각각은 선택한 L7로드 밸런서를 사용하여 EC2 인스턴스에 바인딩 된 AWS EIA (Elastic IP Address)입니다.
- EC2 L7 LB가 종료되면 호환되는 사용자 에이전트 (브라우저) 는 다른 IP 중 하나만 사용해야 합니다.
- 외부 모니터링 서버를 설정하십시오. 3 개의 EIP 각각을 모니터하십시오. 응답이 없으면 AWS의 명령 줄 도구와 일부 스크립팅을 사용하여 EIP를 다른 EC2 인스턴스로 옮깁니다.
이점 / 아이디어 : 호환되는 사용자 에이전트는 응답하지 않으면 다른 IP 주소로 자동 전환해야합니다. 따라서 장애가 발생한 경우 1/3의 사용자에게만 영향을 미치며 대부분의 UA는 다른 IP로 자동 장애 조치되므로 아무런 통지도하지 않습니다. 또한 외부 모니터링 상자에 EIP가 응답하지 않으며 몇 분 내에 상황을 바로 잡을 수 있습니다.
3) HA 서버 쌍에 대한 DNS RR :
기본적으로 이것은 한 쌍의 서버간에 간단한 하트 비트를 제안하지만 Don 's는 자체적으로 제안하지만 여러 IP 주소에 대해 단순화되었습니다.
- DNS RR을 사용하여 서비스에 대한 여러 IP 주소를 게시하십시오. 위의 예에 따라 3 개의 IP를 게시한다고 가정 해 봅시다.
- 이러한 각 IP는 한 쌍 의 EC2 서버에 연결되므로 총 6 개의 EC2 인스턴스가 사용됩니다.
- 이러한 각 쌍은 AWS 도구와 함께 하트 비트 또는 다른 HA 솔루션을 사용하여 능동 / 수동 구성에서 하나의 IP 주소를 활성 상태로 유지합니다.
- 각 EC2 인스턴스에는 선택한 L7로드 밸런서가 설치되어 있습니다.
이점 / 아이디어 : AWS의 완전히 가상화 된 환경에서는 실제로 L4 서비스 및 페일 오버 모드에 대해 추론하기가 쉽지 않습니다. 하나의 IP 주소 만 유지하면서 한 쌍의 동일한 서버로 단순화함으로써 추론 및 테스트가 더욱 간단 해집니다.
결론 : 다시 한 번, 실제로 프로덕션에서는이 작업을 시도하지 않았습니다. 내 직감에서 L4 모드의 ELB 옵션 1 및 L7 LB의 자체 관리 EC2 인스턴스는 AWS 플랫폼의 정신과 가장 잘 일치하는 것으로 보이며 나중에 Amazon이 투자하고 확장 할 가능성이 가장 높습니다. 이것은 아마도 나의 첫 번째 선택 일 것입니다.