Share
Embed
Transcript
12 slides
-
インスタンスごとの 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 は万能でもない 賢明な読者諸君の中には 「可変に稼働を調整できて借金もできるなら全部これでよくない?」 と思われた方もいらっしゃるのではないか。 残念ながら商売なのでそうはいかない / 固定の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