

# CloudFormation StackSet 업데이트
<a name="stacksets-update"></a>

CloudFormation 콘솔이나 AWS CLI를 사용하여 StackSet를 업데이트할 수 있습니다.

StackSet에서 계정과 리전을 추가하고 제거하려면 [StackSets에 스택 추가](stackinstances-create.md) 및 [StackSets에서 스택 삭제](stackinstances-delete.md) 섹션을 참조하세요. 스택에 대한 파라미터 값을 재정의하려면 [스택에서 파라미터 재정의](stackinstances-override.md) 섹션을 참조하세요.

**Topics**
+ [StackSet 업데이트(콘솔)](#stacksets-update-console)
+ [StackSet 업데이트(AWS CLI)](#stacksets-update-cli)

## StackSet 업데이트(콘솔)
<a name="stacksets-update-console"></a>

**StackSet를 업데이트하려면**

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

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

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

1. **StackSet** 페이지에서 업데이트하려는 StackSet를 선택합니다.

1. StackSet를 선택한 상태로 **작업** 메뉴에서 **StackSet 세부 정보 편집**을 선택합니다.

1. **템플릿 선택** 페이지에서 필요에 따라 **권한** 섹션을 업데이트하거나 다음 단계로 건너뜁니다.

1. **사전 조건 - 템플릿 준비**에서 **현재 템플릿 사용**을 선택하여 현재 템플릿을 사용하거나, **현재 템플릿 교체**를 선택하여 다른 템플릿의 S3 URL을 지정하거나 새 템플릿을 업로드합니다.

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

1. **StackSet 세부 정보 지정** 페이지의 **StackSet 설명**에서 필요에 따라 StackSet에 대한 설명을 업데이트합니다.

1. **파라미터**에서 필요에 따라 파라미터 값을 업데이트합니다.

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

1. **StackSet 옵션 구성** 페이지의 **태그**에서 필요에 따라 태그를 수정합니다. 태그를 추가, 업데이트 또는 삭제합니다. AWS에서 태그를 사용하는 방법에 대한 자세한 내용은 *AWS 결제 및 비용 관리 사용 설명서*의 [Organizing and tracking costs using AWS cost allocation tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)를 참조하세요.

1. **실행 구성**에서 필요에 따라 실행 구성을 업데이트할 수 있습니다.
**참고**  
작업이 실행 중이거나 대기열에 있는 경우 실행 설정을 변경할 수 없습니다.

1. 템플릿에 IAM 리소스가 포함되어 있는 경우 **기능**에서 **이 템플릿이 IAM 리소스를 생성할 수 있음을 확인합니다**를 선택하여 템플릿에서 IAM 리소스를 사용하도록 지정합니다. 자세한 내용은 [CloudFormation 템플릿에서 IAM 리소스 승인](control-access-with-iam.md#using-iam-capabilities) 섹션을 참조하세요.

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

1. **배포 옵션 설정** 페이지에서 업데이트를 위한 계정과 리전을 제공합니다.

   리전의 배포 실패가 지정된 내결함성을 초과하지 않는 한 CloudFormation은 첫 번째 리전의 지정된 계정에 스택 업데이트를 배포한 후 다음으로 이동하는 식의 과정을 계속합니다.

   1. [자체 관리형 권한] **계정**, **배포 위치**에서 **계정에 스택 배포**를 선택합니다. StackSet를 생성하는 데 사용한 대상 계정 ID를 텍스트 상자에 붙여 넣습니다. 숫자가 여러 개인 경우 각 숫자를 쉼표로 구분합니다.

      [서비스 관리형 권한] 다음 중 하나를 수행합니다.
      + **조직 단위(OU)에 배포**를 선택합니다. StackSet를 생성하는 데 사용한 대상 OU를 입력합니다.
      + **계정에 배포**를 선택합니다. StackSet를 생성하는 데 사용한 대상 OU ID 또는 계정 ID를 붙여 넣습니다.

   1. **리전 지정**에서 CloudFormation에서 업데이트를 배포할 순서를 지정합니다.

   1. **배포 옵션**에서 다음을 수행하세요.
      + **최대 동시 계정**에서 동시에 처리되는 계정 수를 지정하세요.
      + **내결함성**에서 리전당 허용되는 최대 계정 실패 횟수를 지정합니다. 이 한도에 도달하면 작업이 중지되고 다른 리전으로 진행되지 않습니다.
      + **리전 동시성**에서 리전을 처리하는 방법(**순차**: 한 번에 하나의 리전 또는 **병렬**: 동시에 여러 리전)을 선택하세요.
      + **동시성 모드**에서 작업 실행 중에 동시성이 작동하는 방식을 선택하세요.
        + **엄격한 내결함성** - **내결함성** \$11의 범위를 유지하면서 장애가 발생하는 경우 계정 동시성 수준을 줄입니다.
        + **소프트한 내결함성** - 장애에 관계없이 지정된 동시성 수준(**최대 동시 계정**의 값)을 유지합니다.
      + [서비스 관리형 권한] StackSet **종속성**의 경우 종속성을 최대 10개 이내로 유지하면서 종속 StackSet ARN을 추가합니다. 자세한 내용은 [AWS Organizations에서 StackSets에 대한 자동 배포 활성화 또는 비활성화](stacksets-orgs-manage-auto-deployment.md) 섹션을 참조하세요.

   1. **다음**을 선택하여 계속 진행합니다.

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

1. 계속 진행할 준비가 되면 **제출**을 선택합니다.

   CloudFormation은 StackSet에 업데이트 적용을 시작하고 StackSet 세부 정보 페이지의 **작업** 탭을 표시합니다. **작업** 탭에서 업데이트 작업의 진행률 및 상태를 볼 수 있습니다.

## StackSet 업데이트(AWS CLI)
<a name="stacksets-update-cli"></a>

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

1. 

**StackSet를 업데이트하려면**

   [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html) 명령을 사용하여 StackSet를 변경합니다.

   다음 예에서는 `--parameters` 옵션을 사용하여 StackSet를 업데이트합니다. 구체적으로, 전송 채널 구성의 기본 스냅샷 전송 빈도를 `TwentyFour_Hours`에서 `Twelve_Hours`로 변경합니다. 아직 현재 템플릿을 사용하고 있기 때문에 `--use-previous-template` 옵션을 추가합니다.

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

   [자체 관리형 권한] `--accounts` 옵션에 업데이트 대상으로 지정할 계정 ID를 입력합니다.

   ```
   aws cloudformation update-stack-set --stack-set-name my-stackset \
     --use-previous-template \
     --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours \
     --accounts account_ID_1 account_ID_2 \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   [서비스 관리형 권한] `--deployment-targets` 옵션에 업데이트 대상으로 지정할 조직 루트 ID 또는 조직 단위(OU) ID를 제공하세요.

   ```
   aws cloudformation update-stack-set --stack-set-name my-stackset \
     --use-previous-template \
     --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours \
     --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo,ou-rcuk-slr5lh0a \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   자세한 내용을 알아보려면 *AWS CloudFormation API 참조*의 [UpdateStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html)를 참조하세요.

1. 업데이트 작업 상태 및 결과를 표시하려면 **describe-stack-set-operation** 명령을 실행하여 StackSet가 성공적으로 업데이트되었는지 확인합니다. `--operation-id`의 경우 **update-stack-set** 명령에서 반환한 작업 ID를 사용합니다.

   ```
   aws cloudformation describe-stack-set-operation \
     --operation-id operation_ID
   ```