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
AWS CPU Credit を完全に理解する
Search
Yamaguchi Takahiro
June 02, 2021
0
410
AWS CPU Credit を完全に理解する
Yamaguchi Takahiro
June 02, 2021
Tweet
Share
More Decks by Yamaguchi Takahiro
See All by Yamaguchi Takahiro
コンペを気楽に開催しよーぜ!@関西Kaggler会
nyk510
0
1.1k
Django のセキュリティリリースを見る
nyk510
0
42
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
nyk510
1
1k
硬派で真面目なグラフを描く
nyk510
0
450
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
350
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.4k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
810
atmaCup#8 Opening
nyk510
0
210
オンサイトデータコンペの魅力: 関わる全員が楽しいコンペ設計のための取り組み
nyk510
3
5.2k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
157
23k
Adopting Sorbet at Scale
ufuk
73
9.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Code Reviewing Like a Champion
maltzj
520
39k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Optimizing for Happiness
mojombo
376
70k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
790
Why Our Code Smells
bkeepers
PRO
335
57k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Transcript
バックエンド勉強会#1 AWS CPU Credit を完全に理解 する 2021/06/02 atma株式会社 nyk510 1
インスタンスごとの vCPU に対する制限 普通の EC2 インスタンス • vCPUは好きに使っていい (制限なし) •
要するに特定のマシンを買っているのと同じ状況 バースト可能インスタンス (t系) • vCPU量が同じ通常インスタンスよりは安い • しかしCPU利用率を CPU Credit によって制限・管理される (全部使えないときがある) • 基本 (ベースライン) と超過分 (バースト) という概念がある 借りてるマシンに割り当てられている 仮想のCPU数 vCPUとは… 2
CPUクレジットとは • のべで使ったCPU利用量を表す単位 • 次元: vCPUの稼働率 x 時間(分) で表される ex).
• 1vCPU で 100% 稼働を 10分 = 10 credit • 2vCPU で 100% 稼働を 5分 = 10 credit • 3vCPU で 10% 稼働を 2分 = 0.6 credit 3
CPUクレジットの管理方法 バースト可能インスタンスでのクレジット管理方法は下記の通り 1. 1時間あたりに固定のクレジット (ベースライン) を取得 2. 使った分だけクレジットを消費 / 使わなかった分は貯蓄
3. 貯蓄できる最大のクレジット量はインスタンスごとに固定 4. 固定料を超えると貯蓄から切り崩して稼働 (バースト) 4
CPUクレジットの管理方法 / 具体例 具体例: t3.large • vCPU=2 • 1時間あたり36クレジットを取得 /
最大クレジット料は864 2vCPUで1時間36(vCPU*min)なのでもらった分を完全に消費すると36/2=18minは利用 率100%で稼働できる。実際にはクレジットはじわじわもらうので 18/60=0.3 (30%) で 稼働するとプラマイゼロ。 この「もらった分を完全に消費したときの稼働率」をベースライン利用率と呼ぶ 5
クレジットが余ったら? • 時間ごとに一定量をもらうので、場合によってはあまるときがある。 ◦ ex: t3.largeで10分だけフル稼働したとすると20creditを使う → 16credit余 る。 •
余った分は貯金に回る。 ◦ t3.largeだと864だけ貯められる。(ためたcreditには有効期限がない) 6
ベースラインを超えて使ったら? • あまることがあるのと同様、使いすぎることもある。 • この場合使った分だけ貯金から引き落としされる • 具体例 ◦ t3.largeで1時間100%稼働すると ◦
2*60=120(credit)を使うことになるので ◦ 36-120=-84だけ貯金が減る。 7
貯金がないときは? 借りているインスタンスのモードによって扱いが変わる • standard mode | それ以上稼働できなくなる • unlimited mode
| 制限なく稼働できる t2系: デフォルト standard mode t3/4: デフォルト unlimited mode 8
unlimited mode • 簡単に言うと貯金がゼロでも借金して稼働できるモード • 借金は返済できる(消費 < 獲得量の差分が返済に当てられる) • 24時間で返済できないときは追加料金が発生する
見方を変えると… CPU利用量の面積をならしたものがベースラインを超えたとき課金される 9
unlimited 万能説 賢明な読者諸君の中には 「可変に稼働を調整できて借金もできるなら全部これでよくない?」 と思われた方もいらっしゃるのではないか。 10
unlimited は万能でもない 賢明な読者諸君の中には 「可変に稼働を調整できて借金もできるなら全部これでよくない?」 と思われた方もいらっしゃるのではないか。 残念ながら商売なのでそうはいかない / 固定のCPUに比べて割高 例えばt3系で常時100%でバーストし続けるとvCPU固定のインスタンスの1.5倍の料金が かかる
If a T3 instance continuously bursts at 100% CPU, you end up paying approximately 1.5 times the price of an equivalently-sized M5 instance. あるタイミングだけバースト/それ以外はあまり稼働しないというような場合に使う 11
どういうときにバースト系(t系)を使えばいい? 固定CPUタイプとの損益分岐点 AWSが計算してくれているので参考にして設定しましょう https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance- instances-unlimited-mode-concepts.html 参考文献 • Burstable performance instances
◦ https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-perf ormance-instances.html 12