Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS Control Towerと HashiCorp Terraformでいい感じにマルチ...
Search
chadain
June 06, 2024
Technology
1
3.8k
AWS Control Towerと HashiCorp Terraformでいい感じにマルチアカウント管理をしよう
chadain
June 06, 2024
Tweet
Share
More Decks by chadain
See All by chadain
Account Factory for Terraform (AFT) 入門
chazuke4649
1
2k
minimum-guardrails-by-aws-iam
chazuke4649
1
2.2k
"Are you Well-Architected?" Introducing about Cloud Optimization Aseesment
chazuke4649
0
1k
re:GrowthOSAKA2019-CoreServicesUpdate(IAM.S3.EC2)
chazuke4649
0
1.6k
How to think about Acsess controll of Amazon S3 simply
chazuke4649
1
1.9k
Other Decks in Technology
See All in Technology
Bet "Bet AI" - Accelerating Our AI Journey #BetAIDay
layerx
PRO
4
1.5k
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
290
反脆弱性(アンチフラジャイル)とデータ基盤構築
cuebic9bic
2
160
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
8
2k
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
120
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
180
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
1
1k
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
0
150
VLMサービスを用いた請求書データ化検証 / SaaSxML_Session_1
sansan_randd
0
220
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
1
290
Claude Codeから我々が学ぶべきこと
s4yuba
8
2.1k
JAWS AI/ML #30 AI コーディング IDE "Kiro" を触ってみよう
inariku
3
280
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Music & Morning Musume
bryan
46
6.7k
Typedesign – Prime Four
hannesfritz
42
2.7k
Docker and Python
trallard
45
3.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Designing for Performance
lara
610
69k
Being A Developer After 40
akosma
90
590k
YesSQL, Process and Tooling at Scale
rocio
173
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Gamification - CAS2011
davidbonilla
81
5.4k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Transcript
AWS Control Towerと HashiCorp Terraformで いい感じにマルチアカウント管理をしよう 1
• なぜ AWS Control Tower × Terraform ? • Terraformで操作可能なマルチアカウント管理サービスについて
• Account Factory for Terraform (AFT)について 目次
• 名前: ちゃだいん • 所属: AWS事業本部コンサルティング部 • 役割: ソリューションアーキテクト •
拠点: 大阪 • 好きなサービス: AWS, Terraform • 趣味: 立ち呑みめぐり • X(Twitter): @chazuke4649 • Japan AWS Top Engineers 2022,2023 自己紹介
なぜ AWS Control Tower × HashiCorp Terraform なのか?
AWS Control Tower を採用する局面 • 中・大規模なAWS環境 • 本格的にマルチアカウント戦略やっていきたい • セキュリティ・ガバナンスを担保する共通基盤
設定ミス・オペミスは影響範囲大のリスク... →だから、IaC/GitOpsによって安全・信頼性のあるオペレーションを行いたい
ベストIaCツール for Platformチーム *個人の感想 • 誰が書いても同じような記述になる(HCLの特性) ◦ 属人化リスク低 ◦ 説明・引き継ぎがカンタン
• インフラ設定の見える化/コード化に最適 ◦ ベタ書きなら、まさに「この通り設定してます」の証明になり一目瞭然(精神衛生上◎) ◦ 抽象的な記述による暗黙的なリソース生成が少ない ▪ モジュールによる再利用化も可能 • 余談: Platformチーム ≒ インフラ/情シス/共通基盤/CCoE チーム
Platformチームが管理するのはAWSだけじゃない • ユーザー/ID基盤(Okta, OneLogin, Azure AD) • DevOps(Kubenetes, GitHub, GitLab)
• 監視(New Relic, Data Dog, Mackerel) • セキュリティ(Snyk, Dome9) • etc … →全てTerraformで一元的に管理可能
Terraformで操作可能な マルチアカウント管理サービス
AWS Organizations 管理可能なリソース例 • AWSアカウント aws_organizations_account • OU aws_organizations_organizational_unit •
ポリシー aws_organizations_policy ◦ SCP, バックアップポリシー , タグポリシー etc
例: OUにSCPを アタッチする
AWS IAM Identity Center 管理可能なリソース例 • SSO Admin ◦ アクセス権限セット
aws_ssoadmin_permission_set etc • SSO Identity Store ◦ SSOグループ aws_identitystore_group ◦ SSOユーザー aws_identitystore_user
例: SSOユーザーを作 成する
例: アクセス権限セット を作成する
例: 外部IdPで ユーザーを管理する https://registry.terraform.io/providers/okta/okta/latest/docs/resources/user https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/resources/user
AWS Control Tower 管理可能なリソース例 • コントロール(ガードレール)aws_controltower_control • ランディングゾーン aws_controltower_landing_zone NEW!!
例: WorkloadsOUに 特定のコントロールを 適用する
例: ランディングゾーン を有効化する 注意)現時点(2024.5)ではバグがあるた め本番利用は非推奨 https://dev.classmethod.jp/articles/setup-landing-z one-using-terraform/
Account Factory for Terraform (AFT)
Account Factory for Terraform (AFT) とは? • AWS Control Tower
を補完/拡張する代表的なカスタマイズソリューション • re:Invent 2021にてv1.0.0がリリース(最新版はv1.12.2) • 実体はAWSサービスの集合体 + Terraform ◦ Terraform Registry で公開されている ✖
None
AFTの特徴 • AWS Control Tower管理下のAWSアカウント発行をGitOpsに実行できる ◦ しかも複数AWSアカウントを一度にリクエスト可能 ◦ 注意点)AWS OrgnaizationsでAWSアカウントを発行する(素の状態)
≠ AWS Control TowerでAWSアカウン トを発行する(ガードレールが効いている状態) • AWSアカウント発行時のベースライン(初期設定)自動化がカンタン ◦ ベースラインをTerraform、あるいは、Python/AWS CLIで設定可能 ◦ 自前実装は開発・メンテが大変 →AWS Control TowerをTerraformなIaCベースで運用することが可能!
AFTの利用方法 1. AWSアカウントを発行する 2. AWSアカウントをカスタマイズする
1. AWSアカウントを発行する
None
AWSアカウントを 発行する
2. アカウントをカスタマイズする
None
AWSアカウントをカス タマイズする(1)
AWSアカウントをカス タマイズする(2)
詳細は、弊社ブログDevelopersIOのaftタグで検索 https://dev.classmethod.jp/tags/account-factory-for-terraform-aft/
None