こんにちは、t.yoshidaです。
※本記事はOracle Cloud Infrastructure Advent Calendar 2025シリーズ1 のDay 10にエントリーしています!
ECPUというCPU利用体系が発表されてから間もなく2年が経ちますね。
発表以降、Autonomous Databaseでは2024年1月、MySQL HeatWaveでは2024年9月に、新規データベースに割り当てられるのはECPUのみとなりました。さらに2026年3月13日以降、MySQL HeatWaveではすべてのOCPUシェイプが利用不可となることが表明されています。
2025年12月時点ではAutonomous Databaseの既存OCPU廃止は表明されていませんが、近いうちに同様の発表がなされる可能性は高いと考えられます。
なので本記事ではOCPUと比較しながらECPUについてまとめ、OCPUから完全に切り替わってしまう前にECPUへの理解を深めていこうと思います。
OCPU、ECPUについて
Oracle Cloud Infrastructure(OCI)では、CPU利用体系としてOCPU(Oracle CPU)とECPU(Elastic CPU)の2種類が存在します。
OCPU
OCPUは従来型の物理CPU利用体系です。主にComputeやBaseDB、GoldenGateなどに用いられています。
ECPU
ECPUはより柔軟な利用を見据え細分化された、特定のデータベースに向けたCPU利用体系です。
主にAutonomous DatabaseやMySQL HeatWaveなどに用いられています。
尚、ECPUはGeneration-agnostic x86シェイプに対応しています。
そのため、ComputeやBaseDB等のサービスでも上記シェイプを選択することでECPUを使用可能です。
パフォーマンス比較
次にOCPUとECPUのパフォーマンスを比較していきます。
OCPUは2vCPUに相当するCPU単位でしたが、ECPUは0.5vCPUに相当します。
同じ条件の場合OCPU、ECPU両者に性能差はないため、1OCPU≒4ECPUと言っても差し支えありません。
ただし、差はないですがECPUはECPUに応じた適切なメモリが自動で選択されます。
メモリの指定ができないため、メモリを指定する必要のあるプロダクトは注意が必要です。
| CPU単位 | vCPU換算 | 利用対象例 |
|---|---|---|
| OCPU | 2 vCPU | Compute、BaseDB、GoldenGate |
| ECPU | 0.5 vCPU | Autonomous Database、MySQL HeatWave |
※ただし、公式TwitterによるとMySQL HeatWaveに限り1ECPU≒1vCPUに相当します。
料金体系の違い
OCPU、ECPUは料金体系も異なります。
OCPU
OCPUは物理コアを固定的に割り当てる利用体系です。
OCPUを割り当てている間に課金が発生します。
そのため、ずっと起動し続け、かつスケーリングの少ないComputeのようなサービスに適しています。
ECPU
ECPUは抽象化されたリソースプールから柔軟に割り当てる利用体系です。
使用量に応じて秒単位で課金が発生します。そのため、自動スケーリングするサービスや秒単位の従量課金が発生するサービスに適しています。
また、ECPUの従量課金内にはバックアップが含まれていません。
Autonomous DBの場合、自動バックアップ、長期バックアップはGBごとにバックアップ・ストレージとして請求が行われます。
例えば、自動バックアップが現在200 GBを占有しており、長期バックアップが600 GBのストレージを占有している場合、選択したECPUおよびデータベース・ストレージに対して請求される使用量に加えて、800 GBのバックアップ・ストレージに対して請求されます。
| 料金体系 | 課金単位 | バックアップ |
|---|---|---|
| OCPU | 固定時間単位 | ストレージ費用込み |
| ECPU | 実使用時間に基づく秒単位の従量課金 | バックアップストレージは別途課金 |
ECPUは柔軟に課金対象を調整できる反面、バックアップに別途課金が発生するため見積時は気をつけたいですね。
ECPUの特徴
ここからはECPUの機能について説明していきます。
ECPUの自動スケーリング
Autonomous DBなどのECPUが利用可能なサービスでは、CPU数の自動スケーリングが可能です。
有効にしておくと、ワークロードが高い場合自動的にCPUリソースの増減を行ないます。
最大で最初に指定したECPU数の3倍までスケーリングが可能です。
ただし、このスケーリングはECPUのみです。
メモリはスケーリングしないため、設計時は適切な値で設計する必要があります。
設定したECPU数が不安な場合はスケール領域を超えないようアラームを設定しておくのも手ですね。
エラスティック・リソース・プール
大規模なAutonomous DBでは、エラスティック・リソース・プールも有用です。
多数の自律型AIデータベース・インスタンスを論理的にグループ化し、Autonomous AI Databaseを使用して管理を簡素化できます。
プール・シェイプは128、256、512、1024、2048または4096 ECPUのいずれかを選択する必要があります。
エラスティック・リソース・プールの利点は公式ドキュメントに以下のとおり記載されています。
多数のAutonomous DBを扱う場合に用いることで高いコスト効率でECPUの運用が可能になります。
・データベース・グループに対して固定予算で運用しながら、個々のデータベースごとにパフォーマンスの柔軟性を実現します。
・オーバーサブスクリプションを含むオンプレミスのOracle環境からの簡単な移行を可能にし、自律型AIデータベースへの移行にコスト効率の高い方法を提供します。
・多数の個別の顧客データベースでSaaSベンダーをサポートします。
・多数のデータベースを提供する能力が必要なマイクロサービス・アーキテクチャーを使用するためのリソースを提供すること。
・エラスティック・プールのプール・メンバーは、個別に請求されません(プール・リーダーは、プール・シェイプに基づいて請求されます)。個々のメンバーのECPU使用量に関連するコストを気にすることなく、プール・メンバーに対してインスタンスごとに追加のECPUを割り当てることができます。自律型AIデータベースのIO容量およびメモリー割当てはECPU数と直接相関するため、インスタンスに対してより多くのECPUを選択することで、追加のリソースに対して支払うことなく、IO容量およびより多くのメモリーで実行できます。つまり、インスタンス当たりより多くのECPUを使用すると、インスタンス当たりより多くのIO容量およびより多くのメモリーを使用できます。この場合、コストはプール・シェイプに基づいており、個々のインスタンスのECPU数に基づいていません。
まとめ
本記事はECPUの特徴をまとめました。参考になれば幸いです。
Autonomous DBのようなスケーリングが必要なサービスを使わない限りあまり出会わない仕組みですが、Oracle Cloudを使う以上切り離せないものだと思います。
本記事を読むことで、読まれた方がECPUと向き合うきっかけになれれば幸いです。
それでは、ご拝読ありがとうございました!m( )m
参考資料
[1] https://docs.oracle.com/ja-jp/iaas/autonomous-database-serverless/doc/autonomous-compute-models.html
[2] https://docs.oracle.com/ja-jp/iaas/autonomous-database-serverless/doc/autonomous-add-resources.html
[3] https://docs.oracle.com/ja-jp/iaas/autonomous-database-serverless/doc/autonomous-features-billing.html
[4] https://docs.oracle.com/ja-jp/iaas/autonomous-database-serverless/doc/elastic-pools-about.html
[5] https://docs.oracle.com/ja-jp/iaas/autonomous-database-serverless/doc/autonomous-features-billing.html
[6] https://x.com/mysql_jp/status/1765981245434102211?s=20