앱 트래픽을 관리하는 데 AWS를 사용하시나요? 이미 해당 솔루션 중 하나를 사용하고 있을 가능성이 큽니다.
솔직히 말해서, 저는 애플리케이션의 크기에 따라 Amazon의 맞춤형 트래픽 관리 도구를 선호합니다. Amazon CloudFront는 성능이 좋습니다. Virtual Waiting Rooms도 일부 소규모 애플리케이션에 유용합니다.
쿠버네티스를 사용하는 더 큰 애플리케이션의 경우, 쿠버네티스 AWS 로드 밸런서 컨트롤러가 있습니다. 솔직히 말해서, 이 제품에 대한 기존 정보로는 사용할 가치가 있는지 없는지 판단하기가 거의 불가능합니다.
그러면 로드 밸런싱에 대해 알아보겠습니다. 로드 밸런싱이 필요한 이유와 이 컨트롤러가 가치가 있는지에 대해 알아보겠습니다.
로드 밸런서 컨트롤러란 무엇입니까?
부하 분산은 애플리케이션이 계속해서 원활하게 작동할 수 있도록 트래픽을 애플리케이션에 분산하는 것을 의미합니다.
먼저, 로드 밸런서와 컨트롤러의 차이점을 알아야 합니다.
- 로드 밸런서 기능적으로 교통을 분산하고,
- 안 LB 컨트롤러 Kubernetes Ingress 리소스를 충족하기 위해 LB를 프로비저닝합니다. 이러한 리소스는 트래픽을 다른 컨테이너로 프록시합니다.
즉, Kubernetes를 사용하여 애플리케이션을 운영하는 경우 Ingress 리소스를 충족하기 위해 Kubernetes AWS 로드 밸런서 컨트롤러가 필요합니다. 이것이 없으면 Kubernetes의 자동화된 스토리지 프로비저닝 서비스를 활용할 수 없습니다.
교통 관리, LB, 그리고 컨트롤러, 오마이갓!
이 컨트롤러에 관해 온라인에서 찾은 정보 대부분은 매우 형편없습니다. Kubernetes SME조차도 제가 본 불일치를 완전히 이해하는 데 어려움을 겪을 것입니다. 자세한 내용은 제 돈으로 구할 수 있는 Kubernetes 로드 밸런서 프로비저닝 설명자 중에서 가장 좋습니다.
LB 자체의 경우 AWS 탄력적 로드 밸런서는 지금까지 가장 인기 있는 선택입니다. 전체 시장 점유율의 약 75%를 차지할 것으로 추정됩니다. 충분히 간단합니다. 견고한 제품입니다.
컨트롤러는 AWS Elastic Load Balancer와 함께 Kubernetes 리소스를 효과적으로 배포하는 데 도움을 줍니다.
그럼 LB 외에 컨트롤러가 필요한가요? 로드 밸런싱의 목표를 고려해 봅시다.
로드 밸런싱은 언제 유용한가요?
LB는 애플리케이션에 대한 다양한 유형의 트래픽을 관리하는 데 도움이 됩니다. 여기에는 다음이 포함됩니다.
1. 상호작용 트래픽
이는 귀하의 웹사이트나 매장을 방문하는 표준 방문자로 구성됩니다. 이들은 일정하므로 우선순위가 지정되지 않고 효과적으로 관리되지 않으면 사용 가능한 대역폭에 영향을 미칠 수 있습니다.
2. 지연에 민감한 트래픽
여기에는 90년대와 00년대 인터넷 사용자가 대역폭이 압박을 받으면서 무너지는 것을 두려워할 만한 모든 것이 포함됩니다. 게임, 비디오, 실시간 통화 등 지속적으로 높은 대역폭 수요를 생성하는 모든 것입니다.
이러한 애플리케이션에는 확장 가능한 인프라가 필요합니다. LB는 지연에 민감한 트래픽을 관리하는 데 필수적입니다.
3. 버스트 트래픽
버스트 트래픽은 사용자가 대용량 파일을 다운로드할 때 갑자기 대역폭에 대한 수요가 엄청나게 높아질 때 발생합니다.
LB는 트래픽을 분산시키고 대역폭에 대한 액세스를 제한하여 충돌을 방지할 수 있습니다.
Elastic Load Balancing이 어떻게 도움이 되는가
위에 나열된 트래픽 유형은 모두 AWS 탄력적 로드 밸런서를 통해 관리할 수 있지만, 볼륨이 매우 높지 않아야 합니다. 애플리케이션이 상당히 작다면 컨트롤러 없이도 괜찮을 것입니다.
Kubernetes가 귀하의 애플리케이션에 반드시 필요하지 않을 수도 있기 때문입니다. Kubernetes는 주로 수많은 컨테이너가 필요한 대규모 애플리케이션을 위해 설계되었습니다.
Kubernetes AWS LB 컨트롤러가 필요한가요?
쿠버네티스는 작은 애플리케이션에는 약간 압도적일 수 있으며, 논란의 여지 없이 필요하지 않습니다. 그러나 대규모 애플리케이션에는 매우 유용합니다. 이 경우 LB 컨트롤러를 갖는 것이 가치가 있습니다.
이는 이 제품의 약간 일관되지 않은 정보를 신비화 해제해야 한다는 것을 의미합니다. 자동화된 스토리지 프로비저닝은 쿠버네티스의 주요 이점이며, 컨트롤러는 그것을 작동하게 합니다.
마지막 생각
교통 관리란 충돌이 일어나기 전까지는 매우 간단하게 들립니다. 더 정교한 애플리케이션을 운영하는 경우, 모든 움직이는 부분이 서로 계속 통신하고 교통을 효율적으로 분산하도록 보장하는 더 진보된 솔루션이 필요합니다.
제가 가장 추천하는 건? 애플리케이션에 Kubernetes를 사용할 계획이라면 먼저 전문가 Kubernetes SME와 상담하세요. 그리고 이미 사용 중이라면 전문가의 조언도 나쁘지 않을 겁니다.