ITproが米Amazon Web Servicesのクラウド・サービス「Amazon EC2」を使い始めてから1年半。当時ベータ版だったEC2は、正式サービスになり、データセンターの数が増え、米国東海岸だけでなく西海岸のデータセンターも選べるようになった。

 これまで運用を担当してきて気がついたことがある。データセンターによってCPUの新しさが違うのだ。

 データセンターによるCPUの違いを確認できるのは、起動するセンターをユーザーが選べるからだ。仮想マシンを時間貸しするサービスであるEC2は、米国東海岸に4センター、同西海岸に2センター、欧州に2センターの計8センターを抱える。それぞれのセンターの場所は同時障害の恐れが少なくなるよう、物理的に離れている。

 ユーザーはこれらのセンターを、冗長化などの目的で明示的に指定できる。起動後にCPUを確認するコマンド(Linuxならcat /proc/cpuinfo)を実行すれば、その仮想マシンが稼働するサーバーのCPUを確認できる。全センター・全種類の仮想マシンの組み合わせで仮想マシン・イメージを起動して調べてみると、CPUの発売時期は2005~2009年とさまざまだった。

表●Amazon EC2で確認できたCPUの一覧
2010年2月3日時点で、全センターで全種類の仮想マシンを起動した際のデータ。
名称発表動作周波数コア数
AMD Opteron 2702005年4月2GHz2
Intel Xeon E53452006年11月2.33GHz4
AMD Opteron 2218 HE2007年2月2.6GHz2
Intel Xeon E54102007年11月2.33GHz4
Intel Xeon E54302007年11月2.66GHz4
Intel Xeon X55502009年3月2.66GHz4(HT対応*1)
*1 Hyper-Threading Technologyの略。2スレッドを1コアで並列実行できる。

 例えば2仮想CPUのLarge仕様で仮想マシンを10個起動すると、米国東海岸にある「us-east-1a」センターと「同1b」センターでは、AMD Opteronの場合が多い。Opteronも1aセンターでは2007年発売のデュアルコアOpteron 2218 HEが起動する割合が高いのに対し、1bセンターでは2005年発売のデュアルコアOpteron 270が選ばれる率が高い。

 us-east-1a/1bセンターで4仮想CPUのExtra Largeを起動すると、クアッドコアXeon E5430の仮想マシンになる。8仮想CPUを利用できる最上位スペックの「High-Memory Quadruple Extra Large Instance」は、そもそも1a/1bセンターでは起動に失敗する。8仮想CPU/68.4Gバイト・メモリーの仮想マシンを生成できる物理サーバーが1a/1bセンターに存在しないようだ。比較的新しい1c/1dセンターでは、クアッドコアで1コア当たり2スレッドを並列実行可能な2009年発売のXeon X5550で起動する。

古いCPUほど損をする

 気になるのは、8センターで稼働する仮想マシンは、論理的には同じ仕様ではあるものの、実際には多少の性能差が存在することだ。Amazon EC2では1仮想CPU当たりの処理能力を「2007年当時のAMD OpteronおよびIntel Xeon 1G~1.2GHz程度」と規定し、「ECU(EC2 Compute Unit)」という指標を提示している。つまり同じ1ECUであっても、物理CPUの動作周波数にして0.2GHz分の差がある。

 実際に簡単なベンチマーク・テストを実施すると、同じ1ECUでもCPUの種類によって処理性能が違う。Xeon E5430、同E5410 、Opteron 2218 HE、Xeon E5345と、新しい順に測定値が高い。

図●1ECU当たりの処理性能
図●1ECU当たりの処理性能
流体解析計算の「姫野ベンチマーク」の実行結果を、各仮想マシンのECU値で割った1ECU当たりの処理性能。発売時期が古いCPUほど1ECU当たりの測定値が低い。

 同じ料金なら、少しでも高速なCPUで実行したいのが人情だろう。例えば2仮想CPUのLarge仕様で仮想マシンを使いたいとする。us-east-1aセンターを指定すると、ほぼデュアルコアのOpteron 2180 HEで起動する。us-east-1bでは、同じくデュアルコアのOpteron 270になる。4仮想CPUのExtra Large仕様では、1aセンターでクアッドコアのXeon E5410が、1bセンターで同E5345が、それぞれ起動する。1bセンターのOpteron 270およびXeon E5345は、EC2での利用を確認できたCPUの中では2005~2006年の発売と古い部類に入る。これなら1bセンターを避け、1aセンターか、もっと新しい別のセンターを選びたくなる。

オークション制度が中古市場を代替

 以上の仕様を知るユーザーなら、us-east-1bから逃げ出しても不思議はない。ならば古いデータセンターは不人気になるのか。そこは本業が小売業だけに、Amazonはぬかりない。

 2009年12月15日、AWSはEC2の仮想マシンを入札方式で購入できる「Spot Instances」を始めた(関連記事)。Spot Instancesでは、リソースの空き具合に応じて仮想マシンの価格が変動する。空き具合で落札価格が変わるため、AWSは「稼働データセンターを指定しなければ落札できる可能性が高まる」としている。つまりできるだけ安価に大量のリソースを使おうとするユーザー・ニーズが存在する限り、古いマシンを抱えるデータセンターの仮想マシンの稼働率を高められる。ハードウエアの中古市場とは趣が異なるが、Spot Instanceはクラウド・リソースの“中古市場”としての役割を果たす。

 ピンとこない方は、IT業界の別の法則を思い出してほしい。「古い生産設備を無駄にしない」という構図は、製造業に目を転じると珍しいものではない。古い設備でCPUほど高速な動作周波数が求められないチップセットを作ったり、大型の液晶パネルを効率よく生産できない設備でパチンコ台やカーナビ向けの小型パネルを作ったりすることで、コスト構造を最適化するのが常道だ。

 Amazonは変動相場であるSpot Instancesサービスを用意することで、設備を更新することなく遊休資産を収入源に変えた。“クラウド”的な言葉で言い換えれば、“値付けのCGM(Consumer Generated Media)”とでも言えるだろうか。次はデータセンターを丸ごと払い下げないかと、楽しみにしている。