starter-kit.conf ひとつで、
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 に混入するリスク
AWS アクセスキーを .env に入れて、うっかりコミット。過去何度も起きた事故。
dev / stg / prd が一貫しない
手動で作った環境はそれぞれ微妙に違う。「ステージングでは動いたのに…」
IAM の直接権限付与はセキュリティリスク
ユーザーに直接 AdministratorAccess を付与。退職時の権限剥奪も手動。
CI/CD に長期間有効なアクセスキー
GitHub Secrets にアクセスキーを保存。ローテーションは?漏洩したら?
AWS Starter Kit でできること
エンタープライズレベルのマルチアカウント管理を、スタートアップでも。
ReadOnly ユーザー自動発行
新規ユーザーはセキュアな権限で自動作成。MFA 必須、初回パスワード変更強制。
AWS Organizations 管理
OU 構成、アカウント作成、StackSet による自動ロール配布をコードで管理。
create project → dev/stg/prd
GitHub Actions からプロジェクト名を入力するだけで、3環境が自動作成。
Feature Branch 環境
ブランチを push すると環境ができ、merge すると消える。Vercel のような体験を AWS で。
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 アカウントにも導入できますか?
資料請求・お問い合わせ
詳しい資料をお送りします。お気軽にお問い合わせください。