Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS Control Towerと HashiCorp Terraformでいい感じにマルチ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
chadain
June 06, 2024
Technology
4.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS Control Towerと HashiCorp Terraformでいい感じにマルチアカウント管理をしよう
chadain
June 06, 2024
More Decks by chadain
See All by chadain
Account Factory for Terraform (AFT) 入門
chazuke4649
1
2.7k
minimum-guardrails-by-aws-iam
chazuke4649
1
2.4k
"Are you Well-Architected?" Introducing about Cloud Optimization Aseesment
chazuke4649
0
1.1k
re:GrowthOSAKA2019-CoreServicesUpdate(IAM.S3.EC2)
chazuke4649
0
1.8k
How to think about Acsess controll of Amazon S3 simply
chazuke4649
1
2.2k
Other Decks in Technology
See All in Technology
AIで選択肢が広がった組織設計の理想と現実
konifar
15
6.6k
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
130
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
110
クラウドサインを止めずに Nuxt へ 次の10年のために先に決めたこと
bengo4com
1
170
Claude Code をローカルとサーバー上で利用した際の Bedrock 利用料をユーザー単位で一本化してみる
ohorig
0
180
Filter What the LLM Reads: RAG Governance with AgentCore Gateway
yakumo
1
120
スクラム祭り2026福井トラック_閉じたループから価値のスパイラルへ
kc_nakanishi
0
190
Don't write the architecture only in the prompt.
neohsu
0
180
ひとりで始めた AI駆動開発、チームに広げて何が変わったのか
kenichiodo
0
140
自宅サーバと脆弱性
masakiokuda
1
120
アカウント統制の健康診断
kenichinakamura
1
210
Patterns in AI Driven Software Development
akosma
PRO
0
300
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
370
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
550
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Amusing Abliteration
ianozsvald
1
360
Producing Creativity
orderedlist
PRO
348
41k
The Invisible Side of Design
smashingmag
301
52k
Why Our Code Smells
bkeepers
PRO
340
58k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Design in an AI World
tapps
1
370
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Making Projects Easy
brettharned
120
6.8k
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