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.3k
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
1.9k
minimum-guardrails-by-aws-iam
chazuke4649
1
2.1k
"Are you Well-Architected?" Introducing about Cloud Optimization Aseesment
chazuke4649
0
1k
re:GrowthOSAKA2019-CoreServicesUpdate(IAM.S3.EC2)
chazuke4649
0
1.5k
How to think about Acsess controll of Amazon S3 simply
chazuke4649
1
1.9k
Other Decks in Technology
See All in Technology
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
3.5k
Web3 のリアリティ / Web3 Reality
ks91
PRO
0
100
「伝える」を加速させるCursor術
naomix
0
640
白金鉱業Meetup_Vol.19_PoCはデモで語れ!顧客の本音とインサイトを引き出すソリューション構築
brainpadpr
2
390
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
340
IIWレポートからみるID業界で話題のMCP
fujie
0
380
AWS全冠したので振りかえってみる
tajimon
0
140
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
130
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
0
330
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
13
7.7k
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
580
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1.1k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Docker and Python
trallard
44
3.4k
BBQ
matthewcrist
89
9.7k
Scaling GitHub
holman
459
140k
Side Projects
sachag
455
42k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Statistics for Hackers
jakevdp
799
220k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
920
It's Worth the Effort
3n
184
28k
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