日経クラウドファースト編集長 中山秀夫

 2018年5月8日(米国時間)、米アマゾン ウェブ サービス(Amazon Web Services 、以下AWS)は仮想マシンサービス「Amazon EC2」の新しいオプション設定である「Optimize CPUs(CPU最適化)」の提供を始めた。この設定を使うと、仮想マシンの仮想CPU数をデフォルトより少なく指定したり、ハイパースレッディングを無効化したりできる。そのため、CPUの処理性能は落ちる。一方で、仮想マシンの料金はデフォルトのまま変わらないという。

 使うだけ損なオプション設定――。一見そう思えるが、ユーザーやAWSのパートナーからは米オラクル(Oracle)の「Oracle Database(Oracle DB)のライセンス料節減に役立つ」と歓迎の声が上がっている。実はこれ、AWSによる新手のオラクル対抗策である。

 Oracle DBのライセンス料が減るカラクリは次の通りだ。AWSの仮想マシンでOracle DBを稼働させる場合、仮想マシンと外付けディスク(EBSボリューム)の間のネットワーク帯域がひっ迫しやすい。これが性能のボトルネックになる。

 そこでこのネットワーク帯域を広げるために、上位の仮想マシンサイズに変更するケースが少なくない。このときユーザーにとってコスト増になるのは、仮想マシンの料金だけではない。必要とされる、Oracle DBのプロセッサーライセンス数も増えてしまう。上位の仮想マシンサイズに変更すると必然的に仮想CPU数が多くなり、それに伴って、必要なプロセッサーライセンス数が増えるからである。

 新オプションのOptimize CPUsを使うと、この無駄を減らせる。上位の仮想マシンサイズにして外付けディスクとのネットワーク帯域を広げたうえで、仮想CPU数だけを減らせばよいのだ。例えば「x1e.4xlarge」という仮想マシンはデフォルトで16仮想CPUだが、これを1、2、3、4、5、6、7、8、10、12、14のいずれかに指定できる。これにより、必要なプロセッサーライセンス数を減らせるようになる。

追記(2018年6月20日)

 本記事中にある「新オプションのOptimize CPUsを使うと、(中略)必要なプロセッサーライセンス数を減らせるようになる」は米Amazon Web Servicesの主張であり、この部分について米オラクルは「Optimize CPUsで仮想CPU数を減らしても、Oracle Database(DB)のプロセッサーライセンス数は変わらない」とする。その根拠となる、ソフトウエアライセンスに関するルールは以下の通りだ。

 Oracle DBのプロセッサーライセンス数は、インストールし稼働するサーバーに搭載された全ての物理CPUをカウントして算出するのが基本的なルールである。ただしオラクルが認定した技術を使う場合は、搭載されたCPUの一部であるサブキャパシティだけを対象にライセンスを許諾することができる。Amazon Web Servicesはオラクルが認定したクラウド環境であり、BYOL(Bring Your Own License)については、物理CPU数ではなく仮想CPUベースのサブキャパシティでのライセンス許諾が可能である。オラクルは、Optimize CPUsを「仮想CPUベースのサブキャパシティに加え、さらに仮想CPUを制限する技術」と理解している。この技術については、現状のクラウドへのBYOLのポリシーである「クラウド・コンピューティング環境におけるOracleソフトウェアライセンス」で想定をしていないため、仮想CPUの最大数をベースにしたプロセッサーライセンス数が必要になる。

この先は有料会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら