今回はOracle Cloud Infrastructure で新たに登場した小規模アプリケーション向けのバースト可能インスタンスについて、ご紹介します。
そもそもバーストとは?
バーストとは、端的に説明すると、
「低コストで突発的にCPUパワーが必要になった際に自動でパフォーマンスを最大化する機能」
です。
もう少し具体的に説明すると、インスタンスを作成する際に、ベースラインとしてCPU使用率を設定したとします。
そして何らかの原因で突発的に、設定したベースラインを越えてCPUが使用されることを「バースト」といい、ベースラインを越えてCPUを使用することが出来る機能のことを「バースト可能〇〇〇」といいます。
バースト可能なインスタンスについて
バースト可能なインスタンスの仕組み
・バースト可能なインスタンスを作成する際には、OCPUの合計数(またはCPUコア)とベースラインCPU使用率を指定します。
・ベースライン使用率は、各CPUコアの一部(12.5%または50%)です。ベースラインは、常時使用できる最小のCPUを提供します。
・バーストする能力は、インスタンスのCPU使用パターンおよび基礎となるサーバ・リソースの使用状況によって異なります。
・過去24時間におけるインスタンスの平均CPU使用率がベースラインを下回る場合、システムはベースラインを上回るバーストを許可します。
・リソースが公平に管理されるように、バーストは短期間に制限されます。
・バースト可能なインスタンスは過剰にサブスクライブされたコンピュート・リソースであるため、インスタンスが必要なときに正確にバーストできる保証はありません。
・バーストがシステムによって終了すると、インスタンスはベースラインCPUに制限されます。
・現時点でサポートされているシェイプは、VM.Standard.E3.Flex のみです。
バースト可能なインスタンスと通常インスタンスの違い
バースト可能なインスタンス | 通常のフレキシブル・インスタンス | |
特徴 | ほとんどの場合、最小限のリソース使用率しか必要としないワークロードのコストを最適化できます。物理VMホストは過剰にサブスクライブされているため、インスタンスがバーストできる保証はありません。 | OCPUの合計数へのアクセスを保証する必要があるワークロードのOCPU数およびメモリ容量をカスタマイズできます。物理VMホストは過剰にサブスクライブされません。 |
スケーリングの設定 | インスタンスは、ベースラインと定義した最大値の間で使用可能なOPCUを動的にスケーリングします。 | OCPUおよびメモリをスケーリングする場合は、インスタンスのサイズを変更する必要があります。 |
スケーリングの速さ | ワークロードの一時的な急増に対処するために、迅速にスケール・アップおよびスケール・ダウンします。 | スケール・アップおよびスケール・ダウンに時間がかかりますが、リソース使用率が高い場合は継続的に処理できます。 |
・バースト可能なインスタンスと通常のフレキシブル・インスタンスの両方を使用して、ワークロードに合せてインスタンスを最適化できます。
ただし、バースト可能なインスタンスと通常のインスタンスにはいくつかの違いがあります。
制限事項および考慮事項
・物理VMホストは過剰にサブスクライブされているため、インスタンスがバーストできる保証はありません。完全なOCPU使用率を必要とするクリティカルまたは本番ワークロードの場合は、かわりに通常のインスタンスを使用する必要があります。
・ネットワーク帯域幅は過剰にサブスクライブされているため、インスタンスが最大帯域幅を使用できる保証はありません。
・メモリはバーストしません。
・Windowsイメージには、少なくとも50%の1 OCPUと4GBのメモリが必要です。
・カスタム・イメージは、ベースラインOCPUがイメージの最小要件を満たしている場合にサポートされます。
・バースト可能な各インスタンスは、エフェメラル・パブリックIPアドレスを1つ持つことができます。追加のパブリックIPが必要な場合は、インスタンスに予約済パブリックIPを割り当てます。
・12.5%ベースラインのOCPUごとに、4つのブロック・ボリュームを最大制限までアタッチできます。
・バースト可能なインスタンスは、準仮想化ネットワークを使用する必要があります。SR-IOVネットワーク(通常のVM.Standard.E3.Flexインスタンスのデフォルト)を使用して通常のインスタンスを作成し、そのインスタンスをバースト可能なインスタンスに変更する場合は、ネットワーク・タイプも準仮想化に変更する必要があります。
・バースト可能なインスタンスは、専用仮想マシン・ホスト、容量予約またはプリエンプティブル容量ではサポートされません。
・バースト可能なインスタンスのサービス制限およびコンパートメント割当ては、実際の使用状況に関係なく、インスタンスに構成されているベースラインOCPUをカウントします。バースト可能なインスタンスと通常のインスタンスは、インスタンスのシェイプに基づいて同じサービス制限とコンパートメント割当てを共有します。
価格
・課金項目自体は変わらず、標準価格にベースラインCPU使用率をかけた金額になります。メモリ課金は通常と同様に設定したサイズで課金されます。
例:1 OCPU ベースライン12.5% + メモリ 2GB のインスタンスの場合
標準単価:Compute - Standard - E3 - OCPU ¥3.00 OCPU Per Hour
標準単価:Compute - Standard - E3 - Memory ¥0.18 Gigabyte Per Hour
OCPU ¥3.00 x 1 x 0.125 + メモリ ¥0.18 x 2 = ¥0.375 + ¥0.36 = ¥0.735 / hour
※2021年11月時点
最後に
種類が増えてきたことによって開発目的に適した機能を選べるケースが増えてきたと思います。
目的にマッチした環境を選ぶことが出来たらそれだけ安価で構築できますし、OCIのシェアも増えてくると思います。
上記の機能は使いどころを選ぶ機能で、開発サーバや低負荷なサーバ向けのものになると思います。
開発サーバなどを安価に使用したい場合にご検討ください。
- カテゴリ:
- エンジニアリング