

# CloudFormation StackSet에서 스택 삭제
<a name="stackinstances-delete"></a>

CloudFormation 콘솔이나 AWS CLI를 사용하여 StackSets에서 스택을 삭제할 수 있습니다.

**Topics**
+ [StackSet에서 스택 삭제(콘솔)](#stackinstances-delete-console)
+ [StackSet에서 스택 삭제(AWS CLI)](#stackinstances-delete-cli)

**참고**  
최상위 조직 단위(OU)에서 스택을 삭제하면 해당 OU가 StackSet 대상에서 해제됩니다.

## StackSet에서 스택 삭제(콘솔)
<a name="stackinstances-delete-console"></a>

**스택을 삭제하는 방법**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)에서 CloudFormation 콘솔을 엽니다.

1. 화면 상단의 탐색 모음에서 StackSet를 생성한 AWS 리전을 선택합니다.

1. 탐색 창에서 **스택 세트**를 선택합니다. StackSet 페이지에서 StackSet를 선택합니다.

1. StackSet를 선택한 상태로 **작업** 메뉴에서 **StackSet에서 스택 삭제**를 선택합니다.

1. **배포 옵션 설정** 페이지에서 먼저 스택을 삭제할 계정 및 리전을 선택하세요.

   1. [자체 관리형 권한] **계정**에서 **계정에 스택 배포** 또는 **조직 단위에 스택 배포**를 선택하세요.

      **계정에 스택 배포**를 선택하는 경우 **계정 번호** 텍스트 상자에 대상 계정 번호를 붙여넣으세요(여러 숫자는 쉼표로 구분).

      **조직 단위에 스택 배포**를 선택하는 경우 **조직 번호** 텍스트 상자에 대상 OU ID를 붙여넣어 지정된 조직의 일부인 모든 계정을 대상으로 지정하세요.

   1. [서비스 관리형 권한] **OU(조직 단위)**에서 대상 OU ID를 지정합니다.
**중요**  
CloudFormation이 지정된 대상 OU 및 하위 OU에서 스택을 삭제합니다.

      **계정 필터 유형**에서는 다음 옵션 중 하나를 선택하고 계정 번호를 제공하여 스택을 삭제하려는 계정을 세분화할 수 있습니다.
      + **없음**(기본값) - 지정된 OU에 있는 모든 계정에서 스택을 삭제합니다.
      + **교집합** - 선택한 OU 내 특정 개별 계정에서만 스택을 삭제합니다.
      + **차집합** - 특정 계정을 제외하고 선택한 OU의 모든 계정에서 스택을 삭제합니다.
      + **합집합** - 지정된 OU 및 추가 개별 계정에서 스택을 삭제합니다.

   1. **리전 지정**에서는 대상 계정 내에서 스택을 삭제하려는 리전을 선택하세요.

1. **배포 옵션**에서 다음을 수행하세요.
   + **최대 동시 계정**에서 동시에 처리되는 계정 수를 지정하세요.
   + **내결함성**에서 리전당 허용되는 최대 계정 실패 횟수를 지정합니다. 이 한도에 도달하면 작업이 중지되고 다른 리전으로 진행되지 않습니다.
   + **스택 유지**에서, 이 옵션을 활성화하여 StackSet에서 스택을 제거할 때 스택 및 관련 리소스를 저장할지 여부를 선택합니다. 리소스는 현재 상태로 유지되지만 더 이상 StackSet의 일부가 아닙니다.
   + **리전 동시성**에서 리전을 처리하는 방법(**순차**: 한 번에 하나의 리전 또는 **병렬**: 동시에 여러 리전)을 선택하세요.
   + **동시성 모드**에서 작업 실행 중에 동시성이 작동하는 방식을 선택하세요.
     + **엄격한 내결함성** - **내결함성** \$11의 범위를 유지하면서 장애가 발생하는 경우 계정 동시성 수준을 줄입니다.
     + **소프트한 내결함성** - 장애에 관계없이 지정된 동시성 수준(**최대 동시 계정**의 값)을 유지합니다.

1. **다음**을 선택합니다.

1. [**검토**] 페이지에서 선택 사항을 검토합니다. 변경하려면 관련 섹션에서 **편집**을 선택합니다.

1. StackSet에서 스택을 제거할 준비가 되면 **제출**을 선택합니다.

   스택 삭제가 완료되면 **스택 인스턴스** 탭의 StackSet 세부 정보 페이지에서 스택이 StackSet에서 삭제되었는지 확인할 수 있습니다.

## StackSet에서 스택 삭제(AWS CLI)
<a name="stackinstances-delete-cli"></a>

**참고**  
위임된 관리자 역할로 작업하는 경우 명령에 `--call-as DELEGATED_ADMIN`을 포함해야 합니다.

StackSet 이름과 함께 **delete-stack-instances** 명령을 사용합니다.

이 예제에서는 스택을 유지하지 않기 때문에 `--no-retain-stacks` 옵션을 사용합니다. 스택과 해당 리소스를 유지하려면 `--no-retain-stacks` 대신 `--retain-stacks`를 사용하세요.

`--regions`에는 스택을 삭제하려는 AWS 리전(예: `us-west-2` 및 `us-east-1`)을 지정하세요.

`--operation-preferences` 옵션을 사용하여 동시 계정 처리 및 기타 기본 설정을 지정하세요. 이 예제에서는 개수 기반 설정을 사용합니다. `MaxConcurrentCount`는 `FailureToleranceCount` \$1 1을 초과해서는 안 됩니다. 백분율 기반 설정의 경우 대신 `FailureTolerancePercentage` 또는 `MaxConcurrentPercentage`를 사용하세요.

**스택을 삭제하려면(자체 관리형 권한)**  
`--accounts` 옵션에서 스택을 삭제할 계정의 ID를 지정합니다.

```
aws cloudformation delete-stack-instances --stack-set-name my-stackset \
  --accounts account_ID_1 account_ID_2 \
  --regions us-west-2 us-east-1 \
  --no-retain-stacks \
  --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
```

**스택을 삭제하려면(서비스 관리형 권한)**  
`--deployment-targets`에서 스택을 삭제할 조직 루트 ID 또는 조직 단위(OU) ID를 지정합니다.

**중요**  
CloudFormation이 지정된 대상 OU 및 하위 OU에서 스택을 삭제합니다.

```
aws cloudformation delete-stack-instances --stack-set-name my-stackset \
  --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5jlwo,ou-rcuk-slr5lh0a \ 
  --regions us-west-2 us-east-1 \
  --no-retain-stacks \
  --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
```

자세한 내용은 *AWS CloudFormation API 참조*의 [DeleteStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html)를 참조하세요.

필요한 경우, 스택 삭제가 완료되면 **describe-stack-set-operation** 명령을 실행하여 스택 삭제 작업의 상태 및 결과를 표시해 스택이 StackSet에서 삭제되었는지 확인합니다. `--operation-id`의 경우 **delete-stack-instances** 명령에서 반환한 작업 ID를 사용합니다.

```
aws cloudformation describe-stack-set-operation --stack-set-name my-stackset \
  --operation-id ddf16f54-ad62-4d9b-b0ab-3ed8e9example
```