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
830
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.6k
minimum-guardrails-by-aws-iam
chazuke4649
1
2k
"Are you Well-Architected?" Introducing about Cloud Optimization Aseesment
chazuke4649
0
1k
re:GrowthOSAKA2019-CoreServicesUpdate(IAM.S3.EC2)
chazuke4649
0
1.4k
How to think about Acsess controll of Amazon S3 simply
chazuke4649
1
1.8k
Other Decks in Technology
See All in Technology
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
Can We Measure Developer Productivity?
ewolff
1
150
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
強いチームと開発生産性
onk
PRO
35
11k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
170
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
136
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Code Reviewing Like a Champion
maltzj
520
39k
How to Ace a Technical Interview
jacobian
276
23k
Making Projects Easy
brettharned
115
5.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Git: the NoSQL Database
bkeepers
PRO
427
64k
4 Signs Your Business is Dying
shpigford
180
21k
The Invisible Side of Design
smashingmag
298
50k
Designing Experiences People Love
moore
138
23k
Designing for Performance
lara
604
68k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
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