

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

# 내부 Classic Load Balancer
<a name="elb-internal-load-balancers"></a>

로드 밸런서를 생성할 때 로드 밸런서를 내부 로드 밸런서 또는 인터넷 경계 로드 밸런서로 생성할지 여부를 선택해야 합니다.

인터넷 경계 로드 밸런서의 노드는 퍼블릭 IP 주소를 가집니다. 인터넷 경계 로드 밸런서의 DNS 이름은 노드의 퍼블릭 IP 주소로 공개적으로 확인이 가능합니다. 따라서 인터넷 경계 로드 밸런서는 인터넷을 통해 클라이언트의 요청을 라우팅할 수 있습니다. 자세한 내용은 [인터넷 경계 Classic Load Balancer](elb-internet-facing-load-balancers.md) 단원을 참조하십시오.

내부 로드 밸런서의 노드는 오직 프라이빗 IP 주소만 가집니다. 내부 로드 밸런서의 DNS 이름은 노드의 프라이빗 IP 주소로 공개적으로 확인이 가능합니다. 따라서 내부 로드 밸런서는 로드 밸런서를 위한 VPC에 액세스하여 클라이언트의 요청만 라우팅할 수 있습니다.

애플리케이션에 여러 개의 티어가 있는 경우(예: 인터넷에 반드시 연결되어야 하는 웹 서버와 웹 서버에만 연결되는 데이터베이스 서버) 내부 로드 밸런서와 인터넷 경계 로드 밸런서를 모두 사용하는 아키텍처를 설계할 수 있습니다. 인터넷 경계 로드 밸런서를 생성하고 여기에 웹 서버를 등록합니다. 내부 로드 밸런서를 생성하고 여기에 데이터베이스 서버를 등록합니다. 웹 서버는 인터넷 경계 로드 밸런서에서 요청을 수신하고 데이터베이스 서버에서 내부 로드 밸런서로 요청을 전송합니다. 데이터베이스 서버는 내부 로드 밸런서에서 요청을 수신합니다.

![\[내부 로드 밸런서는 트래픽을 프라이빗 서브넷의 EC2 인스턴스로 라우팅합니다.\]](http://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/classic/images/internal_load_balancer.png)


**Topics**
+ [로드 밸런서의 퍼블릭 DNS 이름](#internal-public-dns-name)
+ [내부 Classic Load Balancer 생성](elb-create-internal-load-balancer.md)

## 로드 밸런서의 퍼블릭 DNS 이름
<a name="internal-public-dns-name"></a>

내부 로드 밸런서를 생성하면 다음 형식의 퍼블릭 DNS 이름을 받습니다.

```
internal-name-123456789.region.elb.amazonaws.com
```

DNS 서버는 로드 밸런서의 DNS 이름을 내부 로드 밸런서에 대한 로드 밸런서 노드의 프라이빗 IP 주소에 포함합니다. 각 로드 밸런서 노드는 탄력적 네트워크 인터페이스를 사용하여 백엔드 인스턴스의 프라이빗 IP 주소에 연결됩니다. 영역 간 로드 밸런싱을 활성화하면 가용 영역에 관계없이 각 노드가 백엔드 인스턴스에 각각 연결됩니다. 그렇지 않으면 각 노드는 가용 영역에 있는 인스턴스에만 연결됩니다.

# 내부 Classic Load Balancer 생성
<a name="elb-create-internal-load-balancer"></a>

로드 밸런서용 VPC에 액세스 권한이 있는 클라이언트에서 EC2 인스턴스로 트래픽을 분산시키는 내부 로드 밸런서를 생성할 수 있습니다.

**Topics**
+ [사전 조건](#create-internal-lb-prereq)
+ [콘솔을 사용하여 내부 로드 밸런서 생성](#create-internal-lb)
+ [를 사용하여 내부 로드 밸런서 생성 AWS CLI](#create-internal-lb-cli)

## 사전 조건
<a name="create-internal-lb-prereq"></a>
+ 로드 밸런서용 VPC를 아직 생성하지 않은 경우 시작하기 전에 VPC를 먼저 생성해야 합니다. 자세한 내용은 [VPC 관련 권장 사항](elb-backend-instances.md#set-up-ec2) 단원을 참조하십시오.
+ 내부 로드 밸런서에 등록할 계획인 EC2 인스턴스를 시작합니다. 로드 밸런서용 VPC의 프라이빗 서브넷에서 시작해야 합니다.

## 콘솔을 사용하여 내부 로드 밸런서 생성
<a name="create-internal-lb"></a>

다음 절차를 따라 내부 Classic Load Balancer를 생성합니다. 이름과 스키마와 같은 로드 밸런서의 기본 구성 정보를 제공합니다. 그런 다음 네트워크 관련 정보 및 트래픽을 인스턴스로 라우팅하는 리스너 관련 정보를 제공합니다.

**콘솔을 사용하여 내부 Classic Load Balancer를 생성하려면**

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

1. 탐색 모음에서 로드 밸런서의 리전을 선택합니다. EC2 인스턴스를 위해 선택한 리전과 동일한 리전을 선택해야 합니다.

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

1. **로드 밸런서 생성**을 선택합니다.

1. **Classic Load Balancer** 섹션을 확장하고 **생성**을 선택합니다.

1. **기본 구성**

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

      Classic Load Balancer의 이름은 해당 리전의 Classic Load Balancer 세트 내에서 고유한 이름이어야 하고, 최대 32자여야 하며, 알파벳 문자 및 하이픈만 포함해야 하고, 하이픈으로 시작하거나 끝나지 않아야 합니다.

   1. **스키마**에서 **내부**를 선택합니다.

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

   1. **VPC**에서는 인스턴스에 대해 선택한 것과 동일한 VPC를 선택합니다.

   1. **매핑**에서 먼저 가용 영역을 선택하고, 사용 가능한 서브넷 중에서 서브넷을 선택합니다. 가용 영역당 서브넷 한 개만 선택할 수 있습니다. 로드 밸런서의 가용성을 높이려면 둘 이상의 가용 영역과 서브넷을 선택합니다.

1. **보안 그룹**에서 포트 80에서 필요한 HTTP 트래픽을 허용하도록 구성된 기존 보안 그룹을 선택합니다. 또는 애플리케이션이 다른 프로토콜과 포트를 사용하는 경우 새 보안 그룹을 생성할 수 있습니다.

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

   1. **리스너**에서 프로토콜이 `HTTP`이고 포트가 `80`인지 확인합니다.

   1. **인스턴스**에서 프로토콜이 `HTTP`이고 포트가 `80`인지 확인합니다.

1. **상태 확인**

   1. **ping 프로토콜**에서 기본값은 `HTTP`입니다.

   1. **ping 포트**에서 기본값은 `80`입니다.

   1. **ping 경로**에서 기본값은 `/`입니다.

   1. **고급 상태 확인 설정**에서 기본값을 사용하거나 애플리케이션에 맞는 값을 입력합니다.

1. **인스턴스**

   1. **인스턴스 추가**를 선택하면 인스턴스 선택 화면이 나타납니다.

   1. **사용 가능한 인스턴스**에서 앞서 선택한 네트워크 설정을 기반으로 로드 밸런서에 사용 가능한 현재 인스턴스 중 선택할 수 있습니다.

   1. 원하는 대로 선택했다면 **확인**을 선택하여 로드 밸런서에 등록할 인스턴스를 추가합니다.

1. **속성**

   1. **교차 영역 로드 밸런싱 활성화**, **Connection Draining 활성화**, **제한 시간(드레이닝 간격)**의 기본값은 유지합니다.

1. **로드 밸런서 태그(선택 사항)**

   1. **키** 필드는 필수입니다.

   1. **값** 필드는 선택 사항입니다.

   1. 다른 태그를 추가하려면 **새 태그 추가**를 선택하고 **키** 필드 및 **값** 필드(선택 사항)에 값을 입력합니다.

   1. 제거하려는 태그 옆에 있는 **제거**를 선택하여 기존 태그를 제거합니다.

1. **요약 및 생성**

   1. 설정을 변경해야 하는 경우 변경해야 하는 설정 옆에 있는 **편집**을 선택합니다.

   1. 요약에 표시된 모든 설정이 원하는 대로 되어 있다면 **로드 밸런서 생성**을 선택하여 로드 밸런서 생성을 시작합니다.

   1. 마지막 생성 페이지에서 **로드 밸런서 보기**를 선택하여 Amazon EC2 콘솔에서 로드 밸런서를 봅니다.

1. **Verify**

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

   1. **대상 인스턴스** 탭에서 **상태 확인** 열을 확인합니다. EC2 인스턴스 중 적어도 하나 이상이 **서비스** 상태가 되어야만 로드 밸런서를 테스트할 수 있습니다.

   1. **세부 정보** 섹션에서 로드 밸런서 **DNS 이름**을 복사합니다(`my-load-balancer-1234567890.us-east-1.elb.amazonaws.com`과 유사함).

   1. 로드 밸런서 **DNS 이름**을 퍼블릭 인터넷에 연결된 웹 브라우저의 주소 필드에 붙여넣습니다. 로드 밸런서가 올바르게 작동 중인 경우 서버의 기본 페이지가 표시됩니다.

1. **삭제(선택 사항)**

   1. 로드 밸런서를 가리키는 도메인을 위한 CNAME 레코드가 있는 경우에는 새로운 위치를 가리키도록 하고 로드 밸런서를 삭제하기 전에 DNS 변경이 적용될 때까지 기다립니다.

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

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

   1. **작업**, **로드 밸런서 삭제**를 선택합니다.

   1. 확인 메시지가 나타나면 `confirm`을 입력한 다음 **삭제**를 선택합니다.

   1. 로드 밸런서를 삭제한 후에도 로드 밸런서에 등록된 EC2 인스턴스는 계속 실행됩니다. 계속 실행되는 일부 또는 전체 시간별로 요금이 청구됩니다. EC2 인스턴스가 더 이상 필요하지 않은 경우 추가 요금이 발생하지 않도록 중지하거나 종료할 수 있습니다.

## 를 사용하여 내부 로드 밸런서 생성 AWS CLI
<a name="create-internal-lb-cli"></a>

기본적으로 Elastic Load Balancing은 인터넷 연결 로드 밸런서를 생성합니다. 다음 절차에 따라 내부 로드 밸런서를 생성하고 EC2 인스턴스를 새로 생성한 내부 로드 밸런서에 등록합니다.

**내부 로드 밸런서를 만들려면**

1. 다음과 같이 `--scheme` 옵션을 `internal`로 설정한 [create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elb/create-load-balancer.html) 명령을 사용합니다.

   ```
   aws elb create-load-balancer --load-balancer-name my-internal-loadbalancer --listeners Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80
    --subnets subnet-4e05f721 --scheme internal --security-groups sg-b9ffedd5
   ```

   다음은 응답의 예입니다. 해당 이름은 이것이 내부 로드 밸런서라는 것을 나타냅니다.

   ```
   {
       "DNSName": "internal-my-internal-loadbalancer-786501203.us-west-2.elb.amazonaws.com"
   }
   ```

1. 다음과 같이 [register-instances-with-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elb/register-instances-with-load-balancer.html) 명령을 사용하여 인스턴스를 추가합니다.

   ```
   aws elb register-instances-with-load-balancer --load-balancer-name my-internal-loadbalancer --instances i-4f8cf126 i-0bb7ca62
   ```

   다음은 응답의 예입니다.

   ```
   {
       "Instances": [
           {
               "InstanceId": "i-4f8cf126"
           },
           {
               "InstanceId": "i-0bb7ca62"
           }
       ]
   }
   ```

1. (선택 사항) 다음 [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) 명령을 사용하여 내부 로드 밸런서를 확인합니다.

   ```
   aws elb describe-load-balancers --load-balancer-name my-internal-loadbalancer
   ```

   응답에는 이것이 내부 로드 밸런서라는 것을 나타내는 `DNSName` 및 `Scheme` 필드가 포함되어 있습니다.

   ```
   {
       "LoadBalancerDescriptions": [
           {
               ...
               "DNSName": "internal-my-internal-loadbalancer-1234567890.us-west-2.elb.amazonaws.com", 
               "SecurityGroups": [
                   "sg-b9ffedd5"
               ], 
               "Policies": {
                   "LBCookieStickinessPolicies": [], 
                   "AppCookieStickinessPolicies": [], 
                   "OtherPolicies": []
               }, 
               "LoadBalancerName": "my-internal-loadbalancer", 
               "CreatedTime": "2014-05-22T20:32:19.920Z", 
               "AvailabilityZones": [
                   "us-west-2a"
               ], 
               "Scheme": "internal",
               ...
           }
       ]
   }
   ```