Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ops-JAWS_Organizations小ネタ3選.pdf
Search
Shuichi Takahashi
April 16, 2025
Technology
2
330
Ops-JAWS_Organizations小ネタ3選.pdf
Shuichi Takahashi
April 16, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
GitLab Duo Agent Platformで実現する“AI駆動・継続的サービス開発”と最新情報のアップデート
jeffi7
0
210
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
570
小さな判断で育つ、大きな意思決定力 / 20251204 Takahiro Kinjo
shift_evolve
PRO
1
580
【pmconf2025】PdMの「責任感」がチームを弱くする?「分業型」から全員がユーザー価値に本気で向き合う「共創型開発チーム」への変遷
toshimasa012345
0
270
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
0
240
安いGPUレンタルサービスについて
aratako
2
2.6k
[CMU-DB-2025FALL] Apache Fluss - A Streaming Storage for Real-Time Lakehouse
jark
0
110
第4回 「メタデータ通り」 リアル開催
datayokocho
0
120
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
670
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
3
1k
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
1
160
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Balancing Empowerment & Direction
lara
5
790
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Done Done
chrislema
186
16k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Side Projects
sachag
455
43k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Transcript
Ops-JAWS Meetup 34 Organizations & Control Tower 2025/04/16 コスト、カオス、権限 AWS
Organizations 小ネタ3選 アイレット株式会社 クラウドインテグレーション事業部 高橋 修一
Role 各種業務の自動化・効率化 お客さま向けプラン建て付け(請求代行+AWS Organizations) ・2024 Japan AWS Ambassadors ・2024 iret
テクニカルアンバサダー Location 大阪府大阪市 在住 月1〜2くらい東京 Personal 京都府京都市 出身 趣味 ・🎮 ゲーム ・🥊 キックボクシング( アマチュア戦績 3勝1敗 ) 高橋 修一 Shuichi Takahashi 自己紹介 2 アイレット株式会社 クラウドインテグレーション事業部 MSP開発セクション セクションリーダー @shu85t @shu85t
1. OU単位でコスト分析 2. SCPでお手軽 カオスエンジニアリング 3. 管理アカウント上の権限抑制 Agenda 3
1. OU単位でコスト分析 4
AWS Cost Categories AWS利用料金を分類するためのカテゴリ(チーム、プロジェクト、アプリ等)を 自分で定義し、そのカテゴリ毎にコスト可視化できる機能 5 1. OU単位でコスト分析 例:アカウントを手動でチーム分類してカテゴリを作成 利用できるディメンション
・アカウント ・料金タイプ ・リージョン ・サービス ・コスト配分タグ ・使用タイプ ・請求エンティティ
ログアーカイブアカウント AWS Cost Categories with OU OrganizationsのOU階層でコスト可視化したい。ただ手動で登録はしんどい。 6 1. OU単位でコスト分析
Root Tool SDLC Security 監査アカウント Dev Stg サービスA 開発アカウント ? 利用できるディメンション ・アカウント ・料金タイプ ・リージョン ・サービス ・コスト配分タグ ・使用タイプ ・請求エンティティ
{ "Name": "OU階層", "RuleVersion": "CostCategoryExpression.v1", "Rules": [ { "Value": "Security",
"Rule": { "Dimensions": { "Key": "LINKED_ACCOUNT", "Values": ["1111...", "2222..."], "MatchOptions": ["EQUALS"] }}}, // ... Other OUs ... ]} やったこと OUとアカウントの構造を読み取り、コストカテゴリ定義に変換して登録するスクリプト作成 7 1. OU単位でコスト分析 ① OU構造の取得 ③ 登録/更新 ②カテゴリ定義に変換 ?
・OUという断面でコスト確認ができるようになりました ・新たな断面から傾向や偏りを発見できることも? 結果 OU毎にコストを確認できた! パラメータ、何階層目までカテゴリ分けするかも指定可能 8 1. OU単位でコスト分析 depth=1 指定
depth=2 指定 ログアーカイブアカウント Root Tool SDLC Security 監査アカウント Dev Stg サービスA 開発アカウント
詳細 dev.toに解説記事、GitHubにスクリプトを公開しています 9 1. OU単位でコスト分析 https://dev.to/shu85t/aws-cost-categories-with-ou-structure-61n ・管理アカウント上での実行を想定しているので利用時は注意ください ・OU構造の変化に追従したい場合は、定期実行 or イベントドリブンのLambdaにすると便利
https://github.com/shu85t/PutOuCostCategory
2. SCPでお手軽 カオスエンジニアリング 10
やること 「実験対象アカウント」 を 「権限を奪う SCP」をアタッチした「観察用OU」に移動させ、ワークロードの挙動を観察 11 2. SCPでお手軽 カオスエンジニアリング 通常OU
観察用OU ①権限を奪う SCP をアタッチ ② 観察用OU配下に移動 ③ ワークロードの挙動を観察 ④ 通常OU配下に戻す 実験対象アカウント Root
対象アカウント 「受信メールをフィルタリングして必要な場所に通知を出す社内サービス」の開発環境用アカウント 12 2. SCPでお手軽 カオスエンジニアリング ・①②受信したメールを ・③④処理しやすい形に変換し保存 ・⑤フィルタ条件に沿って適切な「通知待ちキュー」にメッセージを送り ・⑥⑦各種外部サービスに通知を行う
権限を奪う SCP 13 2. SCPでお手軽 カオスエンジニアリング { "Version": "2012-10-17", "Statement":
[ { "Sid": "Statement1", "Effect": "Deny", "Action": [ "SNS:*", "SES:*", "S3:*", "Lambda:*", "Dynamodb:*", "SQS:*" ], "Resource": "*" } ] } 使っているサーバレスの権限周りを全て奪う
メール処理ワークロード 14 2. SCPでお手軽 カオスエンジニアリング 権限を奪う SCP VS { "Version":
"2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Deny", "Action": [ "SNS:*", "SES:*", "S3:*", "Lambda:*", "Dynamodb:*", "SQS:*" ], "Resource": "*" } ] } ヒント: SCPの影響範囲は IAM ユーザーとロールのみ
[ERROR] ClientError: An error occurred (AccessDenied) when calling the GetObject
operation: Access Denied Traceback (most recent call last): 「③変換処理のLambda」でメール生データを readしにいくところでコケました ・①SES -> ②SNS -> ③Lambda の呼び出しまではイベントによって繋いでいるのでIAM権限は利用しない ・③のLambdaは実行ロール(IAMロール)から引き継いだ認証情報を使ってS3から生データをreadするので、ここで失敗。 (「S3:*」 をDenyしているのでそこでひっかかった) 結果 15 2. SCPでお手軽 カオスエンジニアリング ・外側から異常を注入できる ・制約はあるが条件指定でフローの一部を狙い撃ちできそう ・RCPや宣言型ポリシーつけてみて観察すると? ・操作誤りには注意!(移動先まちがえ)
3. 管理アカウント上の 権限抑制 16
管理アカウント上のユーザーに対する権限抑制 管理アカウントは権限が集中していて、各種コントロールポリシーの対象外なので 委任できるものはできるだけメンバーアカウントに委任 し 管理アカウントに入るユーザーや機会をできるだけ減らす 17 3. 管理アカウント上の権限抑制 ただ、委任に寄せきれないユースケースに対して 仕組みでガード入れておきたいことも、その1つ
18 3. 管理アカウント上の権限抑制 ✅ iam:CreateRole ✅ ーーーーーー ❌ ーーーーーー ❌
ーーーーーー ✅ ーーーーーー ✅ ーーーーーー ✅ ーーーーーー ✅ ーーーーーー CreateRole 管理アカウント上にソリューションを構築するため IAMロール作成の権限は渡したいが 制限のないロールを作成されたくない (トンビが鷹を産んでほしくない )
メンバーアカウントでも使えるテクニックですが 不便さを感じることもある制限 後から PermissionBoundaryを 削除/更新されないよう Deny 19 3. 管理アカウント上の権限抑制 ✅
ーーーーーー ✅ ーーーーーー ✅ ーーーーーー ✅ ーーーーーー ⛓ Permission Boundary ❌ ーーーーーー ❌ ーーーーーー ❌ Delete/Put Permission Boundary CreateRole ✅ iam:CreateRole +condition: Permission Boundary ✅ ーーーーーー ❌ ーーーーーー ❌ ーーーーーー ❌ Delete/Put Permission Boundary 指定PermissionBoundary付きなら 作成可能 管理アカウント上にソリューションを構築するため IAMロール作成の権限は渡したいが 制限のないロールを作成されたくない (トンビが鷹を産んでほしくない ) → iam:CreateRoleの条件で「 Permissions Boundary」付きにする
20