

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

# Network Load Balancer의 대상으로서 Application Load Balancer 사용
<a name="application-load-balancer-target"></a>

단일 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 할당량](load-balancer-limits.md) 단원을 참조하십시오.
+ 대상 그룹 유형이 `alb`인 경우 대상 그룹 속성을 수정할 수 없습니다. 이러한 속성은 항상 기본값을 사용합니다.
+ Application Load Balancer를 대상으로 등록하면 모든 대상 그룹에서 등록을 취소하기 전까지는 Application Load Balancer Balancer를 삭제할 수 없습니다.
+ Network Load Balancer와 Application Load Balancer 간의 통신은 항상 IPv4를 사용합니다.

**Topics**
+ [사전 조건](#application-load-balancer-target-prerequisite)
+ [1단계: alb 유형의 대상 그룹 생성](#register-application-load-balancer-target)
+ [2단계: Network Load Balancer 생성 및 라우팅 구성](#configure-application-load-balancer-target)
+ [3단계: (선택 사항) VPC 엔드포인트 서비스 생성](#enable-privatelink)

## 사전 조건
<a name="application-load-balancer-target-prerequisite"></a>

아직 대상으로 사용할 Application Load Balancer가 없는 경우, 로드 밸런서, 해당 리스너 및 대상 그룹을 생성하세요. 자세한 내용은 *Application Load Balancer 사용 설명서*의 [Application Load Balancer 생성](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)을 참조하세요.

## 1단계: alb 유형의 대상 그룹 생성
<a name="register-application-load-balancer-target"></a>

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

------
#### [ Console ]

**Application Load Balancer를 대상으로 하는 대상 그룹을 생성하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

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

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

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

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

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

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

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

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

1. **다음**을 선택합니다.

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

   Application Load Balancer를 대상으로 등록할 준비가 되지 않은 경우 **나중에 등록**을 선택하고 나중에 대상을 등록하세요. 자세한 내용은 [대상 등록](target-group-register-targets.md#register-targets) 단원을 참조하십시오.

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

------
#### [ AWS CLI ]

**alb 유형의 대상 그룹을 생성하려면**  
[create-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-target-group.html) 명령을 사용합니다. 프로토콜은 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html) 유형의 리소스를 정의합니다. 프로토콜은 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 생성 및 라우팅 구성
<a name="configure-application-load-balancer-target"></a>

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

------
#### [ Console ]

**Network Load Balancer를 생성하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

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

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

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

1. **기본 구성**

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

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

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

1. **네트워크 매핑**

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

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

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

1. **보안 그룹**

   로드 밸런서 VPC의 기본 보안 그룹을 미리 선택합니다. 필요에 따라 추가적인 보안 그룹을 선택할 수 있습니다. 요구에 맞는 보안 그룹이 없는 경우 **새로운 보안 그룹 생성**을 선택하여 새로 생성합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서**의 [보안 그룹 생성](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)을 참조하세요.
**주의**  
지금 보안 그룹을 Network Load Balancer와 연결하지 않으면 나중에 연결할 수 없습니다.
**주의**  
QUIC 또는 TCP\_QUIC 리스너를 활용하려면 Network Load Balancer에 보안 그룹이 없어야 합니다.

1. **리스너 및 라우팅**

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

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

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

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

1. **로드 밸런서 태그**

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

1. **요약**

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

------
#### [ AWS CLI ]

**Network Load Balancer를 생성하려면**  
[create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) 명령을 사용합니다. 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](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) 명령을 사용하여 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html) 유형의 리소스와 [AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html) 유형의 리소스를 정의합니다. 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
```

------

## 3단계: (선택 사항) VPC 엔드포인트 서비스 생성
<a name="enable-privatelink"></a>

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

**Network Load Balancer를 사용하여 VPC 엔드포인트 서비스를 생성하는 방법**

1. 탐색 창에서 **로드 밸런서**를 선택합니다.

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

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

1. **엔드포인트 서비스 생성**을 선택하여 **엔드포인트 서비스** 페이지를 엽니다. 나머지 단계는 *AWS PrivateLink 가이드*의 [엔드포인트 서비스 생성](https://docs.aws.amazon.com/vpc/latest/privatelink/create-endpoint-service.html#create-endpoint-service-nlb)을 참조하세요.