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
LambdaでBilling Alertを拡張してみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Mamoru Ohashi
July 14, 2016
Technology
52
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LambdaでBilling Alertを拡張してみた
JAWS-UG アーキテクチャ支部 クラウドネイティブ分科会#10
LT枠発表内容です。
Mamoru Ohashi
July 14, 2016
More Decks by Mamoru Ohashi
See All by Mamoru Ohashi
地元に無関心だった大企業エンジニアが三つの街の住人になるまで
mamohacy
0
72
三島市移住アンバサダー卒業報告会 〜まもはしぃの4年間のぜんぶと、これから〜
mamohacy
1
81
今の私を形作る4つの要素と偶然の出会い(セレンディピティ)
mamohacy
2
200
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
3
1k
ソフトウェア開発子会社立ち上げのためのタスク管理術〜Asana活用で"混乱期"を乗り越える〜
mamohacy
3
1k
NW-JAWS誕生秘話:シーズン1を終えるにあたって
mamohacy
1
300
リスキリングの特効薬!「技術コミュニティ」のススメ
mamohacy
2
2.1k
KDDIにおけるクラウド活⽤のあゆみ〜CCoEが率いる社内カルチャー変⾰〜
mamohacy
3
550
シゴトをジモトに運び込め〜大企業でCCoEやってた私が地元に事業所を作るまで〜
mamohacy
2
630
Other Decks in Technology
See All in Technology
Optunaの最新リリースv5.0について
pfn
PRO
0
120
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5k
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
930
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
970
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
Metadata - Section 1: HTML Basics
mohab1
0
120
ウォンテッドリーの最近のプロダクトと技術の紹介
stomk
0
120
夫婦で子育てするための育児標準化
codmoninc
PRO
0
440
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Prompt Engineering for Job Search
mfonobong
0
520
The Language of Interfaces
destraynor
162
27k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Practical Orchestrator
shlominoach
192
12k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Transcript
Mamoru Ohashi @mamohacy @mamohacy#20160714 LambdaでBilling Alertを 拡張してみた 〜 ⾮マネコン/⽇別31段階/無期限繰返通知 〜
2016.07.14
1 ⼤橋 衛(オオハシマモル) 1974/10/01(41歳) AWS Solution Architect(associate) アプリエンジニア12年 インフラエンジニア4年 クラウドエンジニア3年(=AWS歴)
2016/07現在、現在⼤⼿通信会社にて AWSコンサル/セキュリティ監査業務 家族︓妻、娘2⼈ 趣味︓スノーボード、読書、DIY 絶賛本名プレイ中 @mamohacy http://blog.mamohacy.com/ ⾃⼰紹介 @mamohacy#20160714
2 AWS Summit Tokyo 2016 に登壇しました @mamohacy#20160714 http://cloudblog.kddi.com/iaaspaas/4279/
使ってますか︖ Lambda
使ってますよ︕ Lambda
5 使ってますよ︕Lambda うちでは主に 「運⽤管理ツール」として使ってます ・Slackに投げた勤怠連絡をメールに転送 ・billing情報をSlackに通知 ・IAM管理統制とセキュリティ統制⾃動化 ・侵⼊テスト申請⾃動化 ・などなど @mamohacy#20160714
その中から今回は 「拡張版 Billing Alert」をご紹介︕
開発部⾨Y 開発部⾨X ⽀払アカウント @mamohacy#20160714 弊社のAWS利⽤費⽀払い管理 システムA 開発 商⽤ 検証 システムB
開発 システムC 開発/検 証 商⽤ AWS チーム 開発 部⾨ :AWSアカウント
7 Billingの課題 「予算策定は開発部⾨」 「⽀払とBilling Alert設定はAWSチーム」 p 各部⾨から予算情報を取得 p 予算情報/過去実績から閾値を算出・予測 p
アカウントAにBilling Alertを設定 p アカウントBにBilling Alertを設定 p アカウントCに・・・・ p あ、Alert⾶んだ。確認しなきゃ。 p え︖負荷試験中だから⼤丈夫︖そうですか・・・ p は︖来週に緊急リリース︖マジっすか︖ @mamohacy#20160714
@mamohacy#20160714 やってられるかァ︕
@mamohacy#20160714 ってことで Billing Alert を Lambda で 拡張してみました
10 純正Billing Alert機能の特徴 Ø 親の介在が必須 Ø ⼦側が簡単に扱えない @mamohacy#20160714 純正Billing Alertの特徴
ü要マネコン ü予算管理機能使えるのは親側だけ ü期間指定による閾値設定は出来ない üアラーム通知は閾値超過後の1回のみ
11 純正Billing Alert機能の特徴 Ø 親の介在は初期セットアップ時のみ Ø ⼦側が簡単に扱える @mamohacy#20160714 拡張版Billing Alertの特徴
üマネコン不要 ü⼦側で設定ファイルを作りS3アップロードすればOK ü⽉初からの経過⽇数毎に閾値を設定可能(Max31段階) ü閾値超過時は設定直すまで1時間おきにアラーム通知
12 アーキテクチャ @mamohacy#20160714 S3 bucket User confi g set billing
alarm reset alarm status Billing Alert CloudWatch email notification SNS upload invoke notify create 0:00/daily 0:00/hourly invoke invoke alarm アラーム状態の リセット Billing Alertの セット
13 config • ⽇毎に段階的に予算設定が可能 (最⼤31段階) • 実証実験中、負荷試験中、S-in、 キャンペーンなどのイベントに 合わせて予算を決め、ユーザー が⾃分⾃⾝でテキストファイル
をS3に保存する • configファイルを置かなければ Alert処理は無効になる @mamohacy#20160714 #day, threshold(USD) 10, 200 20, 400 ・・・・ 31, 600 aws_budget.txt
reset-alarm-status.py set-billing-alarm.py @mamohacy#20160714 コア・プログラム 43 steps(*include comments) 183 steps(*include comments)
15 ポイント その1 @mamohacy#20160714 cw_alarm_description = cw_alarm_description.replace("%THRESHOLD%", threshold) cw_alarm_action =
cw_alarm_action.replace("%ACCOUNT_ID%", account_id) #Alarmの設定 response = cloud_watch.put_metric_alarm(AlarmName=cw_alarm_name, AlarmDescription=cw_alarm_description, ActionsEnabled=True, AlarmActions=[cw_alarm_action], Namespace=cw_metric_namespace, MetricName=cw_metric_name, Statistic='Maximum', Dimensions=[ {'Name': 'Currency’, 'Value': 'USD’}, {'Name': 'LinkedAccount’, 'Value': account_id } ], Period=21600, EvaluationPeriods=1, Threshold=int(threshold), ComparisonOperator='GreaterThanThreshold' ) set-billing-alarm.py configから読んだ 閾値をalarmにセッ ト
16 ポイント その2 @mamohacy#20160714 alarm_name="Estimated Charges” # 実施要否判定() response =
cloud_watch.describe_alarms(AlarmNames=[alarm_name], StateValue='ALARM’) if len(response['MetricAlarms']) <= 0: return 0 # アラームステータスをリセット(強制的にアラームじゃない状態に戻す) response = cloud_watch.set_alarm_state(AlarmName=alarm_name, StateValue='INSUFFICIENT_DATA', StateReason='’,StateReasonData='{}’) return 0 reset-alarm-status.py 閾値超えてれば即 座にアラームが発 生!
17 拡張版 Billng Alertの導⼊効果 ü親による⼀括予算管理が不要に ü有効化/無効化の設定も⼦側で üAlert通知後の判断も⼦側からスタート (設定修正漏れ/恣意的/バグ/障害 etc...) 親アカウント側の予算管理&BillingBurst対応⼯数が
「実質ゼロ」 に︕ @mamohacy#20160714
@mamohacy#20160714 ご清聴ありがとうございました︕