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

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Application Load Balancer를 Network 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의 대상으로 연결할 수 있습니다. 이렇게 하려면 각 Network Application Load Balancer Load Balancer를 등록합니다.

  • Network Application Load Balancer 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 Balancers 사용 설명서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. [대상 그룹 생성(Create target group)]을 선택합니다.

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

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

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

  7. VPC에서 대상 그룹의 Virtual Private Cloud(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. 구성표(Scheme)에서 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를 선택합니다. 인터넷 경계 로드 밸런서를 사용하면 인터넷 게이트웨이VPCs만 선택할 수 있습니다.

    2. 가용 영역 및 서브넷에서 하나 이상의 가용 영역을 선택하고 영역당 하나의 서브넷을 선택합니다. Application Load Balancer에 대해 활성화된 것과 동일한 가용 영역을 선택하는 것이 좋습니다. 이렇게 하면 가용성, 규모 조정 및 성능이 최적화됩니다.

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

  7. 보안 그룹

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

    주의

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

  8. 리스너 및 라우팅

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

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

    2. 기본 작업에서 이전 단계에서 생성한 대상 그룹을 선택합니다.

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

  9. 로드 밸런서 태그

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

  10. 요약

    구성을 검토하고 로드 밸런서 생성을 선택합니다.

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 가이드엔드포인트 서비스 생성을 참조하세요.