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
0
440
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
0
1.3k
minimum-guardrails-by-aws-iam
chazuke4649
1
1.9k
"Are you Well-Architected?" Introducing about Cloud Optimization Aseesment
chazuke4649
0
970
re:GrowthOSAKA2019-CoreServicesUpdate(IAM.S3.EC2)
chazuke4649
0
1.3k
How to think about Acsess controll of Amazon S3 simply
chazuke4649
1
1.8k
Other Decks in Technology
See All in Technology
AthenaとStep Functionsで簡単ETLオーケストレーション #midosuji_tech
nayuts
0
390
Power Automateのデータ操作(Data Operation)について (Ver.モダンデザイナー)
miyakemito
4
570
Anthropicキーノート(Bedrock Claude Night 2)
minorun365
PRO
3
410
変化と挑戦:NoSQLとNewSQL Serverless Databaseの技術革新とマルチテナンシーの秘密
yoshiitaka
18
4.1k
情報の世界 2024年度 第10回「データとセンシングの概要」 #情報の世界 / Data and Sensing 2024
yumulab
0
170
自分の学習データで画像生成AIを使ってみる話
moyashi
2
180
デジタルアイデンティティ技術 認可・ID連携・認証 基礎
oidfj
0
150
鹿野さんに聞く! 2024年最新CSSトレンドと実践テクニック
tonkotsuboy_com
2
800
【ServiceNow SNUG Meetup LT deck】まだまだ楽しむKnowledge2024 オンラインでも体験できるCREATERCONの魅力と新機能
senon
0
120
One screen, many BottomSheets
keithyokoma
0
160
大規模 SaaS の技術的意思決定を支える三要素 / Three elements that support technical decision-making for large-scale SaaS
_atsushisakai
0
120
Guard を利用した AWS Config ルール
yhana
0
280
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
359
22k
Testing 201, or: Great Expectations
jmmastey
32
6.8k
The Power of CSS Pseudo Elements
geoffreycrofte
63
5.1k
Creatively Recalculating Your Daily Design Routine
revolveconf
213
11k
WebSockets: Embracing the real-time Web
robhawkes
59
7.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
118
18k
RailsConf 2023
tenderlove
11
630
Building Effective Engineering Teams - LeadDev
addyosmani
40
2.1k
A designer walks into a library…
pauljervisheath
201
24k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
What's new in Ruby 2.0
geeforr
338
31k
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