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
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
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Azureコストは水道代/The_47th_Tokyo_Jazug
Search
AEON
March 24, 2024
Technology
6.6k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Azureコストは水道代/The_47th_Tokyo_Jazug
AEON
March 24, 2024
More Decks by AEON
See All by AEON
iAEONの段階的リアーキテクト戦略 / iAEON's_Gradual_Re-architecture_Strategy
aeonpeople
0
460
イオンスマートテクノロジーの「SRE×AI」実践録 -インシデントからIaC、可観測性まで-/Aeon Smart Technology’s SRE × AI in Practice
aeonpeople
0
210
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
2
800
New Relic MCPを活用した能動的オブザーバビリティユーザの拡大 / Scaling Active Observability with New Relic MCP
aeonpeople
0
400
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
1
1.5k
1人目SREが開発組織のトポロジーを変えるまでの実践知/the-first-sre-changed-team-topology
aeonpeople
0
910
AzureのIaC管理からログ調査まで、随所に役立つSkillsとCustom-Instructions / Boosting IaC and Log Analysis with Skills
aeonpeople
0
620
ASTのGitHub CopilotとCopilot CLIの現在地をお話しします/How AST Operates GitHub Copilot and Copilot CLI
aeonpeople
1
580
遊びで始めたNew Relic MCP、気づいたらChatOpsなオブザーバビリティボットができてました/From New Relic MCP to a ChatOps Observability Bot
aeonpeople
1
760
Other Decks in Technology
See All in Technology
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
280
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
220
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
220
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
190
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
150
人間はどの意思決定を手放せるのか
kawasima
14
5.7k
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
840
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
210
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
390
生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討
magicpod
0
150
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
460
The Spectacular Lies of Maps
axbom
PRO
1
990
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
The Art of Programming - Codeland 2020
erikaheidi
57
14k
We Are The Robots
honzajavorek
0
370
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
エンジニアに許された特別な時間の終わり
watany
108
250k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
350
Amusing Abliteration
ianozsvald
1
300
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
Designing Experiences People Love
moore
143
24k
Transcript
Azureコストは水道代 イオンスマートテクノロジー株式会社 第47回 Tokyo Jazug Night 2024年3月21日
Agenda • 自己紹介 • 会社紹介 • イオンスマートテクノロジーとAzureの歴史 • Azureコストとの闘い •
なぜAzureコストは水道代なのか • まとめ
自己紹介
自己紹介 CTO室SREチーム所属 岩崎 隆至 プログラマーを経てインフラエンジニアで キャリアを重ねる Azureを本格的に使い始めたのは3年前から Azureマネーは好きではないがマネーは好き だ。Azureマネーは難しい
会社紹介
会社紹介
会社紹介
iAEONアプリについて 膨大なIDと購買データを集約したアプリ「iAEON」 iAEONはイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを一つのアプリに統合しています。 提供開始から約3年で、iAEONは500万人以上の会員を抱え、独自のコード決済サービス「イオンペイ」は836万人(23年5月時点)が利用しています。
イオンスマートテクノロジーとAzureの歴史
イオンスマートテクノロジーとAzureの歴史 2020/10 設立 2021/2 Azure利用開 始 2021/9 iAEONアプリ ローンチ 2022/5
システム追加 2023/8 システム追加 NOW 月のコストは 1年後は2倍 2年後は5倍 3年後は8倍 驚異の天井知らず! コストの推移
Azureの環境 サブスクリプション数 43 システム数 9 環境 4
Azureコストとの闘い
闘う前(構築期間中) • 構築中はコスト削減まで手がまわらない • 余裕なリソースでコストが高くても、すぐ障害は避けたい為、そのままリリースをする • 毎月の合計コストは経理に報告する必要があり、サブスク毎のコストはエクセルで管理 していたので、システムと環境毎のコストは見れる状況になっている コストの仕組みはわからないのでなぜこんだけかかってい るかもよくわからず
闘いの始まり(リリース直前、そしてリリース後) えらい人 • どのシステムが高いの? • システムの何が高いの? • なんでコスト増えたの? コストマネジメント画面でどのサービスが高いのか どのシステムが高いのか手探りでしらべてみる
Advisorという便利な機能 • Advisorの意見を聞いてみる • その中でシステムに影響出さずに、手っ取り早くコストを削減できる方法を模索する ワタシは「Advisor」 色々コスト削減できそう ・予約を購入 ・節約プランを購入 ・ライトサイジング(リソース最適化)
本番運用に影響のでない施策を実 施しようかな
予約の購入 • リソース最適化は後回しで予約を購入する →3年で◦◦千万のコスト削減 参考ですが最初は「共有」にして無駄なく予約を使用するようにしましたが、共有だと 色々なサブスクに使用されコスト変動が起き管理しずらいので「単一のサブスクリプ ション」に落ち着く • LogAnalyticsの1日のログ量の事前購入をする。100G/日から事前購入あり ◦◦千万の買い物はドキドキするな
失敗は許されません 3年買って良いのか、このシステム3年使うよな ※返金の上限が年間 5万ドルとなっているから買いすぎ注意
ログ量の削減 • アプリの不要な出力ログの停止 • 最初はなんでもかんでもとりあえずLogAnalyticsに保存から、必要なログを保存するよ うに修正 → ◦百万/月の削減 最初はとりあえず、全部保存しちゃえ(雑な設計) 少ないより多い方がよいだろ
なんでもとっておけば、問題ないだろ
停止運用 • 検証環境の夜間休日のリソースの停止 →◦万/月削減 • 実施するにあたり開発チームには夜間土日も使いたい時は柔軟に対応しますと伝えて、 停止運用の同意を得やすいように始める • 気を付けた方が良いのは依頼をもとに停止運用を中断した後、再開せずにそのままと なってしまう事があるので、定期的に再開してよいかの確認が必要
コストとの闘いの歴史 2020/10 会社設立 2021/2 Azure利用 開始 2021/8 予約購入 2021/9 iAEONアプ
リローンチ 2021/10 ログ削減 2022/3 停止運用 開始 2023/3 予約購入 2023/4 価格改定 2023/11 予約購入 2024/1 ログ削減 NOW 色々実施してきましたが、リソースの最適化は実施する事はできませんでした 着手して進めているとリソース不足による本番障害が発生し、最適化の話は保留になる 忙しい時期はコスト削減は後回しになりがち(2022年3月~2023年3月空白の1年間)
なぜAzureコストは水道代なのか
Azureコストは水道代 • 一通りコストとの闘いが終わると次の闘いの始まり • それはコストの変化に気づく闘い • Azureコストの請求金額を毎月見てコストの変化に気づくのは、毎月の水道料金の請求 書の金額をみて変化に気づく水道代に似ている ※タイトル回収 •
知らないところでコストが変化している状況はまるで水漏れのよう
変更に気づかない理由 • 開発優先でコストは優先度が低いので気にせず開発している • 本番影響回避の為に一時的にリソース増強して、そのままとなっている • コストが増える事の連絡はわざわざしない
変更を知る方法 • 変更したら、連絡するようにお願いする • Azureポータルのコスト管理画面を毎日チェックする 等が考えられるが • 連絡をお願いしても、忘れそうなのでこの案は却下 • SREチームが毎日確認するのは大変(地獄の所業)なので各システム担当者が自分達で
チェックするようにお願いする
システム担当者にチェックしてもらえない課題 • Azureコスト管理画面はサブスク名を指定するフィルタリングなのでサブスクの命名規 則が浸透していないと担当するシステムのサブスクを見つけづらい • Azureコスト管理画面でフィルター機能や表示機能を上手く使いこなせず確認したい情 報まで辿りつけない
各システム担当者にチェックしてもらう施策 • 分かり易いようにシステム毎のview名のviewを作成 • 対象のサブスクでフィルタリング • 日々のコスト変化を確認しやすくする為に細分性を日単位 • グループ化はService nameにして、DBやVM単位で表示
• Reservation(予約)を表示しないように工夫(値なしを選択) ※次ページでイメージ • 下段の円グラフは必要な情報を表示 • 各システム毎のコスト担当者をアサインしてもらい、担当者に見方をレクチャー • Slackのスケジュールで毎週火曜に見てねと自動チャット、見たらリアクションしてね
VIEWの参考例 VIEW名 金額 金額 金額 金額 スコープ名 スコープ名 VIEW名 Reservationを表示しないようにフィルタ
サービス毎のコストの変化が比較的分か り易いやすい ※実際のコストの金額は予約を抜いた金 額なので注意 Reservationを表示すると 毎月払いで予約(Reservation)を購入した 日でコストが積み上がり、全体的に縮小さ れてコストの変化が見づらい
その結果 • 反応が薄い・・・ • コストより開発が優先 (勝手な想像) • コストは暇な人がみてくれ (勝手な想像)
次なる施策 • 毎週Slackの自動通知でわすれないようにしても、毎日チェックするのは大変 • コスト変化がなければ、チェックした時間は無駄になる • そこでAzureの自動検知を活用して、コストの変化あった時のみチェックする • リソースのメトリクスの定点観測会でコストViewの確認を実施
コスト変動(異常アラート)を検知 • サブスク毎に異常アラートを作成する • 異常アラートを受け取り、viewで変化した箇所を確認 Cost Alert Subscription メールより頻繁にみるSlackを活用 スラックのチャネルにメールを持たせて、
CostAlertを受け取れるようにする 通知方法はメー ル送付のみ https://learn.microsoft.com/ja-jp/azure/cost-management-billing/understand/analyze-unexpected-charges#create-an-anomaly-alert
コストアラートとSlackチャネル • 1システムの全環境のコストアラートを1システムアラートチャネル Cost Alert Subscription Aシステムコストアラートチャネル Aシステムコストアラートチャネル 本番Aシステム 本番Aシステム
Cost Alert Subscription STG Aシステム STG Aシステム Cost Alert Subscription 検証 Aシステム 検証 Aシステム Cost Alert Subscription Bシステムコストアラートチャネル Bシステムコストアラートチャネル 本番Bシステム 本番Bシステム Cost Alert Subscription STG Bシステム STG Bシステム Cost Alert Subscription 検証 Bシステム 検証 Bシステム Cost Alert Subscription Cシステムコストアラートチャネル Cシステムコストアラートチャネル 本番Cシステム 本番Cシステム Cost Alert Subscription STG Cシステム STG Cシステム Cost Alert Subscription 検証 Cシステム 検証 Cシステム
半年の異常アラートの件数 • 半年で開発環境のサブスクスクリプションで最も多い10件の異常アラート サブスク名 サブスク名 リソースグループ名 リソースグループ名 どのリソースがいくら変化したか はわからないのでリソース探しに はノウハウの蓄積が必要
何時、サブスク名のコストに変化 があったか確認できる
Azureポータルで作成したviewで1/4の変化を確認 • 1/4で水色のグラフが増えている事が確認できる • 1/4にリソースの作成作業をした グループ化(Group by):Service name 細分性(Granularity):日単位(Daily) 列(グループ化)(Column(grouped))
Azureポータルで作成したviewで1/4の変化を確認 おまけ • 1/4で水色のグラフが増えている事が確認できる • 1/4にリソースの作成作業をした グループ化(Group by):Service name 細分性(Granularity):日単位(Daily)
列(積み上げ)(Column(stacked))
予算のオーバーを検知 • システム毎に予算アラートを作成 • 予算超過に対応できる時間を確保する為、閾値を低め(70%)に設定 Subscription Aシステムコストアラートチャネル Aシステムコストアラートチャネル 本番Aシステム 本番Aシステム
Subscription STG Aシステム STG Aシステム Subscription 検証 Aシステム 検証 Aシステム Budgets alert Subscription Bシステムコストアラートチャネル Bシステムコストアラートチャネル 本番Bシステム 本番Bシステム Subscription STG Bシステム STG Bシステム Subscription 検証 Bシステム 検証 Bシステム Budgets alert https://learn.microsoft.com/ja-jp/azure/cost-management-billing/costs/cost-mgt-alerts-monitor-usage-spending#budget-alerts
予約が使用されていないか検知 • 予約使用率アラートを作成 • 予約適用率は高めに設定して、早目に検知 Reserved Utilization Alert インフラシステムコストアラートチャネル インフラシステムコストアラートチャネル
https://learn.microsoft.com/ja-jp/azure/cost-management-billing/costs/reservation-utilization-alerts
参考 予約アラートの通知内容 予約名 予約名 予約ID 予約ID 2件発生した例ですが、予約名や使 用率が表示されるので分かり易い
まとめ
まとめ • 予約購入、ログの削減、検証環境の停止運用等一通り実施 • 見えていないコストの変化に気づける事も大事 • 異常コストアラート、予算アラート、予約使用率アラートを活用して時間を有効活用 • Azureのコストを見れるだけでSREチームが確認していたがviewを活用しシステム担当 側で確認できるようにした
告知
告知 https://aeon.connpass.com/event/308120/
告知 https://aeon.connpass.com/event/310105/
募集しています!