

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

# Application Load Balancer 생성
<a name="create-application-load-balancer"></a>

Application Load Balancer는 클라이언트로부터 요청을 가져와서 EC2 인스턴스 같은 대상 그룹의 대상에 이를 분산합니다. 자세한 내용은 [Elastic Load Balancing 사용 설명서](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html)의 *Elastic Load Balancing 작동 방식*을 참조하세요.

**Topics**
+ [사전 조건](#load-balancer-prereqs)
+ [로드 밸런서 생성](#create-load-balancer)
+ [로드 밸런서 테스트](#test-load-balancer)
+ [다음 단계](#application-load-balancer-next-steps)

## 사전 조건
<a name="load-balancer-prereqs"></a>
+ 애플리케이션이 지원할 가용 영역 및 IP 주소 유형을 결정합니다. 이러한 각 가용 영역에서 서브넷을 통해 로드 밸런서 VPC를 구성합니다. 애플리케이션이 IPv4 및 IPv6 트래픽을 모두 지원하는 경우 서브넷에 IPv4 및 IPv6 CIDR이 모두 구성되어 있는지 확인합니다. 각 가용 영역에 하나 이상의 대상을 배포합니다. 자세한 내용은 [로드 밸런서를 위한 서브넷](application-load-balancers.md#subnets-load-balancer) 단원을 참조하십시오.
+ 대상 인스턴스의 보안 그룹이 리스너 포트에서 클라이언트 IP 주소(대상이 인스턴스 ID로 지정된 경우) 또는 로드 밸런서 노드(대상이 IP 주소로 지정된 경우)에서의 트래픽을 허용해야 합니다. 자세한 내용은 [권장 규칙](load-balancer-update-security-groups.md#security-group-recommended-rules) 단원을 참조하십시오.
+ 대상 인스턴스의 보안 그룹은 상태 확인 프로토콜을 사용해 상태 확인 포트에서 로드 밸런서의 트래픽을 허용해야 합니다.

## 로드 밸런서 생성
<a name="create-load-balancer"></a>

Application Load Balancer를 생성하는 과정에서 로드 밸런서, 하나 이상의 리스너, 하나 이상의 대상 그룹을 생성합니다. 활성화된 각 가용 영역에 정상 등록 대상이 하나 이상 있는 경우 로드 밸런서는 클라이언트 요청을 처리할 준비가 완료된 것입니다.

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

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

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

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

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

1. **Application Load Balancer** 아래에서 **생성(Create)**을 선택합니다.

1. **기본 구성**

   1. **로드 밸런서 이름(Load Balancer name)**에 로드 밸런서의 이름을 입력합니다. 이 이름은 리전에 대한 로드 밸런서 집합 내에서 고유해야 합니다. 이름은 최대 32자여야 하며 영숫자 및 하이픈만 포함할 수 있습니다. 하이픈 또는 `internal-`(으)로 시작하거나 끝나서는 안 됩니다. Application Load Balancer의 이름은 생성한 후에는 변경할 수 없습니다.

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

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

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

   1. **VPC**에서 로드 밸런서를 위해 준비한 VPC를 선택합니다. 인터넷 경계 로드 밸런서를 사용하면 인터넷 게이트웨이가 있는 VPC만 선택할 수 있습니다.

   1. (선택 사항) **IP 풀**에서 **퍼블릭 IPv4 주소용 IPAM 풀 사용**을 선택할 수 있습니다. 자세한 내용은 [IPAM IP 주소 풀](application-load-balancers.md#ip-pools) 단원을 참조하십시오.

   1. **가용 영역 및 서브넷**의 경우 다음과 같이 로드 밸런서의 영역을 활성화합니다.
      + 두 개 이상의 가용 영역에서 서브넷을 선택합니다.
      + 하나 이상의 로컬 영역에서 서브넷을 선택합니다.
      + Outpost 서브넷 하나를 선택합니다.

      자세한 내용은 [로드 밸런서를 위한 서브넷](application-load-balancers.md#subnets-load-balancer) 단원을 참조하십시오.

      **듀얼 스택** 로드 밸런서를 사용할 때는 IPv4 및 IPv6 CIDR 블록 모두가 있는 서브넷을 선택합니다.

1. **보안 그룹**

   로드 밸런서 VPC의 기본 보안 그룹을 미리 선택합니다. 필요에 따라 추가적인 보안 그룹을 선택할 수 있습니다. 요구에 맞는 보안 그룹이 없는 경우 **새로운 보안 그룹 생성**을 선택하여 새로 생성합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서**의 [보안 그룹 생성](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)을 참조하세요.

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

   1. 기본값은 포트 80에서 HTTP 트래픽을 수락하는 리스너입니다. 기본 리스너 설정을 그대로 두거나 필요에 따라 **프로토콜** 또는 **포트**를 변경합니다.

   1. **기본 작업**(Default action)에서 트래픽을 전달할 대상 그룹을 선택합니다. 요구에 맞는 대상 그룹이 없는 경우 **대상 그룹 생성**을 선택하여 새로 생성합니다. 자세한 내용은 [대상 그룹 생성](create-target-group.md) 단원을 참조하십시오.

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

   1. (선택 사항) **리스너 추가**를 선택하여 다른 리스너(예: HTTPS 리스너)를 추가합니다.

1. **보안 리스너 설정**

   이 섹션은 HTTPS 리스너를 추가한 경우에만 표시됩니다.

   1. **보안 정책**의 경우 요구 사항을 충족하는 보안 정책을 선택합니다. 자세한 내용은 [보안 정책](describe-ssl-policies.md) 단원을 참조하십시오.

   1. **기본 SSL/TLS 인증서**에서 다음 옵션을 사용할 수 있습니다.
      + 를 사용하여 인증서를 생성하거나 가져온 경우 **ACM에서**를 AWS Certificate Manager선택한 다음 인증서를 선택합니다.
      + IAM을 사용하여 인증서를 가져온 경우 **IAM에서**를 선택한 다음 인증서를 선택합니다.
      + ACM에 사용 가능한 인증서는 없지만 로드 밸런서에 사용할 인증서가 있는 경우 **인증서 가져오기**를 선택하고 필요한 정보를 제공합니다. 그렇지 않으면, **새 ACM 인증서 요청**을 선택합니다. 자세한 내용은 *AWS Certificate Manager 사용 설명서*의 [AWS Certificate Manager 인증서](https://docs.aws.amazon.com/acm/latest/userguide/gs.html)를 참조하세요.

   1. (선택 사항) **상호 인증(mTLS)**을 선택하고 정책을 선택하여 ALPN을 활성화합니다.

      자세한 내용은 [상호 TLS 인증](mutual-authentication.md) 단원을 참조하십시오.

1. **서비스 통합으로 최적화**

   (선택 사항) 다른를 로드 밸런 AWS 서와 통합할 수 있습니다. 자세한 내용은 [로드 밸런서 통합](load-balancer-integrations.md) 단원을 참조하십시오.

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

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

1. **요약**

   구성을 검토하고 **로드 밸런서 생성**을 선택합니다. 생성 중에 Network Load Balancer에 몇 가지 기본 특성이 적용됩니다. Network Load Balancer를 생성한 후 이를 보고 편집할 수 있습니다. 자세한 내용은 [로드 밸런서 속성](application-load-balancers.md#load-balancer-attributes) 단원을 참조하십시오.

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

**Application Load Balancer를 생성하려면**  
[create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) 명령을 사용합니다.

다음 예제에서는 가용 영역 두 개를 활성화하고 보안 그룹을 포함한 인터넷 경계 로드 밸런서를 생성합니다.

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type application \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**내부 Application Load Balancer를 생성하려면**  
다음 예제와 같이 `--scheme` 옵션을 포함합니다.

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type application \
    --scheme internal \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**듀얼 스택 Application Load Balancer를 생성하려면**  
다음 예제와 같이 `--ip-address-type` 옵션을 포함합니다.

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type application \
    --ip-address-type dualstack \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**리스너를 추가하려면**  
[create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) 명령을 사용합니다. 예제는 [HTTP 리스너 생성](create-listener.md) 및 [HTTPS 리스너 생성](create-https-listener.md) 단원을 참조하세요.

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

**Application Load Balancer를 생성하려면**  
[AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html) 유형의 리소스를 정의합니다.

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-alb
      Type: application
      Scheme: internal
      IpAddressType: dualstack
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      Tags: 
        - Key: "department"
          Value: "123"
```

**리스너를 추가하려면**  
[AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html) 유형의 리소스를 정의합니다. 예제는 [HTTP 리스너 생성](create-listener.md) 및 [HTTPS 리스너 생성](create-https-listener.md) 단원을 참조하세요.

------

## 로드 밸런서 테스트
<a name="test-load-balancer"></a>

 로드 밸런서를 생성한 후에는 EC2 인스턴스가 초기 상태 확인을 통과했는지 확인할 수 있습니다. 그런 다음 로드 밸런서가 EC2 인스턴스로 트래픽을 전송하고 있는지 확인할 수 있습니다. 로드 밸런서를 삭제하려면 [Application Load Balancer 삭제](load-balancer-delete.md) 섹션을 참조하세요.

**로드 밸런서 테스트**

1. 로드 밸런서가 생성된 후 [**Close**]를 선택합니다.

1. 탐색 창에서 **대상 그룹**을 선택합니다.

1. 새로 생성한 대상 그룹을 선택합니다.

1. [**Targets**]를 선택하고 인스턴스가 준비되었는지 확인합니다. 인스턴스의 상태가 `initial`인 경우, 일반적으로 인스턴스가 아직 등록 중이기 때문입니다. 이 상태는 인스턴스가 정상이라고 간주할 수 있는 최소 상태 확인 횟수를 통과하지 못했음을 나타낼 수도 있습니다. 하나 이상의 인스턴스 상태가 정상이어야 로드 밸런서를 테스트할 수 있습니다. 자세한 내용은 [대상 상태](target-group-health-checks.md#target-health-states) 단원을 참조하십시오.

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

1. 새로 생성한 로드 밸런서를 선택합니다.

1. **설명**을 선택하고, 인터페이싱 또는 로드 밸런서의 DNS 이름(예: my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com)을 복사합니다.
   + 인터넷을 향하고 있는 로드 밸런서는 DNS 이름을 인터넷에 연결된 웹 브라우저의 주소 필드에 붙여 넣습니다.
   + 내부 로드 밸런서는 VPC에 비공개로 연결되는 웹 브라우저의 주소 필드에 DNS 이름을 붙여 넣습니다.

   모두 다 바르게 구성되면 브라우저에 서버 기본 페이지가 표시됩니다.

1. 웹 페이지가 표시되지 않는다면 다음 문서에서 추가 구성 도움말 및 문제 해결 단계를 참조하십시오.
   + DNS 관련 문제는 *Amazon Route 53 개발자 안내서*의 [ELB 로드 밸런서로 트래픽 라우팅](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer.html)을 참조하세요.
   + Load Balancer 관련 문제에 대해서는 [Application Load Balancer 문제 해결](load-balancer-troubleshooting.md)을 참조하십시오.

## 다음 단계
<a name="application-load-balancer-next-steps"></a>

로드 밸런서를 생성한 후 다음을 수행할 수 있습니다.
+ [리스너 규칙](listener-rules.md)을 추가합니다.
+ [로드 밸런서 속성](edit-load-balancer-attributes.md)을 구성합니다.
+ [대상 그룹 속성](edit-target-group-attributes.md)을 구성합니다.
+ [HTTPS 리스너] [선택적 인증서 목록](listener-update-certificates.md#add-certificates)에 인증서를 추가합니다.
+ [모니터링 기능](load-balancer-monitoring.md)을 구성합니다.