초집중
  • Home
  • About
Sign in Subscribe
By BYEONGJU CHOI in controltower — 16 Mar 2025

Control Tower를 활용하여 프로그래밍 방식으로 AWS Account 빠르게 생성하기

Control Tower를 사용하여 여러 계정을 빠르게 생성하는 방법을 확인합니다.

Control Tower를 활용하여 프로그래밍 방식으로 AWS Account 빠르게 생성하기
Photo by Deniz Fuchidzhiev / Unsplash

개요

많은 AWS 계정들이 필요하게 되어 계정 생성을 자동화하는 방안을 고민하였습니다.

Service Catalog의 Account Factory를 활용하여 Terraform, CloudFormation으로 Git 업로드시 자동화하는 방법도 있었으나 초기 설정하는 과정이 까다롭고 추가적인 비용이 발생하여 최대한 간단하게 실행할 수 있는 방안을 작성하였습니다.

  • https://tech.cloud.nongshim.co.kr/blog/aws/2346/
  • AFT Workshop
    • https://catalog.workshops.aws/control-tower/en-US/customization/aft/repositories
  • https://aws.amazon.com/ko/blogs/mt/how-to-automate-the-creation-of-multiple-accounts-in-aws-control-tower/

Process

Identity Center를 활용하기 때문에 SSO 인증이 필요할 수 있습니다.

aws sso login --profile [profile]
export $(aws configure export-credentials --profile [profile]

계정 초기화를 설정합니다

MasterAcct=$(aws sts get-caller-identity --query 'Account' --output text)
AdminArn=”arn:aws:iam::${MasterAcct}:role/service-role/AWSControlTowerStackSetRole”

Service Catalog를 통해 portfolio 정보 가져옵니다.

pa_id=$(aws servicecatalog describe-product --id $prod_id --region ap-northeast-2 --query "ProvisioningArtifacts[-1].Id" --output text)
prod_id=$(aws servicecatalog search-products --filters FullTextSearch='AWS Control Tower Account Factory' --region ap-northeast-2 --query "ProductViewSummaries[*].ProductId" --output text)

사용할 카탈로그 및 param에서 데이터를 추출합니다.

export CatalogName=$(jq -r '.[4].Value' param.json)
export EmailId=$(jq -r '.[0].Value' param.json)

Service Catalog를 활용하여 provision-product를 수행합니다.

aws servicecatalog provision-product --product-id $prod_id --provisioning-artifact-id $pa_id --provisioned-product-name $CatalogName --provisioning-parameters file://param.json --region ap-northeast-2

Service Catalog를 통해 생성된 것을 확인할 수 있습니다.

Notion Image

주의점

계정 생성 요청은 병렬적으로 최대 5개까지만 수행될 수 있으며 삭제에는 최대 30분이 소요될 수 있습니다.

Notion Image
  • https://docs.aws.amazon.com/ko_kr/controltower/latest/userguide/account-factory.html
  • https://docs.aws.amazon.com/ko_kr/controltower/latest/userguide/provision-as-end-user.html

Reference

  • https://medium.com/globant/a-programmatic-way-to-create-an-account-in-aws-control-tower-784486b8cd4a
Previous

AWS App2Container를 사용하여 손쉽게 ECS로 전환하는 방법

Next

OpenSearch Access Control

You might also like...

AWS ControlTower란?
controltower

AWS ControlTower란?

ControlTower에 대해서 설명하고, 각 용어를 알아봅니다.
Read More
초집중 © 2025
  • Sign up
Powered by Ghost