Target Group

Hoju·2022년 8월 27일
0

Ap

목록 보기
3/3
post-thumbnail

ELB Target Group에 Target Type

각 대상 그룹은 요청을 하나 이상의 등록된 대상으로 라우팅하는 데 사용된다. 각 리스너 규칙을 생성할 때 대상 그룹 및 조건을 지정한다. 규칙 조건이 충족되면 트래픽이 해당 대상 그룹으로 전달된다. 다양한 유형의 요청에 대해 서로 다른 대상 그룹을 생성할 수 있다. 예를 들어, 일반 요청에 대해 하나의 대상 그룹을 생성하고 애플리케이션의 마이크로서비스에 대한 요청에 대해 다른 대상 그룹을 생성한다.

라우팅 구성

기본적으로 로드 벨런서는 대상 그룹을 생성할 때 지정한 프로토콜 및 포트 번호를 사용하여 대상으로 요청을 라우팅한다. 또는 대상 그룹에 등록할 때 대상으로 트래픽을 라우팅하는 데 사용되는 포트를 재정의할 수 있다.

대상 그룹은 다음 프로토콜 및 포트를 지원합니다.

  • 프로토콜 : HTTP, HTTPS
  • 포트 : 1-65535

대상 유형

대상 그룹을 생성할 때 이 대상 그룹에 대상을 등록할 때 지정하는 대상 유형을 결정하는 대상 유형을 지정합니다. 대상 그룹을 생성한 후에는 대상 유형을 변경할 수 없습니다.

대상 유형

  • instance대상은 인스턴스 ID로 지정됩니다. VPC 내에 특정 인스턴스를 연결하여 로드 벨런싱을 지원합니다.
  • ip대상은 IP 주소입니다. 동일한 인스턴스에 있는 여러 IP 주소 및 네트워크 인터페이스로의 라우팅을 지원한다. 마이크로서비스 기반 아키텍처를 통한 유연성을 제공하여 애플리케이션 간 통신을 간소화한다.

대상 유형이 ip인 경우 다음 CIDR 블록 중 하나에서 IP 주소를 지정할 수 있습니다.

  • 대상 그룹에 대한 VPC의 서브넷
  • 10.0.0.0/8 ( RFC 1918)
  • 100.64.0.0/10 ( RFC 6598)
  • 172.16.0.0/12(RFC 1918)
  • 192.168.0.0/16(RFC 1918)
  • lambda대상은 Lambda 함수입니다. 단일 함수로 라우팅을 지원합니다. ALB에서만 액세스할 수 있습니다.
  • Application Load Balancer 대상은 NLB용 Application Load Balancer 유형 대상 그룹을 사용하여 달성됩니다. 이제 PrivateLink 및 영역별 고정 IP 주소를 비롯한 NLB의 이점을 ALB에서 제공하는 고급 라우팅과 결합하여 애플리케이션에 대한 트래픽 부하를 분산할 수 있습니다.

설정

  • Target Group Name: 이름을 설정하는 부분입니다.
  • 프로토콜: 포트: 이 부분은 이는 이 대상그룹에 소속된 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가 뜹니다.

고급 상태 검사 설정

이 부분에서는 상태 검사에 대해 세부적으로 설정하는 부분입니다.

  • Port: 대상에 대한 상태 검사를 수행할 때 Load Balancer가 사용하는 포트입니다. 재정의를 선택한다음 Default 값이 아닌 사용자 지정값으로 구성할 수 있습니다.
  • 정상 임계 값: 비정상 상태의 대상을 정상으로 간주하기까지 필요한 연속적 상태 검사 성공 횟수를 말합니다. 즉, 대상이 정상이라면 검사 성공 횟수 지정한 값만큼 성공하면 됩니다.
  • 비정상 임계값: 대상을 비정상 상태로 간주하기까지 필요한 연속적인 상태 검사 실패 횟수입니다. 즉, 대상이 비정상이라면 검사 실패 횟수 지정한 값만큼 실패하면 됩니다.
  • 제한 시간: 상태 검사 실패를 의미하는 응답이 없는 기간입니다. 즉, 상태 검사를 실행하였지만 설정한 초만큼 응답을 받을 수 없다는 뜻입니다.
  • 간격: 개별 대상의 상태 검사 사이의 대략적인 시간입니다. 즉, 위에 보면 30초로 설정되어있습니다. 그럼 상태검사를 30초마다 개별적으로 한다는 뜻입니다. 주기적으로 빠르게 상태 검사를 원한다면 초를 내리면 됩니다. 그러나 제한 시간 보다는 높아야합니다.
  • 성공 코드: 대상으로부터 응답 성공을 확인할 때 사용하는 HTTP 코드입니다. 즉, 대상이 정상 상태라면 LoadBalancer는 200을 응답해주는 것입니다.

대상 등록

이는 대상 그룹을 생성하기 위한 선택적 단계입니다. 그러나 로드 밸런서가 이 대상 그룹으로 트래픽을 라우팅하려면 대상을 등록해야 합니다.

profile
Devops가 되고 싶은 청소년

0개의 댓글