수직적 확장 (Vertical Scaling): 기존의 인스턴스의 성능을 향상시키는 것입니다. 예를 들어, AWS EC2 인스턴스 유형을 t3.micro에서 t3.medium으로 변경하는 것입니다.
수평적 확장 (Horizontal Scaling): 인스턴스의 개수를 늘리거나 줄이는 것입니다. 주로 부하 분산이나 오토 스케일링을 통해 구현됩니다.
고 가용성은 시스템이 지속적으로 정상적으로 운영될 수 있도록 하는 것입니다. 이를 위해 중복된 컴포넌트를 사용하여 장애에 대한 영향을 최소화하고 가용성을 향상시킵니다. 이러한 접근 방식을 이중화(Duplication)라고도 합니다.
ELB는 여러 대의 Amazon EC2 인스턴스, 컨테이너, IP 주소 및 Lambda 함수와 같은 여러 리소스로부터 들어오는 트래픽을 분산하는 데 사용됩니다. 이를 통해 시스템의 가용성과 확장성이 향상되며, 일부 인스턴스 또는 리소스가 장애가 발생하더라도 사용자는 서비스 중단 없이 애플리케이션에 접근할 수 있습니다.
ELB는 또한 Auto Scaling 그룹과 함께 사용될 때 자동으로 스케일링됩니다. 이것은 트래픽 부하가 증가하면 ELB가 인스턴스 수를 자동으로 늘리고, 트래픽 부하가 감소하면 ELB가 인스턴스 수를 자동으로 줄임으로써 사용자의 요구에 맞게 확장 가능한 인프라를 제공합니다.
ELB는 Application Load Balancer(ALB), Network Load Balancer(NLB), Gateway Load Balancer(GWLB), Classic Load Balancer(CLB)의 세 가지 유형이 있습니다. 각 유형은 다른 방식으로 트래픽을 분산하고 각각의 고유한 기능과 사용 사례가 있습니다.
로드밸런서에서 수신하는 요청을 받아서 대상 그룹으로 전달하는 구성 요소입니다. 로드밸런서의 유형에 따라 HTTP, HTTPS, TCP, UDP 등의 프로토콜 및 포트 번호를 지정해야 합니다.