

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

# 를 사용한 Elastic Load Balancing 작업 예제 AWS CLI
<a name="examples-elastic-load-balancing-aws-cli"></a>

 AWS Command Line Interface (AWS CLI)를 사용하여 로드 밸런서 및 대상 그룹을 연결, 분리 및 설명하고, Elastic Load Balancing 상태 확인을 추가 및 제거하고, 활성화된 가용 영역을 변경합니다.

이 주제에서는 Amazon EC2 Auto Scaling에 대한 일반적인 작업을 수행하는 AWS CLI 명령의 예를 보여줍니다.

**중요**  
추가 명령 예제는 *AWS CLI 명령 참조*의 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/elbv2/index.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/elbv2/index.html) 및 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/elb/index.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/elb/index.html)(을)를 참조하세요.

**Topics**
+ [대상 그룹 또는 Classic Load Balancer 연결](#example-attach-traffic-sources)
+ [대상 그룹 또는 Classic Load Balancer 설명](#example-describe-traffic-sources)
+ [Elastic Load Balancing 상태 확인 추가](#example-add-elb-healthcheck)
+ [가용 영역 변경](#example-specify-availability-zones)
+ [대상 그룹 또는 Classic Load Balancer 분리](#example-detach-traffic-sources)
+ [Elastic Load Balancing 상태 확인 제거](#example-remove-elb-healthcheck)
+ [레거시 명령](#legacy-commands)

## 대상 그룹 또는 Classic Load Balancer 연결
<a name="example-attach-traffic-sources"></a>

다음 [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) 명령을 사용하여 Auto Scaling 그룹을 생성하고 Amazon 리소스 이름(ARN)을 지정하여 대상 그룹을 동시에 연결할 수 있습니다. 대상 그룹은 Application Load Balancer, Network Load Balancer 또는 Gateway Load Balancer와 연결할 수 있습니다.

`--auto-scaling-group-name`, `--vpc-zone-identifier`, `--min-size`, `--max-size`의 샘플 값을 바꿉니다. `--launch-template` 옵션의 경우, `{{my-launch-template}}` 및 `{{1}}`를 Auto Scaling 그룹의 시작 템플릿 이름 및 버전으로 바꿉니다. `--traffic-sources` 옵션의 경우, 샘플 ARN을 Application Load Balancer, Network Load Balancer 또는 Gateway Load Balancer에 대한 대상 그룹의 ARN으로 바꿉니다.

```
aws autoscaling create-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
  --launch-template LaunchTemplateName={{my-launch-template}},Version='{{1}}' \
  --vpc-zone-identifier "{{subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782}}" \
  --min-size {{1}} --max-size {{5}} \
  --traffic-sources "Identifier={{arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE1}}"
```

대상 그룹이 생성된 후에 [attach-traffic-sources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/attach-traffic-sources.html) 명령을 사용하여 추가 대상 그룹을 Auto Scaling 그룹에 연결합니다.

다음 명령은 다른 대상 그룹을 동일한 그룹에 추가합니다.

```
aws autoscaling attach-traffic-sources --auto-scaling-group-name {{my-asg}} \
  --traffic-sources "Identifier={{arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE2}}"
```

또는 Classic Load Balancer를 그룹에 연결하려면 다음 예와 같이 **create-auto-scaling-group** 또는 **attach-traffic-sources**를 사용할 때 `--traffic-sources` 및 `--type` 옵션을 지정합니다. `{{my-classic-load-balancer}}`을 Classic Load Balancer의 이름으로 바꿉니다. `--type` 옵션의 경우, `elb`의 값을 지정합니다.

```
--traffic-sources "Identifier={{my-classic-load-balancer}}" --type elb
```

## 대상 그룹 또는 Classic Load Balancer 설명
<a name="example-describe-traffic-sources"></a>

Auto Scaling 그룹에 연결된 로드 밸런서 또는 대상 그룹을 설명하려면 다음 [describe-traffic-sources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-traffic-sources.html) 명령을 사용합니다. `{{my-asg}}`을 사용자 그룹의 이름으로 바꿉니다.

```
aws autoscaling describe-traffic-sources --auto-scaling-group-name {{my-asg}}
```

이 예에서는 Auto Scaling 그룹에 연결한 Elastic Load Balancing 대상 그룹의 ARN을 반환합니다.

```
{
    "TrafficSources": [
        {
            "Identifier": "arn:aws:elasticloadbalancing:{{region}}:{{account-id}}:targetgroup/{{my-targets/12345678EXAMPLE1}}",
            "State": "InService",
            "Type": "elbv2"
        },
        {
            "Identifier": "arn:aws:elasticloadbalancing:{{region}}:{{account-id}}:targetgroup/{{my-targets/12345678EXAMPLE2}}",
            "State": "InService",
            "Type": "elbv2"
        }
    ]
}
```

출력에서 `State` 필드에 대한 설명은 [로드 밸런서의 연결 상태 확인](load-balancer-status.md)(을)를 참조하세요.

## Elastic Load Balancing 상태 확인 추가
<a name="example-add-elb-healthcheck"></a>

Auto Scaling 그룹이 인스턴스에서 수행하는 상태 확인에 Elastic Load Balancing 상태 확인을 추가하려면 다음 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 명령을 사용하여 `ELB`를 `--health-check-type` 옵션의 값으로 지정합니다. `{{my-asg}}`을 사용자 그룹의 이름으로 바꿉니다.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
  --health-check-type "ELB"
```

새 인스턴스는 상태 확인을 통과하기 전에 간단한 준비를 위한 시간이 필요한 경우가 많습니다. 유예 기간에 준비 시간이 충분하지 않으면 인스턴스가 트래픽을 서비스할 준비가 되지 않은 것처럼 보일 수 있습니다. Amazon EC2 Auto Scaling은 이러한 인스턴스를 비정상으로 간주하여 교체할 수 있습니다.

상태 확인 유예 기간을 업데이트하려면 다음 예와 같이 **update-auto-scaling-group**을 사용할 때 `--health-check-grace-period` 옵션을 사용합니다. 새 인스턴스가 비정상인 것으로 확인될 경우 종료하기 전에 새 인스턴스를 계속 사용할 수 있게 하려면 {{300}}을 초 단위로 바꿉니다.

```
--health-check-grace-period {{300}}
```

자세한 내용은 [Auto Scaling 그룹의 인스턴스에 대한 상태 확인](ec2-auto-scaling-health-checks.md)(을)를 참조하세요.

## 가용 영역 변경
<a name="example-specify-availability-zones"></a>

가용 영역 변경과 관련하여 다음과 같은 몇 가지 제한 사항을 파악하고 있어야 합니다. 자세한 내용은 [가용 영역 추가가용 영역 제거](as-add-az-console.md) 단원을 참조하십시오.

**Application Load Balancer 또는 Network Load Balancer의 가용 영역을 변경하려면**

1. 로드 밸런서의 가용 영역을 변경하기 전에 먼저 Auto Scaling 그룹의 가용 영역을 업데이트하여 지정된 영역에서 인스턴스 유형을 사용할 수 있는지 확인하는 것이 좋습니다.

   다음 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 명령을 사용하여 Auto Scaling 그룹에 사용되는 가용 영역을 업데이트합니다. 샘플 서브넷 ID를 활성화할 가용 영역의 서브넷 ID로 바꿉니다. 지정된 서브넷이 이전에 활성화된 서브넷을 바꿉니다. `{{my-asg}}`을 사용자 그룹의 이름으로 바꿉니다.

   ```
   aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
     --vpc-zone-identifier "{{subnet-41767929,subnet-cb663da2,subnet-8360a9e7}}"
   ```

1. 다음 [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) 명령을 사용하여 새 서브넷의 인스턴스가 시작되었는지 확인합니다. 인스턴스가 시작된 경우 인스턴스 및 인스턴스 상태 목록이 표시됩니다. `{{my-asg}}`을 사용자 그룹의 이름으로 바꿉니다.

   ```
   aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name {{my-asg}}
   ```

1. 다음 [set-subnets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/elbv2/set-subnets.html) 명령을 사용하여 로드 밸런서의 서브넷을 지정합니다. 샘플 서브넷 ID를 활성화할 가용 영역의 서브넷 ID로 바꿉니다. 가용 영역당 1개의 서브넷만 지정할 수 있습니다. 지정된 서브넷이 이전에 활성화된 서브넷을 바꿉니다. `{{my-lb-arn}}`를 로드 밸런서의 ARN으로 바꿉니다.

   ```
   aws elbv2 set-subnets --load-balancer-arn {{my-lb-arn}} \
     --subnets {{subnet-41767929}} {{subnet-cb663da2}} {{subnet-8360a9e7}}
   ```

**Classic Load Balancer의 가용 영역을 변경하려면**

1. 로드 밸런서의 가용 영역을 변경하기 전에 먼저 Auto Scaling 그룹의 가용 영역을 업데이트하여 지정된 영역에서 인스턴스 유형을 사용할 수 있는지 확인하는 것이 좋습니다.

   다음 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 명령을 사용하여 Auto Scaling 그룹에 사용되는 가용 영역을 업데이트합니다. 샘플 서브넷 ID를 활성화할 가용 영역의 서브넷 ID로 바꿉니다. 지정된 서브넷이 이전에 활성화된 서브넷을 바꿉니다. `{{my-asg}}`을 사용자 그룹의 이름으로 바꿉니다.

   ```
   aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
     --vpc-zone-identifier "{{subnet-41767929,subnet-cb663da2}}"
   ```

1. 다음 [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) 명령을 사용하여 새 서브넷의 인스턴스가 시작되었는지 확인합니다. 인스턴스가 시작된 경우 인스턴스 및 인스턴스 상태 목록이 표시됩니다. `{{my-asg}}`을 사용자 그룹의 이름으로 바꿉니다.

   ```
   aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name {{my-asg}}
   ```

1. 다음 [attach-load-balancer-to-subnets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/elb/attach-load-balancer-to-subnets.html) 명령을 사용하여 Classic Load Balancer에 대해 새 가용 영역을 활성화합니다. 샘플 서브넷 ID를 활성화할 가용 영역의 서브넷 ID로 바꿉니다. `{{my-lb}}`를 로드 밸런서의 이름으로 바꿉니다.

   ```
   aws elb attach-load-balancer-to-subnets --load-balancer-name {{my-lb}} \
     --subnets {{subnet-cb663da2}}
   ```

   가용 영역을 비활성화하려면 다음 [detach-load-balancer-from-subnets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/elb/detach-load-balancer-from-subnets.html) 명령을 사용합니다. 샘플 서브넷 ID를 비활성화할 가용 영역의 서브넷 ID로 바꿉니다. `{{my-lb}}`를 로드 밸런서의 이름으로 바꿉니다.

   ```
   aws elb detach-load-balancer-from-subnets --load-balancer-name {{my-lb}} \
     --subnets {{subnet-8360a9e7}}
   ```

## 대상 그룹 또는 Classic Load Balancer 분리
<a name="example-detach-traffic-sources"></a>

대상 그룹이 더이상 필요하지 않으면 [detach-traffic-sources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/detach-traffic-sources.html) 명령을 사용하여 Auto Scaling 그룹에서 대상 그룹을 분리합니다.

`--auto-scaling-group-name` 옵션의 경우, `{{my-asg}}`를 그룹 이름으로 바꿉니다. `--traffic-sources` 옵션의 경우, 샘플 ARN을 Application Load Balancer, Network Load Balancer 또는 Gateway Load Balancer에 대한 대상 그룹의 ARN으로 바꿉니다.

```
aws autoscaling detach-traffic-sources --auto-scaling-group-name {{my-asg}} \
  --traffic-sources "Identifier={{arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456}}"
```

그룹에서 Classic Load Balancer를 분리하려면 다음 예와 같이 `--traffic-sources` 및 `--type` 옵션을 지정합니다. `{{my-classic-load-balancer}}`을 Classic Load Balancer의 이름으로 바꿉니다. `--type` 옵션의 경우, `elb`의 값을 지정합니다.

```
--traffic-sources "Identifier={{my-classic-load-balancer}}" --type elb
```

## Elastic Load Balancing 상태 확인 제거
<a name="example-remove-elb-healthcheck"></a>

Auto Scaling 그룹에서 Elastic Load Balancing 상태 확인을 제거하려면 다음 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 명령을 사용하여 `EC2`를 `--health-check-type` 옵션의 값으로 지정합니다. `{{my-asg}}`을 사용자 그룹의 이름으로 바꿉니다.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
  --health-check-type "EC2"
```

자세한 내용은 [Auto Scaling 그룹의 인스턴스에 대한 상태 확인](ec2-auto-scaling-health-checks.md)(을)를 참조하세요.

## 레거시 명령
<a name="legacy-commands"></a>

다음 예에서는 레거시 CLI 명령을 사용하여 로드 밸런서와 대상 그룹을 연결, 분리, 설명하는 방법을 보여줍니다. 이 설명서는 이 설명서를 사용하려는 모든 고객을 위한 참조 자료로 유지됩니다. 레거시 CLI 명령은 계속 지원되지만 여러 트래픽 소스 유형을 연결하고 분리할 수 있는 새로운 “트래픽 소스” CLI 명령을 사용하는 것이 좋습니다. 동일한 Auto Scaling 그룹에서 레거시 CLI 명령과 “트래픽 소스” CLI 명령을 모두 사용할 수 있습니다.

### 대상 그룹 또는 Classic Load Balancer(레거시) 연결
<a name="example-attach-load-balancer-target-group"></a>

**대상 그룹을 연결하려면**  
다음 [Create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) 명령은 연결된 대상 그룹을 사용하여 Auto Scaling 그룹을 생성합니다. Application Load Balancer, Network Load Balancer 또는 Gateway Load Balancer에 대한 대상 그룹의 Amazon 리소스 이름(ARN)을 지정합니다.

```
aws autoscaling create-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
  --launch-template LaunchTemplateName={{my-launch-template}},Version='{{1}}' \
  --vpc-zone-identifier "{{subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782}}" \
  --target-group-arns "{{arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456}}" \
  --min-size {{1}} --max-size {{5}}
```

다음 [attach-load-balancer-target-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/attach-load-balancer-target-groups.html) 명령은 대상 그룹을 기존 Auto Scaling 그룹에 연결합니다.

```
aws autoscaling attach-load-balancer-target-groups --auto-scaling-group-name {{my-asg}} \
  --target-group-arns "{{arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456}}"
```

**Classic Load Balancer를 연결하려면**  
다음 [Create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) 명령은 연결된 Classic Load Balancer에서 Auto Scaling 그룹을 생성합니다.

```
aws autoscaling create-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
  --launch-configuration-name {{my-launch-config}} \
  --vpc-zone-identifier "{{subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782}}" \
  --load-balancer-names "{{my-load-balancer}}" \
  --min-size {{1}} --max-size {{5}}
```

다음 [attach-load-balancers](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/attach-load-balancers.html) 명령은 지정된 Classic Load Balancer를 기존 Auto Scaling 그룹에 연결합니다.

```
aws autoscaling attach-load-balancers --auto-scaling-group-name {{my-asg}} \
  --load-balancer-names {{my-lb}}
```

### 대상 그룹 또는 Classic Load Balancer(레거시) 설명
<a name="example-describe-load-balancer-target-groups"></a>

**대상 그룹을 설명하려면**  
Auto Scaling 그룹과 연결된 대상 그룹을 설명하려면 [describe-load-balancer-target-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-load-balancer-target-groups.html) 명령을 사용합니다. 다음은 {{my-asg}}에 대한 대상 그룹을 나열하는 예제입니다.

```
aws autoscaling describe-load-balancer-target-groups --auto-scaling-group-name {{my-asg}}
```

**Classic Load Balancer를 설명하려면**  
Auto Scaling 그룹과 연결된 Classic Load Balancer를 설명하려면 [describe-load-balancers](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-load-balancers.html) 명령을 사용합니다. 다음 예제에서는 {{my-asg}}의 Classic Load Balancer를 나열합니다.

```
aws autoscaling describe-load-balancers --auto-scaling-group-name {{my-asg}}
```

### 대상 그룹 또는 Classic Load Balancer(레거시) 분리
<a name="example-detach-load-balancer-target-group"></a>

**대상 그룹을 분리하려면**  
대상 그룹이 더 이상 필요하지 않으면 다음 [detach-load-balancer-target-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/detach-load-balancer-target-groups.html) 명령으로 Auto Scaling 그룹에서 대상 그룹을 분리할 수 있습니다.

```
aws autoscaling detach-load-balancer-target-groups --auto-scaling-group-name {{my-asg}} \
  --target-group-arns "{{arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456}}"
```

**Classic Load Balancer를 분리하려면**  
필요하지 않은 경우 다음 [detach-load-balancers](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/detach-load-balancers.html) 명령을 사용하면 Auto Scaling 그룹에서 Classic Load Balancer를 분리할 수 있습니다.

```
aws autoscaling detach-load-balancers --auto-scaling-group-name {{my-asg}} \
  --load-balancer-names {{my-lb}}
```