AWS Management Console 또는 AWS CLI를 사용하여 자체 관리형 스택 가져오기 - AWS CloudFormation

AWS Management Console 또는 AWS CLI를 사용하여 자체 관리형 스택 가져오기

AWS CloudFormation 스택 가져오기 작업은 기존 스택을 새 스택 또는 기존 스택 세트로 가져올 수 있으므로 한 번의 작업으로 기존 스택을 스택 세트로 마이그레이션할 수 있습니다. StackSets는 단일 작업으로 여러 계정 및 리전에 대해 스택을 생성, 업데이트 또는 삭제할 수 있도록 하여 스택의 기능을 확장합니다.

예를 들어 여러 계정에 걸쳐 관리 AWS Identity and Access Management(IAM) 역할을 지정하는 스택이 있는 경우 해당 스택을 스택 세트로 가져올 수 있습니다. 스택 가져오기를 사용하면 해당 리소스를 삭제하고 다시 생성하지 않고도 가동 중지 및 중단을 방지할 수 있습니다. 스택을 스택 세트로 가져오면 원래 스택이 새로 생성된 스택 세트의 스택 인스턴스가 됩니다.

스택 가져오기에 대한 자체 관리형 요구 사항

스택 가져오기에 대한 요구 사항 섹션 외에도 자체 관리형 스택 가져오기에는 다음이 필요합니다.

  • 스택 가져오기 작업은 자체 관리형 권한이 있는 스택 세트 생성을 지원합니다.

  • 스택 가져오기 작업에는 스택 세트를 생성하는 관리자 계정과 스택이 포함된 대상 계정이 필요합니다.

  • 대상 계정에는 스택 ID 또는 ARN 입력으로 GetTemplate 작업을 사용할 수 있는 권한이 있어야 합니다. 따라서 관리자 계정에 AWSCloudFormationStackSetsAdminstration 또는 AWSCloudFormationStackSetsExectionRole 권한이 부여되어야 합니다.

기존 스택 세트를 새 스택 세트로 가져오기(콘솔)

시작하기 전에 가져올 스택을 식별합니다.

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

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

  3. 스택 세트 페이지의 상단에서 스택 세트 만들기를 선택하세요.

  4. Choose a template(템플릿 지정) 페이지에서 다음 옵션 중 하나로 템플릿을 지정하고 Next(다음)를 선택합니다.

    • Amazon S3 URL을 선택하고 텍스트 상자에 템플릿의 URL을 지정합니다.

    • Upload a template file(템플릿 파일 업로드)을 선택하고 템플릿을 찾습니다.

    • From stack ID(스택 ID에서)를 선택하고 스택 ID를 입력합니다.

  5. Specify StackSet details(StackSet 세부 정보 지정) 페이지에서 생성하려는 스택 세트의 이름을 입력하고 Next(다음)를 선택합니다.

    (선택 사항) 스택 세트에 대한 설명을 입력합니다.

  6. Configure StackSet options(스택 세트 옵션 구성) 페이지에서 선택 사항을 검토하고 Next(다음)를 선택합니다.

  7. Set deployment options(배포 옵션 설정) 페이지에서 Import stacks to stack set(스택 세트로 스택 가져오기)를 선택합니다.

  8. Stacks to import(가져올 스택) 필드에 가져올 스택의 스택 ID를 입력합니다. 예: arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786.

    (선택 사항) Add another stack ID(다른 스택 ID 추가)를 선택하고 가져올 다른 스택의 스택 ID를 입력합니다. 스택 가져오기 작업당 최대 10개의 스택을 추가할 수 있습니다.

  9. 배포 옵션을 검토하고 Next(다음)를 선택합니다.

  10. [Review] 페이지에서 선택 사항 및 스택 세트 속성을 검토합니다. 스택을 스택 세트로 가져올 준비가 되면 Submit(제출)을 선택합니다.

결과: 가져온 스택은 이제 지정된 스택 세트의 스택 인스턴스입니다. 스택 가져오기 상태에 대해 자세히 알아보려면 StackSets 상태 코드 섹션을 참조하세요.

기존 스택 세트를 기존 스택 세트로 가져오기(콘솔)

시작하기 전에 가져올 스택을 식별합니다.

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

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

  3. StackSets 페이지에서 스택을 가져올 스택 세트를 선택합니다.

  4. 스택 세트를 선택한 상태로 Actions(작업) 메뉴에서 Add stacks to StackSet(StackSet에 스택 추가)를 선택합니다.

  5. Set deployment options(배포 옵션 설정) 페이지에서 Import stacks to stack set(스택 세트로 스택 가져오기)를 선택하고 Stacks to import(가져올 스택) 필드에 가져올 스택의 스택 ID를 입력합니다. 예: arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786.

    (선택 사항) Add another stack ID(다른 스택 ID 추가)를 선택하고 가져올 다른 스택의 스택 ID를 입력합니다. 스택 가져오기 작업당 최대 10개의 스택을 추가할 수 있습니다.

  6. Next(다음)를 선택합니다.

  7. Specify overrides(재정의 지정) 페이지에서 선택 사항을 검토하고 Next(다음)를 선택합니다.

  8. [Review] 페이지에서 선택 사항 및 스택 세트 속성을 검토합니다. 스택 세트를 생성할 준비가 되면 Submit(제출)을 선택합니다.

결과: 가져온 스택은 이제 지정된 스택 세트의 스택 인스턴스입니다. 스택 가져오기 상태에 대해 자세히 알아보려면 StackSets 상태 코드 섹션을 참조하세요.

스택을 스택 세트로 가져오기(AWS CLI)

기존 스택을 새 스택 세트로 가져오기

다음 create-stack-set 명령은 스택 세트를 생성하고 지정된 스택을 가져옵니다. 가져올 스택은 ARN으로 식별됩니다. 각 자리 표시자 텍스트를 자신의 정보로 바꿉니다.

aws cloudformation create-stack-set \ --stack-set-name MyStackSet \ --stack-id arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/466df9e0-0dff-08e3-8e2f-5088487c4896 \ --administration-role-arn arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole \ --execution-role-name AWSCloudFormationStackSetExecutionRole
기존 스택 세트를 기존 스택 세트로 가져오기

다음 import-stacks-to-stack-sets 명령은 지정된 스택을 MyStackSet 스택 세트로 가져옵니다. 가져올 스택은 ARN으로 식별됩니다. 각 자리 표시자 텍스트를 자신의 정보로 바꿉니다.

aws cloudformation import-stacks-to-stack-set \ --stack-set MyStackSet \ --stack-ids arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786

스택을 2개 이상 지정하려면 --stack-ids 옵션의 값에 다음 형식을 사용합니다.

--stack-ids "arn_1" "arn_2"
가져온 스택을 다른 리전과 계정으로 복제

create-stack-instances 명령을 실행하여 스택 인스턴스를 스택 세트에 추가합니다. 각 자리 표시자 텍스트를 자신의 정보로 바꿉니다.

aws cloudformation create-stack-instances \ --stack-set-name MyStackSet \ --accounts '["account_ID_1","account_ID_2"]' \ --regions '["region_1","region_2"]'

스택 인스턴스 가져오기 작업 되돌리기

스택 가져오기 태스크를 되돌리려면 다음 태스크를 수행합니다.

  1. 스택 인스턴스가 삭제된 후 유지하려는 각 리소스에 대해 RetainDeletionPolicy 속성을 지정합니다. 자세한 내용은 가져오기 작업 되돌리기 단원을 참조하십시오.

  2. 스택 세트에서 스택 인스턴스를 삭제합니다. 자세한 내용은 CloudFormation 콘솔 또는 AWS CLI를 사용하여 스택 인스턴스 삭제 단원을 참조하십시오.

  3. 스택 세트를 삭제합니다. 자세한 내용은 CloudFormation 콘솔 또는 AWS CLI를 사용하여 스택 세트 삭제 단원을 참조하십시오.

결과: 되돌리기 작업으로 스택 인스턴스가 삭제되고 스택의 리소스가 유지되었습니다.