설정 파일 하나로,
AWS 멀티 계정 환경을 구축
Terraform + GitHub Actions로 AWS Organizations를 안전하게 자동 구축. 설정 파일 1개, 명령어 1개로 프로덕션 레디 인프라 완성.
# 1. Edit config
$ vim starter-kit.conf
PROJECT_NAME="my-company"
AWS_REGION="ap-northeast-1"
GITHUB_ORG="my-org"
# 2. Run setup
$ bash setup.sh
✓ S3 backend created
✓ DynamoDB table created
✓ Secrets Manager initialized
✓ Terraform initialized
# 3. Push & deploy
$ git push origin main
→ GitHub Actions: terraform apply
✓ AWS Organizations configured
✓ Ready to create projects!
이런 문제, 겪고 계신가요?
AWS 도입 시 많은 팀이 직면하는 공통 문제. 수동 관리는 한계가 있습니다.
수동 계정 관리는 실수의 온상
콘솔에서 클릭 작업. 감사 기록 없음. 설정 누락으로 프로덕션 장애 발생.
시크릿이 Git에 유출될 위험
.env 파일의 AWS 액세스 키가 실수로 푸시. 반복되는 사고.
일관되지 않는 dev / stg / prd 환경
수동으로 만든 환경은 미묘하게 다릅니다. "스테이징에서는 됐는데..."
직접 IAM 권한 부여는 보안 위험
사용자에게 직접 AdministratorAccess 부여. 퇴사 시 수동 권한 제거.
CI/CD에 장기 유효 액세스 키
GitHub Secrets에 저장된 액세스 키. 마지막 로테이션은 언제? 유출되면?
AWS Starter Kit의 기능
엔터프라이즈급 멀티 계정 관리를 스타트업에서도.
ReadOnly 사용자 자동 프로비저닝
신규 사용자는 보안 기본값으로 자동 생성. MFA 필수, 첫 로그인 시 비밀번호 변경 강제.
AWS Organizations 관리
OU 구조, 계정 생성, StackSets를 통한 자동 역할 배포 — 모두 코드로 관리.
create project → dev/stg/prd
GitHub Actions에서 프로젝트 이름을 입력하면 3개 환경이 자동 생성.
Feature Branch 환경
브랜치를 푸시하면 환경이 생기고, 머지하면 사라짐. AWS에서 Vercel 같은 경험.
Switch Role 보안
관리 계정에 직접 권한 없음. Switch Role로만 멤버 계정에 액세스.
MFA 강제
MFA를 설정할 때까지 콘솔과 API 사용 불가. 보안 기준선 보장.
GitHub Actions OIDC
액세스 키 불필요. OIDC 페더레이션으로 임시 자격 증명 자동 제공.
설정 파일 1개
starter-kit.conf를 편집하고 setup.sh를 실행. 그것으로 환경 완성.
왜 Switch Role인가?
AWS 모범 사례 기반의 크로스 계정 액세스
Switch Role은 AWS가 권장하는 멀티 계정 운영의 핵심 보안 패턴입니다. 사용자에게 직접 권한을 부여하는 기존 방식에 비해 훨씬 안전하고 관리하기 쉬운 운영을 실현합니다.
작동 방식
관리 계정의 IAM 사용자에게는 직접적인 운영 권한이 없습니다. 멤버 계정의 DeveloperRole이나 ReadRole로 Switch Role해야만 작업이 가능합니다.
장점
- 최소 권한 원칙을 자연스럽게 실현
- CloudTrail로 완전한 감사 추적 — 누가 언제 무엇에 접근했는지
- 퇴사 시 IAM 사용자 삭제만으로 모든 액세스 즉시 해제
- 외부 사용자(외주)에게 프로젝트/환경 단위 접근 제어
아키텍처
AWS Organizations를 통한 계층형 멀티 계정 구조
Management Account (Central Control) ├── IAM Users (MFA Required) │ ├── developers group → DeveloperRole (all projects) │ └── readers group → ReadRole (all projects) │ ├── GitHub Actions OIDC Provider │ └── Temporary credentials (no access keys) │ ├── Secrets Manager │ └── /terraform/config (single source of truth) │ └── Organizations └── projects OU ├── dev OU │ ├── dev-project-a ← feature branches OK │ └── dev-project-b │ ├── stg OU │ ├── stg-project-a ← develop branch only │ └── stg-project-b │ └── prd OU ├── prd-project-a ← main branch only └── prd-project-b
3단계로 시작
5분 만에 프로덕션 레디 AWS 환경.
설정 파일 편집
starter-kit.conf에 프로젝트 이름과 AWS 리전을 입력.
PROJECT_NAME="my-company" AWS_REGION="ap-northeast-1" GITHUB_ORG="my-org" ORG_EMAIL_DOMAIN="my-company.com"
셋업 실행
bash setup.sh 실행. S3 백엔드, DynamoDB, Secrets Manager 자동 구성.
$ bash setup.sh ✓ S3 backend created ✓ DynamoDB lock table created ✓ Secrets Manager initialized ✓ Terraform initialized
GitHub에 Push
Push하면 GitHub Actions가 Terraform을 실행. Organizations 자동 구축.
$ git push origin main → GitHub Actions triggered → terraform plan → terraform apply ✓ Organizations configured
요금제
모든 플랜에서 동일한 기능. 팀 규모에 따른 요금.
모든 플랜 공통 기능
자주 묻는 질문
3명 이하는 정말 무료인가요?
어떤 AWS 서비스가 생성되나요?
역할을 커스터마이즈할 수 있나요?
외부 사용자(외주)는 어떻게 관리하나요?
Terraform Cloud가 필요한가요?
기존 AWS 계정에도 도입할 수 있나요?
자료 요청
상세 자료를 보내드립니다. 편하게 문의해주세요.