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
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20241015 Toranomon Tech Hub#1 Service Catalog使ってみた
Search
h-ashisan
October 15, 2024
Technology
920
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20241015 Toranomon Tech Hub#1 Service Catalog使ってみた
h-ashisan
October 15, 2024
More Decks by h-ashisan
See All by h-ashisan
regrowth_tokyo_2025_securityagent
hiashisan
0
770
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
550
OpsJAWS34_CloudTrailLake_for_Organizations
hiashisan
0
1k
Classmethod_regrowth_2024_tokyo_security_identity_governance_summary
hiashisan
0
1.8k
2024/11/29_失敗談から学ぶ! エンジニア向けre:Invent攻略アンチパターン集
hiashisan
0
900
Practical-AWS-Security-measures-you-can-implement-now
hiashisan
0
930
20240724_cm_odyssey_hibiyatech
hiashisan
0
700
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
1.6k
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
990
Other Decks in Technology
See All in Technology
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
360
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
650
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
120
Omarchy Quattro の日本語設定周り
simosako
2
110
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
290
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
2
2.8k
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
1
290
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
110
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
240
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
140
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
1
210
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
390
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.7k
Code Reviewing Like a Champion
maltzj
528
40k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
410
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Paper Plane (Part 1)
katiecoart
PRO
1
11k
Done Done
chrislema
186
16k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Being A Developer After 40
akosma
91
590k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Navigating Team Friction
lara
192
16k
Transcript
2024/10/15 Toranomon Tech Hub#1 クラスメソッド株式会社 芦沢広昭 AWS Control Tower歴2年で初めて Service
Catalogと向き合ってみた
⾃⼰紹介 2 芦沢広昭 (ASHIZAWA Hiroaki) / @ashi_ssan • 所属 ◦
クラスメソッド株式会社 AWS事業本部コンサルティング部 • ロール ◦ ソリューションアーキテクト • コミュニティ活動 ◦ Hibiya Tech 運営 ◦ Toranomon Tech Hub 運営 • その他 ◦ 2024 Japan AWS Top Engineers (Security) ◦ 2024 Japan AWS All Certifications Engineers
AWS re:Invent 2024に⾏く⼈! 現地で仲良くしてください!!!!!! 今⽇参加‧運営しているモチベーション 3
アジェンダ 4 • ⾃⼰紹介 • このLTの⽬的 • AWS Control TowerとAWS
Service Catalogの概要 • Control Tower周りのこれまでの経験 • 向き合うことになったきっかけ • 使い始めてわかったこと (Good / Bad) • まとめ
このLTの⽬的 5 • 伝えたいこと ◦ AWS Service CatalogやAWS Control Towerの概要
◦ AWS Service Catalogによるマルチアカウントへのデプロイの選択肢 ◦ 現在検討中のアーキテクチャの設計、ここまでに⾄るまでの考え‧背景 • 私が持ち帰りたいこと ◦ 現在検討中のアーキテクチャに対するフィードバック、ご意⾒
AWS Control Towerとは 6 簡単に⾔うと... 複数のAWSアカウント(マルチアカウント)をベストプラクティスに基づいて 設定および管理してくれるサービス 参考:https://dev.classmethod.jp/articles/introduction-2024-aws-control-tower/
AWS Control Towerの主な機能 7 • AWSのOrganizations、Service Catalog、IAM Identity Centerなど複数サー ビスを使ってランディングゾーンを構築する
• ダッシュボードからランディングゾーンの状態を監視する • 組織からOUやアカウントのControl Towerへの登録状況を確認でき、OUや アカウントの作成/登録ができる • 管理‧統制からの逸脱(ドリフト)をさせないためにOUにコントロールを 適⽤する • Account Factoryで新しいAWSアカウントの作成と初期設定を⾏う 参考:https://dev.classmethod.jp/articles/introduction-2024-aws-control-tower/
AWS Control Towerの主な機能 8 • AWSのOrganizations、Service Catalog、IAM Identity Centerなど複数サー ビスを使ってランディングゾーンを構築する
• ダッシュボードからランディングゾーンの状態を監視する • 組織からOUやアカウントのControl Towerへの登録状況を確認でき、OUや アカウントの作成/登録ができる • 管理‧統制からの逸脱(ドリフト)をさせないためにOUにコントロールを 適⽤する • Account Factoryで新しいAWSアカウントの作成と初期設定を⾏う 参考:https://dev.classmethod.jp/articles/introduction-2024-aws-control-tower/
AWS Service Catalogとは 9 簡単に⾔うと... AWS で承認された IT サービスのカタログを作成および管理できるサービス 参考:
https://dev.classmethod.jp/articles/introduction-2024-aws-service-catalog/
AWS Service Catalogの⽤語 10 • 製品 ◦ AWSリソースをデプロイするテンプレートを登録 ◦ 例
▪ CloudFormation ▪ Terraform (HCP版, Community版) • 制約 ◦ 設定した製品単位に適⽤されるルール ◦ 例 ▪ どのIAMロール権限を利⽤するか ▪ 対象アカウント制限、リージョン制限 • ポートフォリオ ◦ 製品の集合(制約の設定情報を含む) 参考: https://dev.classmethod.jp/articles/introduction-2024-aws-service-catalog/ https://dev.classmethod.jp/articles/summary-of-the-constraints-available-in-the-service-catalog
Control Tower と Service Catalogの関係性 11 Account Factory (アカウントの払い出し +
初期設定) • AWSアカウントを払い出す際にService Catalogの製品が起動される → 内部的にService Catalog が利⽤されている
これまでの私の経験 (Control Tower関連) 12 • やっていたこと:約2年半程度 ◦ Control Towerの初期セットアップまでの要件調整‧プリセールス ◦
Control Tower/Organizationsを使ったガバナンスの設計‧実装(SCPなどコントロール) ◦ その他セキュリティサービスとの連携(Security Hub、GuardDuty、Detective、 CoudTrail) ◦ ランディングゾーンアップデートのキャッチアップ • やっていなかったこと ◦ アカウント払い出しの⾃動化 (Account Factory) ◦ 複数アカウントへのリソースのプロビジョニング (Service Catalog / StackSets) ◦ など → これまで Service Catalog と向き合ったことがない (と思っていた)
ここ以降、説明する事項は すべて検討‧検証中のもので どうあるべきかは結論が出ていません (まだ) 直近の出来事につき 考慮不⾜な点が含まれます ちょっとした注意 13 ‧こうしたらいいんじゃね? ‧こうやったらうまく⾏ったよ!
のようなフィードバック⼤歓迎です
向き合うことになったきっかけ 14 社内ツールの開発において、以下のアーキテクチャを構成していた(検証中)
向き合うことになったきっかけ 15 今後のスケールに伴い、アカウント構成‧リソース配置⽅針が変更に
向き合うことになったきっかけ 16 既存のデプロイ戦略を背景に「リポジトリ:中央:⼦ = 1:1:N」の構成を検討
(参考) 「リポジトリ:中央:メンバー = 1:1:N」構成にした理由 → 本番/開発環境のGitHubブランチ戦略が背景 向き合うことになったきっかけ 17
向き合うことになったきっかけ 18 「何か」の箇所を埋められるソリューションを探すことになった
アカウント構成‧リソース配置⽅針が達成できれば特にない 個⼈的には「コスト低 + 管理リソース少」だといいな Q. 要件はあるの? 19
「何か」を埋めるソリューションの候補 20 • AFT (Account Factory for Terraform) の利⽤ •
CloudFormation StackSetsの利⽤ • Service Catalog (Terraform) の利⽤
「何か」を埋めるソリューションの候補 21 • AFT (Account Factory for Terraform) の利⽤ •
CloudFormation StackSetsの利⽤ • Service Catalog (Terraform) の利⽤ → ⼀旦、この⽅法で検討していく⽅針に決まった
検討中の構成案 22
Service Catalog(Terraform) を 「⼀旦」採⽤した理由 23 • Service Catalogの利⽤ ◦ Gitリポジトリ:中央アカウント:⼦アカウント=
1:1:n の構成が取れそう ▪ 中央アカウントに⼦アカウントにリソース展開するための設定を構成できそう ◦ Terraform Reference Engine を利⽤することで コミュニティ版Terraformが利⽤可能 ▪ どんなものかはあまり理解していないが、いけそうに思った ▪ 参考: https://dev.classmethod.jp/articles/provisioning-product-defined-by-terraform/ ◦ すべてTerraformで構成している元のコード構成で完結できる ▪ これが1番⼤きかった • 「⼀旦」としているのは、触ってみないとわからないと思ったため ◦ 後で変更も可能だし、抜本的なアーキテクチャの⾒直しも相談できる状態
検討した他の選択肢 と 採⽤しなかった理由 24 • AFT (Account Factory for Terraform)の利⽤
◦ 要件的にアカウント払い出し機能が不要なため、過剰に感じた ◦ 機能を利⽤するために必要なAWSリソースの維持コストが気になった 参考: https://dev.classmethod.jp/articles/arc hitecture-diagram-for-aft/
検討した他の選択肢 と 採⽤しなかった理由 25 • CloudFormation StackSetsの利⽤ ◦ Gitリポジトリ:中央アカウント:⼦アカウント= 1:1:n
の構成が取れそう ▪ 中央アカウントに⼦アカウントにリソース展開 するための設定を構成できそう ◦ 必要な準備は各アカウントへのIAMロールの作成く らいで簡単そう ◦ しかし、IaCコードをすべてTerraformで管理してお り、デプロイのために擬似的にCFnテンプレートに 変換するのはいけていないと思った jsonencodeで CFnテンプレートを定義
ここまでやったこと 26 • Terraform Reference Engineのプロビジョニング • 製品の⼦アカウントへのデプロイ (⼿動) ◦
アプデ時のブログの内容と同等 ▪ https://dev.classmethod.jp/articles/provisioning-pr oduct-defined-by-terraform/
使ってみてわかったこと (Good) 27 • Terraform Reference Engineの プロビジョニングは簡単 ◦ 基本はブログの⼿順に従って設定するだけ
▪ 事前定義されたSAMを実⾏してリソースを デプロイしている ◦ 製品登録時に製品タイプを「外部」に変える必要あり ▪ 「Terraform のオープンソース」は廃⽌になった
使ってみてわかったこと (Bad) 28 • Terraform Reference Engineのためのリソースの維持‧管理が必要 ◦ VPC, EC2(x1),
NAT Gateway(x2), Lambda, S3など ◦ ⼀度きりの設定なのか...?と思いきや、削除したら動かなくなった(想像はできたが) ▪ 製品起動時にAPIエラーとなる
今後検討‧検証したいこと 29 • Service Catalog(Terraform)を使った追加の検証 ◦ 製品の作成‧⼦アカウント展開まで含めた⾃動化 ◦ コスト削減策の検討 •
他の選択肢の検討 ◦ CloudFormation StackSetsの利⽤:本当にいけてなかったのか...??? ◦ そのほかの選択肢の模索
まとめ 30 • AWS Service CatalogはAWS で承認された IT サービスのカタログを作成お よび管理できるサービス
• Service CatalogでTerraformを利⽤する場合Terraform Reference Engine のプロビジョニングが必要 • 要件を満たす最⾼のアーキテクチャを模索していくぞ!