

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

# 인스턴스 새로 고침에 체크포인트 추가
<a name="asg-adding-checkpoints-instance-refresh"></a>

인스턴스 새로 고침을 사용하는 경우, 작업을 진행하면서 인스턴스에 대한 검증을 수행할 수 있도록 단계별로 인스턴스를 교체하도록 선택할 수 있습니다. 단계별 교체를 수행하려면 인스턴스 새로 고침이 일시 중지되는 시점인 체크포인트를 추가합니다. 체크포인트를 사용하면 Auto Scaling 그룹을 업데이트하는 방법을 더 강력하게 제어할 수 있습니다. 체크포인트는 애플리케이션이 안정적이고 예측 가능한 방식으로 작동하는지 확인하는 데 유용합니다.

**Topics**
+ [작동 방식](#instance-refresh-checkpoints-how-it-works)
+ [고려 사항](#instance-refresh-checkpoints-considerations)
+ [체크포인트 활성화](enable-checkpoints-console-cli.md)

## 작동 방식
<a name="instance-refresh-checkpoints-how-it-works"></a>

인스턴스 새로 고침을 시작할 때 Auto Scaling 그룹의 총 인스턴스 수에 대한 백분율로 체크포인트를 지정합니다. 이러한 체크포인트는 체크포인트에 도달하기 전에 새 인스턴스여야 하는 Auto Scaling 그룹의 최소 인스턴스 비율을 나타냅니다. 예를 들어 체크포인트가 `[20, 50, 100]`인 경우 인스턴스의 20%가 새 인스턴스일 때 첫 번째 체크포인트에 도달하고, 50%가 새 인스턴스일 때 두 번째 체크포인트에 도달하고, 모든 인스턴스가 새 인스턴스일 때 최종 체크포인트에 도달합니다.

Amazon EC2 Auto Scaling은 인스턴스 교체 속도를 조정하여 그룹의 최소 정상 비율을 유지하면서 지정된 체크포인트 비율을 준수합니다. 체크포인트 백분율에 도달하기 위해 Amazon EC2 Auto Scaling은 때때로 최소 건전 백분율에서 허용하는 것보다 더 적게 교체하지만 절대 그보다 많이 교체하지는 않습니다.

인스턴스가 10개인 다음 Auto Scaling 그룹을 예로 들어 보겠습니다. 체크포인트 백분율은 `[20,50,100]`, 최소 건전 백분율은 80%, 최대 건전 백분율은 100%입니다. 최소 건전 백분율을 유지하기 위해 한 번에 2개의 인스턴스만 교체됩니다. 다음 다이어그램은 체크포인트에 도달하기 전에 인스턴스를 교체하는 프로세스를 요약한 것입니다.

![\[이 다이어그램은 체크포인트가 인스턴스 새로 고침의 흐름에 어떤 영향을 미치는지 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/autoscaling/ec2/userguide/images/checkpoints-instance-refresh.png)


위의 예에서는 새로운 인스턴스가 시작될 때마다 인스턴스 워밍업 기간이 있습니다. 인스턴스를 대기 상태로 전환한 다음 인스턴스가 시작되거나 해지될 때 사용자 지정 작업을 수행하는 수명 주기 후크가 있을 수도 있습니다.

Amazon EC2 Auto Scaling은 100% 전체 체크포인트를 제외한 각 체크포인트에 대한 이벤트를 내보냅니다. EventBridge 규칙을 추가하여 Amazon SNS와 같은 대상으로 이벤트를 전송할 수 있습니다. 이렇게 하면 필요한 검증을 실행할 수 있을 때 알림이 옵니다. 자세한 내용은 [인스턴스 새로 고침 이벤트에 대한 EventBridge 규칙 생성](monitor-events-eventbridge-sns.md) 단원을 참조하십시오.

## 고려 사항
<a name="instance-refresh-checkpoints-considerations"></a>

체크포인트를 사용할 때에는 다음 사항을 고려하세요.
+ 체크포인트는 백분율을 기준으로 하기 때문에 교체할 인스턴스 수는 그룹 크기에 따라 달라집니다. 스케일 아웃 활동이 발생하여 그룹 크기가 커지면 진행 중인 작업이 다시 체크포인트에 도달할 수 있습니다. 이 경우, Amazon EC2 Auto Scaling은 다른 알림을 전송하고 계속하기 전에 체크포인트 간 대기 시간을 반복합니다.
+ 특정 상황에서 체크포인트를 건너뛸 수 있습니다. 예컨대, Auto Scaling 그룹에 두 개의 인스턴스가 있고 체크포인트 백분율이 `[10,40,100]`이라고 가정해 보겠습니다. 첫 번째 인스턴스를 교체한 후 Amazon EC2 Auto Scaling은 그룹의 50%가 교체된 것으로 계산합니다. 50%가 처음 두 개의 체크포인트보다 높기 때문에 첫 번째 체크포인트(`10`)를 건너뛰고 두 번째 체크포인트(`40`)에 대한 알림을 전송합니다.
+ 작업을 취소하면 추가 교체가 중지됩니다. 작업을 취소하거나 마지막 체크포인트에 도달하기 전에 작업이 실패하면 이미 교체된 인스턴스는 이전 구성으로 롤백되지 않습니다.
+ 부분 새로 고침의 경우, 작업을 다시 실행하면 Amazon EC2 Auto Scaling이 마지막 체크포인트에서 다시 시작하지 않고 이전 인스턴스가 교체되는 경우에만 중지하지도 않습니다. 그러나 교체할 대상으로 새 인스턴스에 앞서 이전 인스턴스를 지정합니다.
+ 그룹의 인스턴스 수에 비해 체크포인트의 백분율이 너무 낮으면 실제 완료 백분율이 해당 체크포인트의 백분율보다 높을 수 있습니다. 예컨대, 체크포인트의 백분율이 20%이고 그룹에 4개의 인스턴스가 있다고 가정해 보겠습니다. Amazon EC2 Auto Scaling이 4개의 인스턴스 중 하나를 교체하는 경우, 실제 교체된 백분율(25%)이 체크포인트의 백분율(20%)보다 높습니다.
+ 체크포인트에 도달한 후에는 인스턴스 워밍업이 완료될 때까지 표시된 전체 완료 비율이 업데이트되지 않습니다. 예를 들어 체크포인트 비율은 `[20,50]`이고, 체크포인트 지연은 15분, 최소 정상 비율은 80%입니다. Auto Scaling 그룹에 10개의 인스턴스가 있고 이 그룹에서 다음과 같은 대체 작업을 수행합니다.
  + 0:00: 두 개의 이전 인스턴스가 새 인스턴스로 교체됩니다.
  + 0:10: 두 개의 새 인스턴스가 워밍업을 완료합니다.
  + 0:25: 두 개의 이전 인스턴스가 새 인스턴스로 교체됩니다. (최소 건전 백분율을 유지하기 위해 인스턴스가 두 개만 교체됩니다.)
  + 0:35: 두 개의 새 인스턴스가 워밍업을 완료합니다.
  + 0:35: 한 개의 이전 인스턴스가 새 인스턴스로 교체됩니다.
  + 0:45: 한 개의 새 인스턴스가 워밍업을 완료합니다.

  0:35에서 새 인스턴스 시작 작업이 중지됩니다. 새 인스턴스의 워밍업이 완료되지 않았기 때문에 완료율은 아직 완료된 교체 수(50%)를 정확하게 반영하지 않습니다. 새 인스턴스의 워밍업 기간이 0:45에 완료되면 완료율은 50%로 표시됩니다.
+ 여러 체크포인트가 활성화된 경우, 모든 인스턴스가 완전히 교체되도록 인스턴스 새로 고침 체크포인트를 100%로 설정해야 합니다. 최종 체크포인트를 100%보다 낮은 값(예: 50%)으로 설정하면, 인스턴스 새로 고침은 해당 체크포인트 비율에 도달한 후 인스턴스 교체를 중단하며, 자동으로 100%까지 진행되지 않습니다.

# AWS Management Console 또는를 사용하여 체크포인트 활성화 AWS CLI
<a name="enable-checkpoints-console-cli"></a>

 AWS Management Console 또는를 사용하여 체크포인트를 활성화 AWS CLI 할 수 있습니다.

## 체크포인트 활성화(콘솔)
<a name="enable-checkpoints-console"></a>

인스턴스 새로 고침을 시작하기 전에 체크포인트를 활성화하여 증분 또는 단계적 접근 방식을 사용하여 인스턴스를 교체할 수 있습니다. 이렇게 하면 검증을 위한 추가 시간이 제공됩니다.

**체크포인트를 사용하는 인스턴스 새로 고침을 시작하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 열고 탐색 창에서 **Auto Scaling Groups**(Auto Scaling 그룹)를 선택합니다.

1. Auto Scaling 그룹 옆의 확인란을 선택합니다.

   **Auto Scaling 그룹** 페이지 아래쪽에 분할 창이 열립니다.

1. **인스턴스 새로 고침(Active instance refresh)** 탭의 **활성 인스턴스 새로 고침(Active Instance refreshes)**에서 **인스턴스 새로 고침 시작(Start instance refresh)**을 선택합니다.

1. **인스턴스 새로 고침 시작(Start instance refresh)** 페이지에 **최소 건전 백분율(Minimum healthy percentage)** 및 **인스턴스 워밍업(Instance warmup)**을 입력합니다.

1. **체크포인트 활성화(Enable checkpoints)** 확인란을 선택합니다.

   그러면 첫 번째 체크포인트에 대한 백분율 임계값을 정의할 수 있는 상자가 표시됩니다.

1. **그룹의 \$1\$1\$1\$1%를 새로 고칠 때까지 계속 진행(Proceed until \$1\$1\$1\$1 % of the group is refreshed)**에 숫자(1\$1100)를 입력합니다. 이렇게 하면 첫 번째 체크포인트의 백분율이 설정됩니다.

1. 다른 체크포인트를 추가하려면**Add checkpoint(체크포인트 추가)**를 클릭하고 다음 체크포인트의 백분율을 정의합니다.

1. 체크포인트에 도달한 후 Amazon EC2 Auto Scaling이 대기하는 시간을 지정하려면 **체크포인트 간에 `1` `hour` 대기**의 필드를 업데이트합니다. 시간 단위는 시, 분 또는 초가 될 수 있습니다.

1. 인스턴스 새로 고침 선택을 마치면 **인스턴스 새로 고침 시작**을 선택합니다.

## 체크포인트 활성화(AWS CLI)
<a name="enable-checkpoints-cli"></a>

를 사용하여 체크포인트를 활성화한 상태에서 인스턴스 새로 고침을 시작하려면 다음 파라미터를 정의하는 구성 파일이 AWS CLI필요합니다.
+ `CheckpointPercentages`: 교체할 인스턴스의 백분율에 대한 임계값을 지정합니다. 이러한 임계값은 체크포인트를 제공합니다. 교체 및 워밍업되는 인스턴스의 백분율이 지정된 임계값 중 하나에 도달하면 작업이 지정된 기간에 대기합니다. `CheckpointDelay`에서 대기할 시간(초)을 지정합니다. 지정된 기간이 경과하면 인스턴스 새로 고침은 다음 체크포인트에 도달할 때까지 계속됩니다(해당하는 경우).
+ `CheckpointDelay`: 계속 진행하기 전 체크포인트에 도달한 후 대기하는 시간(초)을 지정합니다. 검증을 수행할 수 있는 충분한 시간을 제공하는 기간을 선택합니다.

`CheckpointPercentages` 어레이에 표시된 마지막 값은 성공적으로 교체해야 하는 Auto Scaling 그룹의 백분율을 설명합니다. 이 백분율이 성공적으로 교체되고 각 인스턴스가 초기화를 완료한 것으로 간주되면 작업이 `Successful`(으)로 전환됩니다.

**체크포인트를 여러 개 생성하려면**  
체크포인트를 여러 개 생성하려면 다음 예의 [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html) 명령을 사용합니다. 이 예에서는 처음에 Auto Scaling 그룹의 1%를 새로 고치는 인스턴스 새로 고침을 구성합니다. 인스턴스 새로 고침은 10분을 기다린 후 다음 19퍼센트를 새로 고치고 10분을 더 기다립니다. 마지막으로 그룹의 나머지 인스턴스를 새로 고치고 작업을 해지합니다.

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

`config.json`의 콘텐츠:

```
{
    "AutoScalingGroupName": "my-asg",
    "Preferences": {
      "InstanceWarmup": 60,
      "MinHealthyPercentage": 80,
      "CheckpointPercentages": [1,20,100],
      "CheckpointDelay": 600
    }
}
```

**단일 체크포인트를 생성하려면**  
단일 체크포인트를 생성하려면 다음 예의 [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html) 명령을 사용합니다. 이 예에서는 처음에 Auto Scaling 그룹의 20%를 새로 고치는 인스턴스 새로 고침을 구성합니다. 인스터스 새로 고침은 10분을 기다린 후 그룹의 나머지 인스턴스를 새로 고치고 작업을 해지합니다.

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

`config.json`의 콘텐츠:

```
{
    "AutoScalingGroupName": "my-asg",
    "Preferences": {
      "InstanceWarmup": 60,
      "MinHealthyPercentage": 80,
      "CheckpointPercentages": [20,100],
      "CheckpointDelay": 600
    }
}
```

**Auto Scaling 그룹을 부분적으로 새로 고치려면**  
Auto Scaling 그룹의 일부만 교체한 다음 작업을 완전히 중지하려면 다음 예의 [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html) 명령을 사용합니다. 이 예에서는 처음에 Auto Scaling 그룹의 1%를 새로 고치는 인스턴스 새로 고침을 구성합니다. 인스턴스 새로 고침은 10분을 기다린 후 다음 19%를 새로 고치고 작업을 해지합니다.

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

`config.json`의 콘텐츠:

```
{
    "AutoScalingGroupName": "my-asg",
    "Preferences": {
      "InstanceWarmup": 60,
      "MinHealthyPercentage": 80,
      "CheckpointPercentages": [1,20],
      "CheckpointDelay": 600
    }
}
```