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
Control Tower + αで始めるサンドボックス環境
Search
hiropy877
August 28, 2023
Technology
2
1.6k
Control Tower + αで始めるサンドボックス環境
AWSでControl Towerを使ってサンドボックス環境(個人に払い出す社内検証環境)を構築する際のTipsをまとめました。
hiropy877
August 28, 2023
Tweet
Share
More Decks by hiropy877
See All by hiropy877
BLEAってなあに
hiropy877
0
23
CodeCatalyst x PDK Blueprintで 爆速開発環境構築
hiropy877
1
110
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
440
金融システムの運用基盤で活用できそうな、re:Invent発の注目アップデート!
hiropy877
0
420
Lizさんに届け!AWS Jr.ChampionとTop Engineerが書籍コンテナセキュリティを読んで感じたこと
hiropy877
0
50
Other Decks in Technology
See All in Technology
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
250
Zephyr RTOSを使った開発コンペに参加した件
iotengineer22
0
160
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
1
320
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
140
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.2k
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
730
怖くない!はじめてのClaude Code
shinya337
0
310
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
1
850
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
370
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
3
260
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
160
AI専用のリンターを作る #yumemi_patch
bengo4com
4
2.1k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
28
5.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
720
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Facilitating Awesome Meetings
lara
54
6.4k
What's in a price? How to price your products and services
michaelherold
246
12k
Six Lessons from altMBA
skipperchong
28
3.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Transcript
Control Tower + αで始める サンドボックス環境 2023/08/28(月) 廣原花音 ※当資料は個人の見解です
アジェンダ • 自己紹介 • Japan AWS Jr.Championsって? • サンドボックス環境ありますか? •
何から始めればいいの? • ControlTowerだけだと何が足りないの? • 私が独自に導入したリソースのご紹介
お願い 本日のLTの感想を #aws_jr_champions をつけてツイートしていただけると嬉しいです
自己紹介 名前:廣原花音(ひろはらかのん) あだ名:hiropy 身長:148.5cm 所属会社:デロイトトーマツウェブサービス株式会社 経歴: 茨城高専 -> 三重県でSE ->
DWS 好きなAWSサービス:CloudFormation 選出:2023 Japan AWS Jr. Champions X(旧Twitter): @hiropy6387
自己紹介 名前:廣原花音(ひろはらかのん) あだ名:hiropy 身長:148.5cm 所属会社:デロイトトーマツウェブサービス株式会社 経歴: 茨城高専 -> 三重県でSE ->
DWS 好きなAWSサービス:CloudFormation 選出:2023 Japan AWS Jr. Champions X(旧Twitter): @hiropy6387 ん???
Japan AWS Jr.Championsとは ʮ+BQBO"84+S$IBNQJPO1BSUOFS1SPHSBNʯͱɺ"841BSUOFS /FUXPSL "1/ ࢀՃاۀʹॴଐ͠ɺݱࡏࣾձਓྺʙͰ"84Λੵۃ తʹֶͼɺΞΫγϣϯΛى͜͠ɺपғʹӨڹΛ༩͍͑ͯΔ"1/एखΤϯδχΞ Λબग़͠ίϛϡχςΟΛܗ͢ΔɺຊಠࣗͷදজϓϩάϥϜͰ͢ɻ "84քͷएखΤϯδχΞΛϦʔυ͢Δ"1/एखΤϯδχΞ
Japan AWS Jr.Championsとは બग़͞ΕΔͱɺɺ • +BQBO"84+S$IBNQJPOTݶఆ .FFUVQͷࢀՃ • "84ύʔτφʔ͚ηογϣϯͷࢀՃ ͕ެࣜʹॻ͔Ε͍ͯΔͷ
Japan AWS Jr.Championsとは બग़͞ΕΔͱɺɺ • +BQBO"84+S$IBNQJPOTݶఆ .FFUVQͷࢀՃ • "84ύʔτφʔ͚ηογϣϯͷࢀՃ ͕ެࣜʹॻ͔Ε͍ͯΔͷͰ͕͢
Japan AWS Jr.Championsとは ࠷ऴඪ एखΤϯδχΞʹΑΓ"84Λ׆༻ͯ͠Β͍ "84քશମΛएखͷྗͰΓ্͛Δ͜ͱʂ ͩͱݸਓతʹࢥ͍ͬͯ·͢
具体的な活動内容 ษڧձͷ։࠵ ݄ʹҰɺʮ"84ʯΛςʔϚʹษڧձΛߦͳ͍ͬͯ·͢
具体的な活動内容 ษڧΛ։࠵͢Δཧ༝ • एखΤϯδχΞಉ࢜ͰͷφϨοδͷڞ༗ • ಉͷΤϯδχΞͷ׆ಈ͔ΒܹΛड͚Δ • +S$IBNQJPOಉ࢜ͷަྲྀͷΛ૿͢
具体的な活動内容 +"84Λ͡Ίͱ͢Δొஃ׆ಈ ొஃ͢Δ͜ͱͰɺ+S$IBNQJPOTͷ্໊ʹΊ͍ͯ·͢ +"84"84ΤϯδχΞΛத৺ͱ͢Δ༗ࢤͷίϛϡχςΟ
今後の野望 • ࠓࣾձશମͷ+S$IBNQJPOTʹର͢ΔೝΛ্͛Δʹ͍͖ͯ͠· ͢ • དྷҎ߱ɺएखΤϯδχΞΛר͖ࠐΜͩXFCJOBSͳͲΛ։࠵͍ͨ͠ͱاΜ Ͱ͍·͢ • ࠓͷ׆ಈ࣍ୈͰདྷҎ߱ͷଘଓՄ൱͕ܾ·ΔͷͰԠԉ͓ئ͍͠·͢🙇 •
͜Μͳ׆ಈͯ͘͠ΕͨΒخ͍͠ʂͳͲͷ͝ҙݟืूதͰ͢
はじめに みなさん、、、 社内のサンドボックス環境ってありますか? サンドボックス環境: 検証、学習のために使用する個人のAWSアカウント
はじめに ない?それなら、、 皆さんの力で導入してみましょう! 意外と簡単かも?
今回お話ししたいこと • サンドボックス環境は意外と簡単に導入できる! • 私が社内のサンドボックス環境をどうやって整備したかを紹介します • 導入できれば、みんなに喜ばれます ※より詳細に知りたい方は、ブログをご参照ください
何から始めればいいの? まずはControlTowerを導入しましょう! Control Towerとは: • AWSのベストプラクティスにそったLandingZoneを構築してくれる ◦ ガードレール、いい感じのアカウント構成、証跡の一元管理 • 自分でこちゃこちゃやらなくてもいい感じのマルチアカウント構成ができる
• 参考
Control Towerをデプロイすると 右図のような構成のアカウントが デプロイされます rootOU: 全体を包括するOU SecurtyOU: セキュリティやログ管理の役割を担うOU SandBoxOU: メンバーアカウントが作成されるOU
Control Towerをデプロイすると 右図のような構成のアカウントが デプロイされます rootOU: 全体を包括するOU SecurtyOU: セキュリティやログ管理の役割を担うOU SandBoxOU: メンバーアカウントが作成されるOU
Control Towerをデプロイすると 右図のような構成のアカウントが デプロイされます rootOU: 全体を包括するOU SecurtyOU: セキュリティやログ管理の役割を担うOU SandBoxOU: メンバーアカウントが作成されるOU
Control Towerをデプロイすると 右図のような構成のアカウントが デプロイされます rootOU: 全体を包括するOU SecurtyOU: セキュリティやログ管理の役割を担うOU SandBoxOU: メンバーアカウントが作成されるOU
Control Towerをデプロイすると Audit: 全アカウントのセキュリティ周りを管理す る役割を担うアカウント Log: 全アカウントの証跡が集約されるアカウン ト(CloudTrail, Config) ct-management:
ルートアカウント 各アカウントの操作が可能
Control Towerをデプロイすると Audit: 全アカウントのセキュリティ周りを管理す る役割を担うアカウント Log: 全アカウントの証跡が集約されるアカウン ト(CloudTrail, Config) ct-management:
ルートアカウント 各アカウントの操作が可能
Control Towerをデプロイすると Audit: 全アカウントのセキュリティ周りを管理す る役割を担うアカウント Log: 全アカウントの証跡が集約されるアカウン ト(CloudTrail, Config) ct-management:
ルートアカウント 各アカウントの操作が可能
Control Towerをデプロイすると Audit: 全アカウントのセキュリティ周りを管理す る役割を担うアカウント Log: 全アカウントの証跡が集約されるアカウン ト(CloudTrail, Config) ct-management:
ルートアカウント 各アカウントの操作が可能
ControlTowerだけだと何が足りないの? • より強いセキュリティ設定 • アカウント内で異常が発生した時の仕組み • アカウント発行の仕組み • 各アカウントの予算設定 •
アカウント利用料を知るための仕組み • アカウント内を定期的にお掃除する仕組み、、、 →より使いやすい環境にするための設定を紹介します! ※当社の事例、かつ絶賛改善中なのでアドバイス絶賛募集中
ControlTowerだけだと何が足りないの? • より強いセキュリティ設定 • アカウント内で異常が発生した時の仕組み • アカウント発行の仕組み • 各アカウントの予算設定 •
アカウント利用料を知るための仕組み • アカウント内を定期的にお掃除する仕組み、、、 →より使いやすい環境にするための設定を紹介します! ※当社の事例、かつ絶賛改善中なのでアドバイス絶賛募集中
SecurityHubとGuardDutyの有効化 • Organizations全体で有効化しましょう • SecurityHubで全体のセキュリティを可視化 • GuardDutyで異常の発生を検知(EC2への攻撃とか) こちらのクラスメソッドさんの記事がとてもわかりやすいです! 社内の検証環境でインシデントを起こさないための体制整備が必要です
ControlTowerだけだと何が足りないの? • より強いセキュリティ設定 • アカウント内で異常が発生した時の仕組み • アカウント発行の仕組み • 各アカウントの予算設定 •
アカウント利用料を知るための仕組み • アカウント内を定期的にお掃除する仕組み、、、 →より使いやすい環境にするための設定を紹介します! ※当社の事例、かつ絶賛改善中なのでアドバイス絶賛募集中
サンドボックス環境で異常が発生したら • GuardDutyは異常を検知するサービスなので、その先のアクションを作る必 要があります • 第一歩として、検知した異常をSlackで通知するのがおすすめです • EventBridge + Lambdaでサクッとできます
• もしかしたらブログにするかも、、?
サンドボックス環境で異常が発生したら ちなみに私はこんな感じで通知してます 異常を検知したインスタンスは止めちゃいます
ControlTowerだけだと何が足りないの? • より強いセキュリティ設定 • アカウント内で異常が発生した時の仕組み • アカウント発行の仕組み • 各アカウントの予算設定 •
アカウント利用料を知るための仕組み • アカウント内を定期的にお掃除する仕組み、、、 →より使いやすい環境にするための設定を紹介します! ※当社の事例、かつ絶賛改善中なのでアドバイス絶賛募集中
アカウント管理のコード化 アカウント発行を都度手動でやるのは煩雑、、 Account Factory for Terraform(AFT)でコード管理できる! • アカウント発行をTerraformでコード管理できる • コードの変更をpushするだけでアカウントが自動発行される
• ブログでやり方を書いているのでご覧ください
ControlTowerだけだと何が足りないの? • より強いセキュリティ設定 • アカウント内で異常が発生した時の仕組み • アカウント発行の仕組み • 各アカウントの予算設定 •
アカウント利用料を知るための仕組み • アカウント内を定期的にお掃除する仕組み、、、 →より使いやすい環境にするための設定を紹介します! ※当社の事例、かつ絶賛改善中なのでアドバイス絶賛募集中
各アカウントの予算管理 各アカウントの予算を設定してリソースの使いすぎを防ぎたい、、 私が作ったテンプレート、あります • CloudFormationでBudgetsとSlackに通知するLambdaをデプロイします • 環境変数で予算とアラートの閾値を設定できます • こちらのブログをご覧ください
アーキテクチャ • 管理アカウントから各アカウント にStackSetをデプロイ • Budgetsで予算の設定を行う • 予算を超えそうになるとAmazon SNS経由でLambdaを起動 •
Slackで通知
アーキテクチャ • 管理アカウントから各アカウント にStackSetをデプロイ • Budgetsで予算の設定を行う • 予算を超えそうになるとAmazon SNS経由でLambdaを起動 •
Slackで通知
アーキテクチャ • 管理アカウントから各アカウント にStackSetをデプロイ • Budgetsで予算の設定を行う • 予算を超えそうになるとAmazon SNS経由でLambdaを起動 •
Slackで通知
アーキテクチャ • 管理アカウントから各アカウント にStackSetをデプロイ • Budgetsで予算の設定を行う • 予算を超えそうになるとAmazon SNS経由でLambdaを起動 •
Slackで通知
アーキテクチャ • 管理アカウントから各アカウント にStackSetをデプロイ • Budgetsで予算の設定を行う • 予算を超えそうになるとAmazon SNS経由でLambdaを起動 •
Slackで通知
ControlTowerだけだと何が足りないの? • より強いセキュリティ設定 • アカウント内で異常が発生した時の仕組み • アカウント発行の仕組み • 各アカウントの予算設定 •
アカウント利用料を知るための仕組み • アカウント内を定期的にお掃除する仕組み、、、 →より使いやすい環境にするための設定を紹介します! ※当社の事例、かつ絶賛改善中なのでアドバイス絶賛募集中
アカウント利用料の通知 毎月のアカウント利用料をお知らせしてくれたら嬉しいな、、 私が作ったテンプレート、あります • CloudFormationで通知用LambdaとEventBridgeをデプロイします • 毎月末にアカウントの利用料をSlack botで通知します • こちらのブログをご覧ください
アカウント利用料の通知 右図の構成にしています 1. EventBridgeを毎月末に実行 2. Lambdaを呼び出しCost Explorerか ら料金を取得 3. Slackに取得した料金を投稿
アカウント利用料の通知 右図の構成にしています 1. EventBridgeを毎月末に実行 2. Lambdaを呼び出しCost Explorerか ら料金を取得 3. Slackに取得した料金を投稿
アカウント利用料の通知 右図の構成にしています 1. EventBridgeを毎月末に実行 2. Lambdaを呼び出しCost Explorerか ら料金を取得 3. Slackに取得した料金を投稿
アカウント利用料の通知 右図の構成にしています 1. EventBridgeを毎月末に実行 2. Lambdaを呼び出しCost Explorerか ら料金を取得 3. Slackに取得した利用料を投稿
ControlTowerだけだと何が足りないの? • より強いセキュリティ設定 • アカウント内で異常が発生した時の仕組み • アカウント発行の仕組み • 各アカウントの予算設定 •
アカウント利用料を知るための仕組み • アカウント内を定期的にお掃除する仕組み、、、 →より使いやすい環境にするための設定を紹介します! ※当社の事例、かつ絶賛改善中なのでアドバイス絶賛募集中
サンドボックス環境のお掃除 検証環境だからって、不要なリソースが増えて料金が嵩んだらどうしよう、、、 それ、aws-nukeで解決できます • aws-nukeはアカウント内のリソースを強制的に自動削除するツールです • 指定したアカウント内のリソースを一気に削除します • nuke自体は無料です •
当社では、これを毎週末に自動実行しています • 今月中にブログを書きます書きました!
アーキテクチャ
アーキテクチャ
アーキテクチャ
アーキテクチャ
さいごに • サンドボックス環境、意外と簡単にいけそうですよね? • まずはインシデントを起こさないための設定が大事 • 社内で提案して、みんなを幸せにしてみましょう 😊