Network Load Balancer의 대상으로서 Application Load Balancer 사용 - Elastic Load Balancing

Network Load Balancer의 대상으로서 Application Load Balancer 사용

단일 Application Load Balancer를 대상으로 사용하여 대상 그룹을 생성하고 트래픽을 전달하도록 Network Load Balancer를 구성할 수 있습니다. 이 시나리오에서는 Application Load Balancer가 트래픽이 도달하는 즉시 로드 밸런싱 결정을 인계합니다. 이 구성은 두 로드 밸런서의 기능을 결합하고 다음과 같은 이점을 제공합니다.

  • Application Load Balancer의 계층 7 요청 기반 라우팅 기능을 엔드포인트 서비스(AWS PrivateLink) 및 정적 IP 주소 등의 Network Load Balancer가 지원하는 기능과 함께 사용할 수 있습니다.

  • 이 구성은 시그널링을 위해 HTTP를 사용하는 미디어 서비스, 콘텐츠 스트리밍을 위한 RTP와 같이 멀티 프로토콜을 위한 단일 엔드포인트가 필요한 애플리케이션에 대해 이 구성을 사용할 수 있습니다.

내부 또는 인터넷 연결 Application Load Balancer를 내부 또는 인터넷 연결 Network Load Balancer의 대상으로 이 기능을 사용할 수 있습니다.

고려 사항
  • 대상 그룹당 하나의 Application Load Balancer만 등록할 수 있습니다.

  • Application Load Balancer를 Network Load Balancer의 대상으로 연결하려면, 로드 밸런서들이 동일 계정 내의 동일 VPC에 있어야 합니다.

  • Application Load Balancer를 최대 2개의 Network Load Balancer의 대상으로 연결할 수 있습니다. 이렇게 하려면 Application Load Balancer를 각 개별 Network Load Balancer를 위한 대상 그룹에 등록 합니다.

  • Network Load Balancer에 등록하는 각 Application Load Balancer는 Network Load Balancer당 가용 영역당 최대 대상 수를 50만큼 줄입니다. 지연 시간을 최소화하고 리전 데이터 전송 요금을 방지하기 위해 두 로드 밸런서에 교차 영역 로드 밸런싱을 비활성화할 수 있습니다. 자세한 내용은 Network Load Balancer 할당량 단원을 참조하세요.

  • 대상 그룹 유형이 alb인 경우 대상 그룹 속성을 수정할 수 없습니다. 이러한 속성은 항상 기본값을 사용합니다.

  • Application Load Balancer를 대상으로 등록하면 모든 대상 그룹에서 등록을 취소하기 전까지는 Application Load Balancer Balancer를 삭제할 수 없습니다.

  • Network Load Balancer와 Application Load Balancer 간의 통신은 항상 IPv4를 사용합니다.

전제 조건

아직 대상으로 사용할 Application Load Balancer가 없는 경우, 로드 밸런서, 해당 리스너 및 대상 그룹을 생성하십시오. 자세한 내용은 Application Load Balancer 사용 설명서Application Load Balancer 생성을 참조하세요.

1단계: alb 유형의 대상 그룹 생성

alb 유형의 대상 그룹을 생성합니다. 대상 그룹을 생성할 때 또는 나중에 Application Load Balancer를 대상으로 등록할 수 있습니다.

Console
Application Load Balancer를 대상으로 하는 대상 그룹을 생성하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 로드 밸런싱(Load Balancing) 아래에서 대상 그룹(Target Groups)을 선택합니다.

  3. 대상 그룹 생성을 선택합니다.

  4. 기본 구성 창의 대상 유형 선택에서 Application Load Balancer를 선택합니다.

  5. 대상 그룹 이름에 대상 그룹의 이름을 입력합니다.

  6. 프로토콜은 TCP만 허용됩니다. 대상 그룹에 대한 포트를 선택합니다. 이 대상 그룹의 포트는 Application Load Balancer의 리스너 포트와 일치해야 합니다. 이 대상 그룹에 대해 다른 포트를 선택한 경우, 일치하도록 Application Load Balancer의 리스너 포트를 업데이트할 수 있습니다.

  7. VPC의 경우, 대상 그룹에 대한 가상 프라이빗 클라우드(VPC)를 선택합니다. 이는 Application Load Balancer에서 사용하는 것과 동일한 VPC여야 합니다.

  8. 상태 확인의 경우 HTTP 또는 HTTPS를 상태 확인 프로토콜로 선택합니다. 상태 확인은 Application Load Balancer로 전송되고 지정된 포트, 프로토콜 및 핑 경로를 사용하여 대상에 전달됩니다. 상태 확인 포트 및 프로토콜과 일치하는 포트 및 프로토콜이 있는 리스너를 사용하여 Application Load Balancer에서 이러한 상태 확인을 수신할 수 있는지 확인합니다.

  9. (선택 사항) 태그를 확장하세요. 각 태그에 대해 새 태그 추가를 선택하고 태그 키와 태그 값을 입력합니다.

  10. 다음을 선택합니다.

  11. Application Load Balancer를 등록할 준비가 되었다면 지금 등록을 선택하고, 필요하다면 기본 포트를 재정의한 후 Application Load Balancer를 선택하십시오. Application Load Balancer는 대상 그룹과 동일한 포트에 리스너를 가지고 있어야 합니다. 대상 그룹 포트와 일치하도록 이 로드 밸런서에 리스너를 추가하거나 편집하거나, 이전 단계로 돌아가 대상 그룹의 포트를 변경할 수 있습니다.

    Application Load Balancer를 대상으로 등록할 준비가 되지 않은 경우 나중에 등록을 선택하고 나중에 대상을 등록하십시오. 자세한 내용은 대상 등록 단원을 참조하세요.

  12. 대상 그룹 생성을 선택합니다.

AWS CLI
alb 유형의 대상 그룹을 생성하려면

create-target-group 명령을 사용합니다. 프로토콜은 TCP여야 하며 포트는 Application Load Balancer의 리스너 포트와 일치해야 합니다.

aws elbv2 create-target-group \ --name my-target-group \ --protocol TCP \ --port 80 \ --target-type alb \ --vpc-id vpc-1234567890abcdef0 \ --tags Key=department,Value=123
CloudFormation
alb 유형의 대상 그룹을 생성하려면

AWS::ElasticLoadBalancingV2::TargetGroup 유형의 리소스를 정의합니다. 프로토콜은 TCP여야 하며 포트는 Application Load Balancer의 리스너 포트와 일치해야 합니다.

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: TCP Port: 80 TargetType: alb VpcId: !Ref myVPC Tags: - Key: 'department' Value: '123' Targets: - Id: !Ref myApplicationLoadBalancer Port: 80

2단계: Network Load Balancer 생성 및 라우팅 구성

Network Load Balancer를 생성할 때, 기본 작업이 트래픽을 Application Load Balancer로 전달하도록 구성할 수 있습니다.

Console
Network Load Balancer를 생성하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 Load Balancing 아래에서 로드 밸런서를 선택합니다.

  3. 로드 밸런서 생성을 선택하세요.

  4. Network Load Balancer에서 [생성(Create)]을 선택합니다.

  5. 기본 구성

    1. 로드 밸런서 이름에 Network Load Balancer의 이름을 입력합니다.

    2. 구성표에서 internet-facing 또는 internal을 선택합니다. 인터넷 연결 Network Load Balancer는 인터넷을 통해 클라이언트의 요청을 대상으로 라우팅합니다. 내부 Network Load Balancer는 프라이빗 IP 주소를 사용하여 요청을 대상으로 라우팅합니다.

    3. 로드 밸런서 IP 주소 유형에서 클라이언트가 IPv4 주소를 사용하여 Network Load Balancer와 통신하는 경우 IPv4를 선택하고, 클라이언트가 IPv4 및 IPv6 주소를 둘 다 사용하여 Network Load Balancer와 통신하는 경우 듀얼스택을 선택합니다.

  6. 네트워크 매핑

    1. VPC의 경우, Application Load Balancer에 사용한 것과 동일한 VPC를 선택하십시오. 인터넷 경계 로드 밸런서를 사용하면 인터넷 게이트웨이가 있는 VPC만 선택할 수 있습니다.

    2. 가용 영역 및 서브넷의 경우, 최소한 하나의 가용 영역을 선택하고 영역당 하나의 서브넷을 선택하십시오. Application Load Balancer에 대해 활성화된 것과 동일한 가용 영역을 선택하는 것을 권장합니다. 이는 가용성, 확장 및 성능을 최적화합니다.

      (선택 사항) 고정 IP 주소를 사용하려면 각 가용 영역에 대해 IPv4 설정에서 탄력적 IP 주소 사용을 선택합니다. 고정 IP 주소를 사용하면 방화벽의 허용 목록에 특정 IP 주소를 추가하거나 클라이언트에 IP 주소를 하드 코딩할 수 있습니다.

  7. 보안 그룹.

    로드 밸런서 VPC의 기본 보안 그룹을 미리 선택합니다. 필요에 따라 추가적인 보안 그룹을 선택할 수 있습니다. 요구에 맞는 보안 그룹이 없는 경우 새로운 보안 그룹 생성을 선택하여 새로 생성합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서보안 그룹 생성을 참조하세요.

    주의

    지금 보안 그룹을 Network Load Balancer와 연결하지 않으면 나중에 연결할 수 없습니다.

    주의

    QUIC 또는 TCP_QUIC 리스너를 활용하려면 Network Load Balancer에 보안 그룹이 없어야 합니다.

  8. 리스너 및 라우팅

    1. 기본값은 포트 80에서 TCP 트래픽을 수락하는 리스너입니다. TCP 리스너만 트래픽을 Application Load Balancer 대상 그룹으로 전달할 수 있습니다. 프로토콜TCP로 유지해야 하지만 필요에 따라 포트를 수정할 수 있습니다.

      이 구성을 사용하면 Application Load Balancer에서 HTTPS 리스너를 사용하여 TLS 트래픽을 종료할 수 있습니다.

    2. 기본 작업의 경우 이전 단계에서 생성한 대상 그룹을 사용하십시오.

    3. (선택 사항) 리스너 태그 추가를 선택하고 태그 키와 태그 값을 입력합니다.

  9. 로드 밸런서 태그

    (선택 사항) 로드 밸런서 태그를 확장합니다. (선택 사항) 새 태그 추가를 선택하고 태그 키와 태그 값을 입력합니다. 자세한 내용은 태그를 참조하세요.

  10. 요약

    구성을 검토하고 로드 밸런서 생성(Create load balancer)을 선택합니다.

AWS CLI
Network Load Balancer를 생성하려면

create-load-balancer 명령을 사용합니다. Application Load Balancer에 대해 활성화된 것과 동일한 가용 영역을 사용하는 것을 권장합니다.

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --scheme internal \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
TCP 리스너를 추가하려면

create-listener 명령을 사용하여 TCP 리스너를 추가하십시오. TCP 리스너만 트래픽을 Application Load Balancer로 전달할 수 있습니다. 기본 작업의 경우 이전 단계에서 생성한 대상 그룹을 사용하십시오.

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol TCP \ --port 80 \ --default-actions Type=forward,TargetGroupArn=target-group-arn
CloudFormation
Network Load Balancer를 생성하려면

AWS::ElasticLoadBalancingV2::LoadBalancer 유형의 리소스와 AWS::ElasticLoadBalancingV2::Listener 유형의 리소스를 정의합니다. TCP 리스너만 트래픽을 Application Load Balancer로 전달할 수 있습니다. 기본 작업의 경우 이전 단계에서 생성한 대상 그룹을 사용하십시오.

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-load-balancer Type: network Scheme: internal Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup myTCPListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: TCP Port: 80 DefaultActions: - Type: forward TargetGroupArn: !Ref myTargetGroup

이전 단계에서 프라이빗 연결을 위한 엔드포인트로 설정한 Network Load Balancer를 사용하려면 AWS PrivateLink을(를) 활성화하면 됩니다. 이렇게 하면 로드 밸런서에 대한 프라이빗 연결이 엔드포인트 서비스로 설정됩니다.

Network Load Balancer를 사용하여 VPC 엔드포인트 서비스를 생성하는 방법
  1. 탐색 창에서 로드 밸런서를 선택합니다.

  2. Network Load Balancer 이름을 선택하여 세부 정보 페이지를 엽니다.

  3. 통합 탭에서 VPC 엔드포인트 서비스(AWS PrivateLink)를 확장합니다.

  4. 엔드포인트 서비스 생성을 선택하여 엔드포인트 서비스 페이지를 엽니다. 나머지 단계는 AWS PrivateLink 가이드엔드포인트 서비스 생성을 참조하세요.