私がやるべきこと
完成イメージ(1週間の到達点)
- 3アカウント構成: Management(既存) / Prod / Dev
- AWS Organizations で組織化、OU(Production / NonProduction / Security)で構造化
- IAM Identity Center で SSO ログイン、Permission Set でアクセス制御
- SCPで「prodへの直接rootアクセス禁止」「特定リージョン以外を禁止」を実装
- CloudTrail を組織トレイルで一元集約
- 全部Terraformで管理、tfstateはS3+DynamoDB
HCL文法だけでなく、module設計・state管理(S3+DynamoDB)・CI/CD(GitHub Actions)組み込み・tfsecやcheckovでの静的解析 までやる
副業価値の高い順で復習する領域
副業案件で実際に問われる頻度で並べると、こうなります:
1. マルチアカウント・組織設計(最頻出) Control Tower、AWS Organizations、IAM Identity Center、SCP、アカウント分離戦略。ここは副業の相談で毎回出る領域。Landing Zone Accelerator も触っておくと強い。ミニお題: 「3アカウント構成(管理/本番/開発)をTerraformで構築し、IAM Identity Center で SSO 設定、SCPで本番への直接ログインを禁止する」
2. ネットワーク(差がつく領域) Transit Gateway、PrivateLink、VPC Peering、Direct Connect / Site-to-Site VPN、Route53 Resolver、ハイブリッド DNS。SAP試験で一番混乱した人が多い分野で、副業でも単価が乗るところ。ミニお題: 「Transit Gateway で複数VPCを束ね、PrivateLinkでサービス公開、Route53 Resolverでオンプレ風DNS解決を再現」
3. セキュリティ・コンプラ KMS のキーポリシー、GuardDuty、Security Hub、Config、CloudTrail、Macie、WAF。特にKMSのキーポリシーとIAMポリシーの優先順位は試験で出てもうろ覚えになりがちな箇所。ここは副業でも「セキュリティ監査対応してほしい」案件が出やすい。
4. 移行系(6R)とDB Rehost/Replatform/Refactor の判断、DMS、Aurora の移行パターン、RDS Blue/Green。移行案件は単価が高い。AWS Application Migration Service、MGN も。
5. コスト最適化 Savings Plans、RI、Compute Optimizer、Cost Anomaly Detection、タグ戦略。ここは「読めば思い出す」で軽め。
6. DR・可用性 Pilot Light / Warm Standby / Multi-Site のパターン、RPO/RTO設計、Aurora Global Database、Route53 のヘルスチェック+フェイルオーバー。
ディレクトリ構成のたたき台
Organizationsはterraform管理が可能
学習用なので「ステージごとに独立した state」にして、依存関係を明示的にします。最初は冗長に見えても、これがSAP範囲のマルチアカウント設計を体で理解する近道です。
multi-account-iac/
├── README.md
├── 00-bootstrap/ # 最初の1回だけlocal state → S3移行
│ ├── main.tf # tfstate用 S3 + DynamoDB
│ ├── providers.tf
│ └── variables.tf
├── 01-organizations/ # Organizations, OU, メンバーアカウント作成
│ ├── main.tf
│ ├── accounts.tf # aws_organizations_account
│ ├── ous.tf # OU構造
│ └── backend.tf # S3 backend
├── 02-identity-center/ # IAM Identity Center, Permission Sets, 割当
│ ├── permission_sets.tf
│ ├── assignments.tf
│ └── ...
├── 03-scp/ # SCPの定義とOUへのアタッチ
│ ├── policies/
│ │ ├── deny-root-prod.json
│ │ ├── deny-regions.json
│ │ └── deny-leave-org.json
│ └── main.tf
├── 04-baseline-org/ # 組織トレイル, GuardDuty委任管理者など
│ └── main.tf
└── modules/
└── (必要に応じて切り出し)

