

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

# 수동 또는 자동 롤백으로 변경 취소
<a name="instance-refresh-rollback"></a>

아직 진행 중인 인스턴스 새로 고침을 롤백할 수 있습니다. 완료된 후에는 롤백할 수 없습니다. 그러나 새 인스턴스 새로 고침을 시작하여 Auto Scaling 그룹을 다시 업데이트할 수 있습니다.

롤백 시 Amazon EC2 Auto Scaling은 지금까지 배치된 인스턴스를 교체합니다. 새 인스턴스는 인스턴스 새로 고침을 시작하기 전에 Auto Scaling 그룹에 마지막으로 저장한 구성과 일치합니다.

Amazon EC2 Auto Scaling은 다음과 같은 롤백 방법을 제공합니다.
+ 수동 롤백: 롤백을 수동으로 시작하여 롤백 지점까지 배치된 내용을 되돌립니다.
+ 자동 롤백: Amazon EC2 Auto Scaling은 어떤 이유로 인스턴스 새로 고침이 실패하거나 또는 귀하가 지정한 CloudWatch 경보가 `ALARM` 상태로 들어가는 경우에 배치된 것을 자동으로 되돌립니다.

**Topics**
+ [고려 사항](#instance-refresh-rollback-considerations)
+ [수동으로 롤백 시작하기](#instance-refresh-manual-rollback)
+ [자동 롤백과 함께 인스턴스 새로 고침 시작](#instance-refresh-using-auto-rollback)

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

롤백 사용시 다음 고려 사항이 적용됩니다:
+ 롤백 옵션은 인스턴스 새로 고침을 시작할 때 원하는 구성을 지정한 경우에만 사용할 수 있습니다.
+ 시작 템플릿의 이전 버전으로 롤백할 수 있는 버전은 특정 번호가 지정된 버전인 경우에만 가능합니다. Auto Scaling 그룹이 `$Latest` 또는 `$Default` 시작 템플릿 버전을 사용하도록 구성된 경우에는 롤백 옵션을 사용할 수 없습니다.
+ 또한 파라미터 스토어의 AMI AWS Systems Manager 별칭을 사용하도록 구성된 시작 템플릿으로 롤백할 수 없습니다.
+ Auto Scaling 그룹에 마지막으로 저장한 구성이 안정적 상태에 있어야 합니다. 안정적 상태가 아닌 경우에도 롤백 워크플로우는 계속 발생하지만 결국 실패하게 됩니다. 문제를 해결할 때까지 Auto Scaling 그룹은 더 이상 인스턴스를 성공적으로 시작할 수 없는 실패 상태에 있을 수 있습니다. 이는 서비스 또는 애플리케이션의 가용성에 영향을 미칠 수 있습니다.

## 수동으로 롤백 시작하기
<a name="instance-refresh-manual-rollback"></a>

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

**수동으로 인스턴스 새로 고침의 롤백 시작 (콘솔)**

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

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

1. **인스턴스 새로 고침** 탭의 **활성 인스턴스 새로 고침**에서 **작업**, **롤백 시작**을 선택합니다.

1. 확인 메시지가 표시되면 **확인**을 선택합니다.

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

**수동으로 인스턴스 새로 고침의 롤백 시작 (AWS CLI)**  
 AWS CLI 에서 [rollback-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/rollback-instance-refresh.html) 명령을 사용하고 Auto Scaling 그룹 명칭을 제공합니다.

```
aws autoscaling rollback-instance-refresh --auto-scaling-group-name my-asg
```

출력 예시:

```
{
    "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
```

**작은 정보**  
이 명령에서 오류가 발생하면 AWS CLI 로컬에서를 최신 버전으로 업데이트했는지 확인합니다.

------

## 자동 롤백과 함께 인스턴스 새로 고침 시작
<a name="instance-refresh-using-auto-rollback"></a>

자동 롤백 기능을 사용하면 오류가 발생하거나 지정된 Amazon CloudWatch 경보가 `ALARM` 상태가 되는 등 인스턴스 새로 고침이 실패할 때 자동으로 롤백할 수 있습니다.

자동 롤백을 사용하도록 설정한 경우 인스턴스를 교체하는 동안 오류가 발생하면, 인스턴스 새로 고침은 1시간 동안 모든 교체를 완료하려고 시도한 후 실패하고 롤백합니다. 이러한 오류는 일반적으로 EC2 시작 실패, 잘못 구성된 상태 검사, `Standby` 상태 또는 스케일 인으로부터 보호되는 인스턴스의 해지를 무시하거나 허용하지 않는 등의 이유로 인해 발생합니다.

CloudWatch 경보 지정은 선택 사항입니다. 경보를 지정하려면 먼저 이를 생성해야 합니다. 지표 경보 및 복합 경보를 지정할 수 있습니다. 경보 생성에 대한 자세한 설명은 [Amazon CloudWatch 사용자 가이드](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)를 참조하세요. Elastic Load Balancing 지표를 예로 들면, Application Load Balancer를 사용하는 경우, `HTTPCode_ELB_5XX_Count` 및 `HTTPCode_ELB_4XX_Count` 지표를 사용할 수 있습니다.

**고려 사항**
+ CloudWatch 경보를 지정했지만 자동 롤백을 사용하도록 설정하지 않은 경우, 경보 상태가 `ALARM`으로 전환되면 롤백하지 않고 인스턴스 새로 고침이 실패합니다.
+ 인스턴스 새로 고침을 시작할 때 최대 10개의 경보를 선택할 수 있습니다.
+ CloudWatch 경보를 선택할 때는 그 경보가 호환 가능한 상태여야 합니다. 경보 상태가 `INSUFFICIENT_DATA` 또는 `ALARM` 인 경우, 인스턴스 새로 고침을 시작하려고 할 때 오류가 발생합니다.
+ Amazon EC2 Auto Scaling에서 사용할 경보를 생성할 때, 경보에는 누락된 데이터 요소를 처리하는 방법이 포함되어야 합니다. 설계에 따라 지표가 데이터 포인트를 자주 누락하는 경우, 경보 상태는 그 기간에 `INSUFFICIENT_DATA`입니다. 이 경우, 새 데이터 포인트를 찾을 때까지 Amazon EC2 Auto Scaling은 인스턴스를 교체할 수 없습니다. 경보가 이전의 `ALARM` 또는 `OK` 상태를 유지하도록 강제하기 위해, 귀하는 대신 누락된 데이터를 무시하도록 선택할 수 있습니다. 자세한 설명은 *Amazon CloudWatch 사용자 가이드*의 [경보가 누락된 데이터를 처리하는 방법 구성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data)을 참조하세요.

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

**자동 롤백과 함께 인스턴스 새로 고침을 시작하려면 (콘솔)**

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

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

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

1. 필요한 경우 [인스턴스 새로 고침 시작(콘솔)](start-instance-refresh.md#start-instance-refresh-console) 절차에 따라 인스턴스 새로 고침 설정을 구성합니다.

1. (선택 사항) **새로 고침 설정**에서 **CloudWatch 경보**에 대해 **CloudWatch 경보 사용**을 선택한 다음, 하나 이상의 경보를 선택하여 문제를 식별하고 경보가 `ALARM` 상태가 되면 작업을 실패 처리할 수 있습니다.

1. **롤백 설정**에서 **자동 롤백 사용**을 선택하여 인스턴스 새로 고침을 시작하기 전에 Auto Scaling 그룹에 마지막으로 저장한 구성으로 실패한 인스턴스 새로 고침을 자동으로 롤백할 수 있습니다.

1. 선택한 내용을 검토한 다음 **인스턴스 새로 고침 시작**을 선택합니다.

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

**자동 롤백과 함께 인스턴스 새로 고침 시작(AWS CLI)**  
[start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html) 명령을 사용하고 `Preferences`의 `AutoRollback` 옵션에 대해 `true`을 지정합니다.

다음 예는 장애 발생 시 자동으로 롤백되는 인스턴스 새로 고침을 시작하는 방법을 보여줍니다. *`italicized`* 파라미터 값을 자신의 값으로 바꾸세요.

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

`config.json`의 콘텐츠:

```
{
    "AutoScalingGroupName": "my-asg",
    "DesiredConfiguration": {
      "LaunchTemplate": {
          "LaunchTemplateName": "my-launch-template",
          "Version": "1"
       }
    },
    "Preferences": {
      "AutoRollback": true
    }
}
```

또는 인스턴스 새로 고침이 실패하거나 지정된 CloudWatch 경보가 `ALARM` 상태일 때 자동으로 롤백하려면 다음 예와 같이 `Preferences`에 `AlarmSpecification` 옵션을 지정하고 경보 이름을 입력합니다. *`italicized`* 파라미터 값을 자신의 값으로 바꾸세요.

```
{
    "AutoScalingGroupName": "my-asg",
    "DesiredConfiguration": {
      "LaunchTemplate": {
          "LaunchTemplateName": "my-launch-template",
          "Version": "1"
       }
    },
    "Preferences": {
      "AutoRollback": true,
      "AlarmSpecification": { "Alarms": [ "my-alarm" ] }
    }
}
```

이 작업이 성공하면 다음과 비슷한 출력이 반환됩니다.

```
{
  "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
```

**작은 정보**  
이 명령에서 오류가 발생하면 AWS CLI 로컬에서를 최신 버전으로 업데이트했는지 확인합니다.

------