각 대상 그룹은 요청을 하나 이상의 등록된 대상으로 라우팅하는 데 사용된다. 각 리스너 규칙을 생성할 때 대상 그룹 및 조건을 지정한다. 규칙 조건이 충족되면 트래픽이 해당 대상 그룹으로 전달된다. 다양한 유형의 요청에 대해 서로 다른 대상 그룹을 생성할 수 있다. 예를 들어, 일반 요청에 대해 하나의 대상 그룹을 생성하고 애플리케이션의 마이크로서비스에 대한 요청에 대해 다른 대상 그룹을 생성한다.
기본적으로 로드 벨런서는 대상 그룹을 생성할 때 지정한 프로토콜 및 포트 번호를 사용하여 대상으로 요청을 라우팅한다. 또는 대상 그룹에 등록할 때 대상으로 트래픽을 라우팅하는 데 사용되는 포트를 재정의할 수 있다.
대상 그룹은 다음 프로토콜 및 포트를 지원합니다.
대상 그룹을 생성할 때 이 대상 그룹에 대상을 등록할 때 지정하는 대상 유형을 결정하는 대상 유형을 지정합니다. 대상 그룹을 생성한 후에는 대상 유형을 변경할 수 없습니다.
대상 유형
instance
대상은 인스턴스 ID로 지정됩니다. VPC 내에 특정 인스턴스를 연결하여 로드 벨런싱을 지원합니다.ip
대상은 IP 주소입니다. 동일한 인스턴스에 있는 여러 IP 주소 및 네트워크 인터페이스로의 라우팅을 지원한다. 마이크로서비스 기반 아키텍처를 통한 유연성을 제공하여 애플리케이션 간 통신을 간소화한다.대상 유형이 ip
인 경우 다음 CIDR 블록 중 하나에서 IP 주소를 지정할 수 있습니다.
lambda
대상은 Lambda 함수입니다. 단일 함수로 라우팅을 지원합니다. ALB에서만 액세스할 수 있습니다.프로토콜: 포트: 이 부분은 이는 이 대상그룹에 소속된 EC2들이 설정된 'Protocol: Port'만 받는다는 것을 의미합니다. 즉, HTTP: 80으로 설정한다면 이 대상그룹에 소속된 EC2 Instance들은 80 Port로 설정된 요청만을 받아들인다는 것 입니다.
VPC: 대상 그룹에 포함할 인스턴스가 있는 VPC 대역을 선택합니다.
프로토콜 버전
- HTTP1: HTTP/1.1을 사용하여 대상으로 요청을 전송합니다. 요청 프로토콜이 HTTP/1.1 또는 HTTP/2일 때 지원됩니다.
- HTTP2: HTTP/2를 사용하여 대상으로 요청을 전송합니다. 요청 프로토콜이 HTTP/2 또는 gRPC일 때 지원되지만 gRPC 전용 기능은 사용할 수 없습니다.
- gRPC(Remote Procedure Call): gRPC를 사용하여 대상으로 요청을 전송합니다. 요청 프로토콜이 gRPC일 때 지원됩니다. gRPC는 한 프로그램이 네트워크의 세부 정보를 이해하지 않고도 네트워크 안의 다른 컴퓨터에 있는 프로그램에서 서비스를 요청하는 프로토콜입니다.
- 다음 표에는 요청 프로토콜과 대상 그룹 프로토콜 버전의 조합에 대한 결과를 표시합니다.
상태 검사는 매우 중요한 작업입니다.
상태 검사 프로토콜은 2가지가 있습니다. HTTP, HTTPS가 있습니다. 상태 검사에서는 지정한 상태 검사 경로로 연결된 LoadBalancer가 상태 테스트를 위해 등록된 대상에 요청을 주기적으로 전송해서 응답을 가져온다 싶으면 상태 확인이 되지만, 응답을 받지 못한다면 상태 불확인이 되어 Unhealthy가 뜹니다.
이 부분에서는 상태 검사에 대해 세부적으로 설정하는 부분입니다.
이는 대상 그룹을 생성하기 위한 선택적 단계입니다. 그러나 로드 밸런서가 이 대상 그룹으로 트래픽을 라우팅하려면 대상을 등록해야 합니다.