Amazonクラウドの内部アーキテクチャを推測する2つの記事
ITproに2月5日付けで掲載された記事「中古クラウド、あります - 記者の眼」で、高橋秀和記者がAmazon EC2の内部で使われているサーバのCPUが複数種類あることを、調査の上で明らかにしています。
高橋記者はこれまでITproでAmazon EC2での運用を担当してきた経験から、Amazon EC2のデータセンターによってサーバのCPUが異なることに気がつき、起動後の仮想マシンでCPUの種類を確認するコマンドを実行。どのような種類のCPUが使われているかを調べています。
その結果、6種類のCPUが確認できたそうです。記事の表から引用します。
- AMD Opteron 270
- AMD Opteron 2218 HE
- Intel Xeon E5345
- Intel Xeon E5410
- Intel Xeon E5430
- Intel Xeon X5550
AMDとIntelの両方を用いており、また2005年に発表されたCPUから昨年発表された新しいCPUまで利用されていることが分かります。
高橋記者は、これらの仮想マシンの上で簡単なベンチマークテストも行い、
同じ1ECUでもCPUの種類によって処理性能が違う。Xeon E5430、同E5410 、Opteron 2218 HE、Xeon E5345と、新しい順に測定値が高い。
と、Amazon EC2で同じクラスの仮想マシンを利用しても微妙に性能が異なることを指摘しています。
Amazonクラウドの内部アーキテクチャ
この記事が公開されるわずか4日前、コンピュータサイエンスを専攻しているというSören Bleikertz氏が、セキュリティの面から見たAmazon EC2をテーマとした卒論を書くことを理由に、Amazon EC2の内部アーキテクチャを推測したエントリ「On Amazon EC2's Underlying Architecture」を2月1日付けでブログにポストしています。
Bleikertz氏によると、Amazon EC2の構成要素は以下のようになっていると推測されるようです。ブログに書かれた内容のポイントをまとめてみました。
ハイパーバイザ
Xenを利用。特権ドメインとなるDom0で動作しているOSはRed Hat Linux。
ストレージ/Instance Storage
Instance Storageはサーバのローカルディスクを利用。ローカルディスクは3つのパーティション sda1、sda2、sda3に分かれていて、sda1はルートパーティション、sda2がユーザー領域として/mntにマウント、sda3はスワップ領域。仮想マシンイメージは/mnt下にありNFSでマウントされているかもしれない。
ストレージ/EBS
Elastic Block Storage(EBS)はiSCSIを用いたSAN(Storage Area Network)を採用しているのではと推測。
ネットワーク
Xenのネットワーク機能を用いて仮想マシンにはプライベートIPアドレスをDHCPで付与。NATを用いて外部IPアドレスと変換をしているようだ。
また、Bleikertz氏はドメインの命名規則から、Amazonクラウドは最近の24時間で約8万2000の仮想マシンが起動されたと推測、Amazonクラウドはサービス開始から現在まででは約3250万もの仮想マシンが起動されたとも推測しています。
クラウドは新しい技術ではないと言われるが
この2つの記事から推測されたAmazonクラウドの内部は、IntelやAMDのCPUを搭載したサーバを用い、XenハイパーバイザとRed Hat Linux、iSCSIなどを用いたSANなど、どれも比較的一般的なもので構成されていることが分かります。
一般に調達できるものを組み合わせたうえで、徹底的な規模の追求と独自の付加価値を加えることで誰にもマネできないほどの質に転換できていること、これがAmazonクラウドの大きな強みなのだとあらためて感じます。