AWS CloudFormation StackSets에 대한 서비스 관리형 스택 가져오기 - AWS CloudFormation

AWS CloudFormation StackSets에 대한 서비스 관리형 스택 가져오기

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

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

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

  • 스택 가져오기 작업에는 StackSets와의 신뢰 액세스 활성화와 같이 연결된 AWS Organizations를 관리할 수 있는 관리 계정 또는 위임된 관리자 계정이 필요합니다.

  • 대상 계정은 관리 계정 또는 위임된 관리자 계정에서 관리하는 AWS Organizations의 멤버여야 합니다.

  • 대상 스택은 대상 OU 중 하나에 있습니다.

  • 대상 계정은 AWS Organizations의 멤버여야 합니다.

  • AWS Organizations 액세스는 Organizations에 대해 ACTIVATED 상태여야 합니다.

  • 가져오는 스택은 관리 계정이 아닌 모든 멤버 계정에 있어야 합니다.

새 스택 세트로 서비스 관리형 스택 가져오기(콘솔)

AWS Management Console을 사용하여 새 스택 세트로 스택 가져오기

스택 세트로 새 스택을 가져오려면 가져올 리소스가 포함된 스택을 식별합니다.

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

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

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

  4. Choose a template(템플릿 선택) 페이지에 다음 정보를 추가합니다.

    1. StackSet permission model(StackSet 권한 모델)에서 Service-managed permissions(서비스 관리형 권한)를 선택합니다.

    2. Prerequisite - Prepare template(사전 조건 - 템플릿 준비)에서 Template is ready(템플릿 준비 완료)를 선택합니다.

      1. Amazon S3 URL에 대해 Amazon S3 URL 필드에 Amazon S3 URL을 입력합니다.

      2. Upload a template file(템플릿 파일 업로드)에서 로컬 컴퓨터의 CloudFormation 템플릿을 선택합니다.

    설정을 수락하고 Next(다음)를 선택합니다.

  5. Specify StackSet details(스택 세트 세부 정보 지정) 페이지에 다음 정보를 추가합니다.

    1. StackSet name(스택 세트 이름) 상자에 스택 세트 이름을 입력합니다.

    2. (옵션) StackSet description(스택 세트 설명)에 설명을 입력합니다.

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

  6. Set deployment options(배포 옵션 설정) 페이지에 다음 정보를 추가합니다.

    1. Add stacks to stack set(스택 세트에 스택 추가)에서 Import stacks to stack set(스택 세트로 스택 가져오기)를 선택합니다.

    2. Stacks to import(가져올 스택)에서 스택 가져오기 방법을 선택합니다.

      1. Stack ID(스택 ID)에서 스택 ID를 입력합니다.

      2. Stack URL(스택 URL)에서 Amazon S3 URL을 입력합니다.

  7. Associate organizational units(조직 단위 연결) 섹션에 다음 정보를 추가합니다.

    1. Associate with organization(조직과 연결)을 선택하여 루트 OU를 사용합니다.

    2. Associate with organizational units (OUs)(조직 단위(OU)와 연결)를 선택하여 가져올 스택의 상위 OU ID를 입력합니다. 예를 들어 Stack 1Stack 2OU1 아래에 있고 Stack 3OU2 아래에 있는 경우 OU1OU2를 입력합니다.

    설정을 수락하고 Next(다음)를 선택합니다.

  8. Review(검토) 페이지에서 설정을 검토하고 Submit(제출)을 선택합니다.

서비스 관리형 스택 생성 및 기존 스택 세트로 가져오기(콘솔)

새 스택 세트로 기존 스택을 가져오려면 가져올 리소스가 포함된 스택을 식별합니다.

스택 세트 생성 및 스택 가져오기
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudformation에서 AWS CloudFormation 콘솔을 엽니다.

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

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

  4. Choose a template(템플릿 선택) 페이지에 다음 정보를 추가합니다.

    1. StackSet permission model(StackSet 권한 모델)에서 Service-managed permissions(서비스 관리형 권한)를 선택합니다.

    2. Prerequisite - Prepare template(사전 조건 - 템플릿 준비)에서 Template is ready(템플릿 준비 완료)를 선택합니다.

      1. Amazon S3 URL에 대해 Amazon S3 URL 필드에 Amazon S3 URL을 입력합니다.

      2. Upload a template file(템플릿 파일 업로드)에서 로컬 컴퓨터의 CloudFormation 템플릿을 선택합니다.

    설정을 수락하고 Next(다음)를 선택합니다.

  5. Specify StackSet details(스택 세트 세부 정보 지정) 페이지에 다음 정보를 추가합니다.

    1. StackSet name(스택 세트 이름) 상자에 스택 세트 이름을 입력합니다.

    2. (옵션) StackSet description(스택 세트 설명)에 설명을 입력합니다.

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

  6. Set deployment options(배포 옵션 설정) 페이지에 다음 정보를 추가합니다.

    1. Add stacks to stack set(스택 세트에 스택 추가)에서 Deploy new stacks(새 스택 배포)를 선택합니다.

  7. Associate organizational units(조직 단위 연결) 섹션에 다음 정보를 추가합니다.

    1. Associate with organization(조직과 연결)을 선택하여 루트 OU를 사용합니다.

    2. Associate with organizational units (OUs)(조직 단위(OU)와 연결)를 선택하여 가져올 스택의 상위 OU ID를 입력합니다. 예를 들어 Stack 1Stack 2OU1 아래에 있고 Stack 3OU2 아래에 있는 경우 OU1OU2를 입력합니다.

  8. Specify regions(리전 지정)와 Deployment options(배포 옵션)에서 선택 사항을 검토합니다.

    설정을 수락하고 Next(다음)를 선택합니다.

  9. Review(검토) 페이지에서 설정을 검토하고 Submit(제출)을 선택합니다.

기존 스택 세트로 서비스 관리형 스택 가져오기(콘솔)

스택 세트를 선택하고 가져올 스택을 식별합니다.

기존 스택 세트로 스택 가져오기
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudformation에서 AWS CloudFormation 콘솔을 엽니다.

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

  3. 스택을 가져올 스택 세트를 선택한 다음 Actions(작업) 드롭다운에서 스택 Add stacks to StackSet(StackSet에 스택 추가)를 선택합니다.

  4. Set deployment options(배포 옵션 설정) 페이지에 다음 정보를 추가합니다.

    1. Add stacks to stack set(스택 세트에 스택 추가)에서 Import stacks to stack set(스택 세트로 스택 가져오기)를 선택합니다.

    2. Stacks to import(가져올 스택) 섹션에 다음 정보를 추가합니다.

      1. Stack ID(스택 ID)에서 스택 ID를 입력합니다.

      2. Stack URL(스택 URL)에서 Amazon S3 URL을 입력합니다.

    3. Associate organizational units(조직 단위 연결) 섹션에 다음 정보를 추가합니다.

      1. Associate with organization(조직과 연결)을 선택하여 루트 OU를 사용합니다.

      2. Associate with organizational units (OUs)(조직 단위(OU)와 연결)를 선택하여 가져올 스택의 상위 OU ID를 입력합니다. 예를 들어 Stack 1Stack 2OU1 아래에 있고 Stack 3OU2 아래에 있는 경우 OU1OU2를 입력합니다.

      설정을 수락하고 Next(다음)를 선택합니다.

  5. Specify overrides(재정의 지정) 페이지를 검토하고 Next(다음)를 선택합니다.

  6. Review(검토) 페이지를 확인 및 검토하고 Submit(제출)을 선택합니다.

스택 세트로 서비스 관리형 스택 가져오기(AWS CLI)

스택 세트가 생성되면 가져올 스택의 스택 ID를 전달하여 스택을 가져올 수 있습니다. 매핑하려는 OU ID 목록을 전달할 수도 있습니다.

StackSets는 해당 OU 내에서 사용자 제공 스택을 가져오고 해당 OU를 스택 세트의 배포 대상으로 사용합니다. 입력에 표시된 스택 ID는 내부적으로 입력된 OU ID 목록에서 가장 가까운 OU에 매핑됩니다. 스택이 입력 목록의 기존 OU ID에 속하지 않으면 AWS CLI는 StackNotFoundException 오류를 반환합니다.

import-stacks-to-stack-set 작업은 OU ID 입력의 스택에 대한 스택 인스턴스를 생성합니다. 다음 AWS CLI 예제에서는 import-stacks-to-stack-set 작업을 사용하여 스택을 스택 세트로 가져옵니다.

  • import-stacks-to-stack-sets 작업을 사용하려면 스택 세트로 가져오려는 stack-ids 또는 stack-ids-url을 지정합니다.

    aws cloudformation import-stacks-to-stack-set \ --stack-set-name ServiceMangedStackSet \ --stack-ids "arn:123456789012:us-east-1:Stack1" \ --organizational-unit-ids ou-examplerootid111-exampleouid111
    aws cloudformation import-stacks-to-stack-set \ --stack-set-name ServiceMangedStackSet \ --stack-ids-url https://DOC-EXAMPLE-BUCKET \ --organizational-unit-ids ou-examplerootid111-exampleouid111
참고

import-stacks-to-stack-sets 작업을 수행하려면 가져올 스택을 해당 특정 OU에 연결할 수 있도록 최소한 하나의 조직 구성 단위 ID(OU ID)를 지정해야 합니다. 이 작업은 연결된 OU의 다른 멤버 계정에 대한 스택 인스턴스를 생성하지 않습니다. 연결된 OU의 멤버 계정을 업데이트하려면 create-stack-instances 또는 update-stack-instances를 사용합니다.

create-stack-set는 사용자가 직접 업로드하거나 Amazon S3에서 제공한 템플릿을 사용하여 OU 아래의 모든 계정에 대한 스택 인스턴스를 생성합니다. 다음 AWS CLI 예제에서는 create-stack-set 작업을 사용하여 스택을 새 스택 세트로 가져옵니다.

  • create-stack-set 작업을 사용하려면 스택 세트 이름을 지정하고 스택을 새로 생성된 스택 세트로 가져옵니다.

    aws cloudformation create-stack-set \ --template-url https://DOC-EXAMPLE-BUCKET \ --permission-model SERVICE_MANAGED \ --auto-deployment Enabled=true