バースト可能なインスタンス
バースト可能なインスタンスは、ベースライン・レベルのCPUパフォーマンスを提供する仮想マシン(VM)インスタンスで、使用量の不定期な急増をサポートするために、上位レベルにバーストする機能を備えています。
バースト可能なインスタンスは、インスタンスが通常アイドル状態であるか、CPU使用率が低く使用量が不定期に急増するシナリオ向けに設計されています。また、フル・コアを必要としないスケールダウンされたワークロードにも適しています。例:
- マイクロサービス
- 開発およびテスト環境
- 継続的インテグレーションおよび継続的デリバリ(CI/CD)ツール
- モニタリング・システム
- 静的Webサイト
バースト可能なインスタンスの仕組み
バースト可能なインスタンスは、ほとんどの場合、ほんの一部のCPUで実行されているワークロードを維持でき、最大1時間の連続バーストのために完全なCPUまでバーストできます。バースト・パターン(連続バーストかどうか)およびインスタンスが十分に利用されていない期間によっては、バースト・アローワンスが1時間以上になる場合があります。
バースト可能なインスタンスを作成する際には、OCPUの合計数(またはCPUコア)とベースラインCPU使用率を指定します。ベースライン使用率は、各CPUコアの一部(12.5%または50%)です。ベースラインは、常時使用できる最小のCPUを提供します。
必要に応じて、インスタンスはベースラインCPUを超えて、プロビジョニングするOCPUの合計まで使用できます。ベースラインを上回るこの使用量は、自動的に最大1時間の連続バーストが発生するため、バースティングと呼ばれます。
たとえば、1個のOCPUを持つインスタンスの場合、ベースライン12.5%とは、CPUコアの12.5%がベースライン使用に利用可能で、最大バーストが1 CPUコアの100%であることを意味します。64個のOCPUを持つインスタンスの場合、同じベースライン12.5%とは、64個のCPUコアの12.5%がベースライン使用に利用可能で、最大バーストがすべての64個のCPUコアの100%であることを意味します。
バーストする能力は、インスタンスのCPU使用パターンおよび基礎となるサーバー・リソースの使用状況によって異なります。インスタンスのCPU使用率が特定の期間のベースラインを下回っている場合、システムでは、その期間とほぼ同等のベースラインを上回るバーストをインスタンスで許可します。バーストは、リソースが公平に管理されるように、最大1時間の連続バーストに制限されます。バースト可能なインスタンスは過剰にサブスクライブされたコンピュート・リソースであるため、インスタンスが必要なときに正確にバーストできる保証はありません。
バーストがシステムによって終了すると、インスタンスはベースラインCPUに制限されます。
CpuUtilization
メトリックを使用して、CPU使用率をモニターできます。
サポートされるシェイプ
次のシェイプを使用して、バースト可能なインスタンスを作成できます:
- VM.Standard3.Flex
- VM.Standard.E3.Flex
- VM.Standard.E4.Flex
- VM.Standard.E5.Flex
OCPU、メモリー、ネットワーク帯域幅およびVNIC
バースト可能なインスタンスはフレキシブル・シェイプを使用するため、バースト可能なインスタンスインスタンスに割り当てられるOCPU数およびメモリー容量をカスタマイズできます。
- OCPU: バースト可能なインスタンスに対して、同じシェイプを使用する通常のインスタンスに選択できるのと同じ範囲のOCPUを選択できます。
-
メモリー: メモリーの容量はOCPUの合計数に基づきます。構成するベースラインOCPUに関係なく、OCPUごとに、バースト可能なインスタンスに対して、同じシェイプを使用する通常のインスタンスに選択できるのと同じメモリー比率を選択できます。たとえば、VM.Standard.E4.Flexシェイプを使用して1 OCPUインスタンスを作成する場合、最大64GBのメモリーを割り当てることができます。
バースト可能なインスタンスのメモリーの最小量は、同じシェイプを使用する通常のインスタンスの場合と同じです。バースト可能なインスタンスのメモリーの最大量は、通常のインスタンスの場合よりも小さくなります。
割り当てられるデフォルトのメモリー量は、選択したOCPUの数およびベースラインによって異なります。バースト可能なインスタンスに割り当てられるデフォルトのメモリーは、通常のインスタンスに割り当てられるデフォルトのメモリー量と同じではありません。
メモリーはバーストしません。
- ネットワーク帯域幅: 最大ネットワーク帯域幅は、ベースラインOCPUに関連して定義されます。ネットワーク帯域幅はバーストします。
- VNIC: バースト可能なインスタンスのVNICの最小数、VNICの最大数、およびVNICとOCPUの比率は、同じシェイプを使用する通常のインスタンスの場合と同じです。
シェイプ | OCPU | メモリー(GB) | 最大ネットワーク帯域幅 | VNIC |
---|---|---|---|---|
VM.Standard3.Flex | 最小1、最大32 OCPU | 最小1GB、最大384GB | 12.5%ベースラインのOCPUごとに0.5Gbps、全体で最大32Gbps |
1 OCPUを持つVM: 2 VNIC。 2以上のOCPUを持つVM: 1 OCPU当たり1 VNIC。 最大24 VNIC。 |
VM.Standard.E3.Flex | 最小1 OCPU、最大64 OCPU | 最小1GB、最大768GB | 12.5%ベースラインのOCPUごとに0.5Gbps、全体で最大40Gbps |
1 OCPUを持つVM: 2 VNIC。 2以上のOCPUを持つVM: 1 OCPU当たり1 VNIC。 最大24 VNIC。 |
VM.Standard.E4.Flex | 最小1 OCPU、最大64 OCPU | 最小1GB、最大768GB | 12.5%ベースラインのOCPUごとに0.5Gbps、全体で最大40Gbps |
1 OCPUを持つVM: 2 VNIC。 2以上のOCPUを持つVM: 1 OCPU当たり1 VNIC。 最大24 VNIC。 |
VM.Standard.E5.Flex | 最小1 OCPU、最大94 OCPU | 最小1GB、最大1049GB | 12.5%ベースラインのOCPUごとに0.5Gbps、全体で最大40Gbps |
1 OCPUを持つVM: 2 VNIC。 2以上のOCPUを持つVM: 1 OCPU当たり1 VNIC。 最大24 VNIC。 |
バースト可能なインスタンスの柔軟性とは、小規模または低使用率のアプリケーション向けに最適化されたインスタンスを作成できることを意味します。たとえば、VM.Standard.E4.Flex シェイプを使用すると、OCPUの12.5%または50%のサブコアまたはバースト可能なインスタンスを最小1GBのメモリーで作成することができ、限られた時間内で最大1 OCPUをバーストする機能を備えています。(1 OCPUは、IntelおよびAMDプロセッサの2つのハードウェア実行スレッドまたはvCPUと同等です。)より大きなワークロードの場合は、(VM.Standard.E4を使用して) 64 OCPUものバースト可能なインスタンスを作成できます。12.5%ベースラインのフレックス・シェイプ。最大メモリーは768GBで、限られた時間で最大64個のOCPUをバーストできます。
通常インスタンスと比較したバースト可能なインスタンス
バースト可能なインスタンスと通常のフレキシブル・インスタンスの両方を使用して、ワークロードに合せてインスタンスを最適化できます。ただし、バースト可能なインスタンスと通常のインスタンスにはいくつかの違いがあります。
バースト可能なインスタンス | 通常のフレキシブル・インスタンス | |
---|---|---|
目的 | ほとんどの場合、最小限のリソース使用率しか必要としないワークロードのコストを最適化できます。物理VMホストは過剰にサブスクライブされているため、インスタンスがバーストできる保証はありません。 | OCPUの合計数へのアクセスを保証する必要があるワークロードのOCPU数およびメモリー容量をカスタマイズできます。物理VMホストは過剰にサブスクライブされません。 |
スケーリング方法 | インスタンスは、ベースラインと定義した最大値の間で使用可能なOCPUを動的にスケーリングします。 | OCPUおよびメモリーをスケーリングする場合は、インスタンスのサイズを変更する必要があります。 |
スケーリング速度 | ワークロードの一時的な急増に対処するために、迅速にスケール・アップおよびスケール・ダウンします。 | スケール・アップおよびスケール・ダウンに時間がかかりますが、リソース使用率が高い場合は継続的に処理できます。 |
制限事項および考慮事項
次の点に注意してください:
- 物理VMホストは過剰にサブスクライブされているため、インスタンスがバーストできる保証はありません。完全なOCPU使用率を必要とするクリティカルまたは本番ワークロードの場合は、かわりに通常のインスタンスを使用する必要があります。
- ネットワーク帯域幅は過剰にサブスクライブされているため、インスタンスが最大帯域幅を使用できる保証はありません。
- メモリーはバーストしません。
- カスタム・イメージは、ベースラインOCPUがイメージの最小要件を満たしている場合にサポートされます。
- バースト可能な各インスタンスは、エフェメラル・パブリックIPアドレスを1つ持つことができます。追加のパブリックIPが必要な場合は、インスタンスに予約済パブリックIPを割り当てます。
- 12.5%ベースラインのOCPUごとに、4つのブロック・ボリュームを最大制限までアタッチできます。
- バースト可能なインスタンスは、準仮想化ネットワークを使用する必要があります。SR-IOVネットワーク(一部の通常のインスタンスのデフォルト)を使用して通常のインスタンスを作成し、そのインスタンスをバースト可能なインスタンスに変更する場合は、ネットワーク・タイプも準仮想化に変更する必要があります。
- バースト可能なインスタンスは、専用仮想マシン・ホスト、容量予約またはプリエンプティブル容量ではサポートされません。
- バースト可能なインスタンスのサービス制限およびコンパートメント割当ては、実際の使用状況に関係なく、インスタンスに構成されているベースラインOCPUをカウントします。バースト可能なインスタンスと通常のインスタンスは、インスタンスのシェイプに基づいて同じサービス制限とコンパートメント割当てを共有します。
- 拡張メモリーVMインスタンスはバーストしません。
請求
バースト可能なインスタンスは、合計OCPU数が同じ通常のインスタンスよりもコストがかかりません。バースト可能なインスタンスは、ベースラインOCPUに従って課金されます。バースト可能なインスタンスの料金は、実際のCPU使用率がベースライン上にあるか、ベースラインを下回るか、ベースラインを上回るかに関係なく、同じです。これとは対照的に、通常のインスタンスでは、使用率が低い場合でも合計OCPU数に対して課金されます。
たとえば、OCPUが1つ、ベースラインが12.5%のVM.Standard.E4.Flexインスタンスを作成した場合、実際のCPU使用率が1 OCPUの12.5%を下回るか、完全な1 OCPUにバーストされるかに関係なく、毎時12.5%の標準E4 OCPUに対して請求されます。
Windows Serverライセンスのコストも、ベースラインOCPUに従って課金されます。
メモリーは、通常のインスタンスと同様に、インスタンスに構成されているメモリーの量に基づいて課金されます。
請求の詳細は、『Oracle PaaS and IaaS Universal Credits Service Descriptions』のOracle Compute Cloud Servicesに関する項を参照してください。
バースト可能なインスタンスの作成
インスタンスを作成する際に、そのインスタンスがバースト可能なインスタンスであるかどうかを指定します。既存の通常のインスタンスを編集して、そのインスタンスをバースト可能なインスタンスにすることもできます。
コンソールの使用:
- 「シェイプ」セクションが表示されるまで、インスタンスを作成するステップに従います。
- 「シェイプの変更」をクリックします。
- バーストをサポートするシェイプを選択します。
- 「OCPUの数」で、バーストするインスタンスのOCPUの最大数を選択します。
- バースト可能オプションを選択します。
-
「OCPU当たりのベースライン使用率」リストで、インスタンスのベースラインOCPU使用率を選択します。この値は、ほとんどの場合に使用するOCPUのパーセンテージです。
たとえば、12.5%のベースラインとは、ベースライン使用率(インスタンスがバーストされていない場合の通常の使用率)のために、インスタンスが合計OCPU数の12.5%まで使用可能であることを意味します。1 OCPUのインスタンスの場合、12.5%のベースラインは、最大でOCPUの1/8がベースライン使用に利用可能であることを意味します。
- 「メモリー容量」で、スライダをドラッグして、このインスタンスに割り当てるメモリーの容量を選択します。選択できる最大メモリーは、選択したOCPUの数およびベースラインによって異なります。割り当てられるデフォルトのメモリー量は、選択したOCPUの数およびベースラインによって異なります。バースト可能なインスタンスに割り当てられるデフォルトのメモリーは、通常のインスタンスに割り当てられるデフォルトのメモリー量と同じではありません。メモリーはバーストしません。
- 「シェイプの選択」をクリックします。
- インスタンスの作成を終了し、「作成」をクリックします。
APIの使用: baselineOcpuUtilization
属性にベースラインOCPUを指定して、LaunchInstance操作を使用します。