

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

# Application Load Balancer용 HTTP 리스너 생성
<a name="create-listener"></a>

리스너는 연결 요청을 확인합니다. 로드 밸런서를 생성할 때 리스너를 정의하면 언제라도 로드 밸런서에 리스너를 추가할 수 있습니다.

이 페이지의 정보는 로드 밸런서용 HTTP 리스너를 생성하는 데 도움이 됩니다. 로드 밸런서에 HTTPS 리스너를 추가하려면 [Application Load Balancer용 HTTPS 리스너 생성](create-https-listener.md) 섹션을 참조하세요.

## 사전 조건
<a name="listener-prereqs"></a>
+ 기본 리스너 규칙에 전달 작업을 추가하려면 사용 가능한 대상 그룹을 지정해야 합니다. 자세한 내용은 [Application Load Balancer 대상 그룹 생성](create-target-group.md) 단원을 참조하십시오.
+ 여러 리스너에서 동일한 대상 그룹을 지정할 수 있지만, 이러한 리스너는 동일한 로드 밸런서에 속해야 합니다. 대상 그룹을 로드 밸런서와 함께 사용하려면 대상 그룹이 다른 로드 밸런서용으로 리스너에서 사용되고 있지 않은지 확인해야 합니다.

## HTTP 리스너 추가
<a name="add-listener"></a>

리스너에서 클라이언트에서 로드 밸런서로의 연결을 위한 프로토콜 및 포트 번호와 기본 리스너 규칙에 대한 대상 그룹을 구성합니다. 자세한 내용은 [리스너 구성](load-balancer-listeners.md#listener-configuration) 단원을 참조하십시오.

다른 리스너 규칙을 추가하려면 [리스너 규칙](listener-rules.md) 섹션을 참조하세요.

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

**HTTP 리스너를 추가하려면**

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

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

1. 로드 밸런서를 선택합니다.

1. **리스너 및 규칙** 탭에서 **리스너 추가**를 선택합니다.

1. **프로토콜**에서 **HTTP**를 선택합니다. 기본 포트를 그대로 두거나 다른 포트를 입력합니다.

1. **기본 작업**에서 다음 라우팅 작업 중 하나를 선택하고 필요한 정보를 제공합니다.
   + **대상 그룹에 전달** – 대상 그룹을 선택합니다. 다른 대상 그룹을 추가하려면 **대상 그룹 추가**를 선택하고, 대상 그룹을 선택하고, 상대 가중치를 검토하고, 필요에 따라 가중치를 업데이트합니다. 대상 그룹 중 하나에서 고정을 활성화한 경우 그룹 수준 고정을 활성화해야 합니다.

     요구에 맞는 대상 그룹이 없는 경우 **대상 그룹 생성**을 선택하여 새로 생성합니다. 자세한 내용은 [대상 그룹 생성](create-target-group.md) 단원을 참조하십시오.
   + **URL로 리디렉션** – **URI 파트** 탭에서 각 파트를 개별적으로 입력하거나 **전체 URL** 탭에서 전체 주소를 입력합니다. **상태 코드**의 경우 요구 사항에 따라 임시(HTTP 302) 또는 영구(HTTP 301) 중 하나를 선택합니다.
   + **고정 응답 반환** – 폐기된 클라이언트 요청에 대해 반환할 **응답 코드**를 입력합니다. 선택적으로 **콘텐츠 유형**과 **응답 본문**을 지정할 수 있습니다.

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

1. **리스너 추가**를 선택합니다.

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

**대상 그룹 생성**  
기본 작업에 사용할 수 있는 대상 그룹이 없는 경우 [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-target-group.html) 명령을 사용하여 지금 생성합니다. 예시는 [대상 그룹 생성](create-target-group.md) 섹션을 참조하세요.

**HTTP 리스너를 생성하려면**  
[create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) 명령을 사용합니다. 다음 예시에서는 트래픽을 지정된 대상 그룹에 전달하는 기본 규칙을 사용하여 HTTP 리스너를 생성합니다.

```
aws elbv2 create-listener \
    --load-balancer-arn load-balancer-arn \
    --protocol HTTP \
    --port 80 \
    --default-actions Type=forward,TargetGroupArn=target-group-arn
```

두 대상 그룹 간에 트래픽을 분산하는 전달 작업을 생성하려면 대신 다음 `--default-actions` 옵션을 사용합니다. 여러 대상 그룹을 지정할 때는 각 대상 그룹에 가중치를 제공해야 합니다.

```
    --default-actions '[{
          "Type":"forward",
          "ForwardConfig":{
            "TargetGroups":[
              {"TargetGroupArn":"target-group-1-arn","Weight":50},
              {"TargetGroupArn":"target-group-2-arn","Weight":50}
            ]
          }
        }]'
```

------
#### [ CloudFormation ]

**HTTP 리스너를 생성하려면**  
[AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html) 유형의 리소스를 정의합니다. 다음 예시에서는 트래픽을 지정된 대상 그룹에 전달하는 기본 규칙을 사용하여 HTTP 리스너를 생성합니다.

```
Resources:
  myHTTPlistener:
  Type: 'AWS::ElasticLoadBalancingV2::Listener'
  Properties:
    LoadBalancerArn: !Ref myLoadBalancer
    Protocol: HTTP
    Port: 80
    DefaultActions:
      - Type: "forward"
        TargetGroupArn: !Ref myTargetGroup
```

여러 대상 그룹 간에 트래픽을 분산하는 전달 작업을 생성하려면 `ForwardConfig` 속성을 사용합니다. 여러 대상 그룹을 지정할 때는 각 대상 그룹에 가중치를 제공해야 합니다.

```
Resources:
  myHTTPlistener:
  Type: 'AWS::ElasticLoadBalancingV2::Listener'
  Properties:
    LoadBalancerArn: !Ref myLoadBalancer
    Protocol: HTTP
    Port: 80
    DefaultActions:
      - Type: "forward"
        ForwardConfig:
          TargetGroups:
            - TargetGroupArn: !Ref TargetGroup1
              Weight: 50
            - TargetGroupArn: !Ref TargetGroup2
              Weight: 50
```

------