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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
chadain
June 06, 2024
Technology
4.5k
1
Share
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.5k
minimum-guardrails-by-aws-iam
chazuke4649
1
2.3k
"Are you Well-Architected?" Introducing about Cloud Optimization Aseesment
chazuke4649
0
1.1k
re:GrowthOSAKA2019-CoreServicesUpdate(IAM.S3.EC2)
chazuke4649
0
1.7k
How to think about Acsess controll of Amazon S3 simply
chazuke4649
1
2k
Other Decks in Technology
See All in Technology
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
3
250
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
200
会社説明資料|株式会社ギークプラス ソフトウェア事業部
geekplus_tech
0
210
Agent の「自由」と「安全」〜未来に向けて今できること〜
katayan
0
350
アプリブロック機能のつくりかたと、AIとHTMLの不合理な相性の良さについて
kumamotone
1
220
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜
nihonbuson
PRO
0
210
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
4
950
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
140
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
420
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
270
Building a Study Buddy AI Agent from Scratch: From Passive Chatbots to Autonomous Systems
itchimonji
0
150
小さいVue.jsを30分で作る
hal_spidernight
0
150
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Being A Developer After 40
akosma
91
590k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
120
It's Worth the Effort
3n
188
29k
Navigating Team Friction
lara
192
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
130
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
GitHub's CSS Performance
jonrohan
1032
470k
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