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
400
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
35
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
nyk510
1
1k
硬派で真面目なグラフを描く
nyk510
0
450
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
340
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.4k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
800
atmaCup#8 Opening
nyk510
0
200
オンサイトデータコンペの魅力: 関わる全員が楽しいコンペ設計のための取り組み
nyk510
3
5.2k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
97
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Designing Experiences People Love
moore
138
23k
Optimizing for Happiness
mojombo
376
70k
Git: the NoSQL Database
bkeepers
PRO
427
64k
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