Google Compute Engineで仮想マシンを作る

2015年1月30日(金)
出張 純也(でばり じゅんや)

GCEとAmazon EC2を比較する

一通りGCEを起動までできるようになったところで、同種のサービスであるAmazon EC2との比較をしてみたいと思います。本記事では特に、料金体系、パフォーマンス、日本から見た時のネットワーク性能の3点を比較してみたいと思います。

まず料金についてですが、両者は課金の単位が異なっています。GCEは分単位での課金で、最小課金の時間は10分間です。これは、起動後まず10分ぶんの課金が発生し、10分以降は1分単位で課金されるようになるということです。例えば、8分間だけ起動する場合は10分間の料金が課金され、12分起動すると12分間の料金が課金されることになります。
これに対してAmazon EC2は、1時間単位で課金がされる仕組みです。起動時間が8分でも12分でも59分でも、同じ1時間分の料金を支払うことになります。

実際にほぼ同じ性能のインスタンス同士で、時間当たりの料金を比較します。GCEの「n1-standard-1」インスタンスと、EC2の「m3.medium」インスタンスがほぼ同性能なので、これらの1時間あたりの料金を比較します。いずれも2014年12月現在、かつアジア地域(AWSは東京リージョン、GCPはasia-east1)の料金です。

表2:GCEとAmazon EC2の料金比較

インスタンスタイプコア数メモリ料金
GCEn1-standard-11-core3.75 GB$0.069 / 1時間
EC2m3.medium1-core3.75 GB$0.101 / 1時間

利用料金はインスタンスのぶんだけでなく、ネットワークやディスクの利用料金など他にも考慮すべき点があり、単純に比較するべきではありませんが、単位時間あたりの利用料金ではGCEの方が低め、ということになりそうです。

次はパフォーマンスの調査を行います。同じ条件で比較を行うため、先ほどと同様にGCEはn1-standard-1インスタンスを、EC2ではm3.mediumインスタンスを利用します。OSによる差がないように、どちらもCentOS 7を利用し、単純な計算の速度を比較します。計算はpythonのtimeitモジュールによって行います。

python -m timeit -n 100000 '"-".join([str(n) for n in range(100)])'

実行結果は次の通りです。

表3:GCEとAmazon EC2の計算速度を比較

GCEEC2
計測結果19.1 マイクロ秒 / 回41.5 マイクロ秒 / 回

以上の結果から、文字列の結合という単純な処理においてはGCEが倍程度のスピードであることがわかりました。CPUはいずれも1コアとのことですが、CPUの性能などが異なっている可能性があり、こちらも単純に比較するのは難しそうです。

最後に、日本から接続するときのネットワーク速度を比較します。パフォーマンス調査に利用したものと同じインスタンスにそれぞれ nginx をインストールし、同じHTMLを返すように設定し、東京都内にあるゴーガ社と、東京都内にインスタンスのある第3のクラウドサービスから、それぞれ1000回ずつGETして、平均速度を比較しました。

表4:GCEとAmazon EC2のネットワーク速度を比較

接続元\接続先GCEEC2
ゴーガ94.881 ミリ秒 / 回45.396 ミリ秒 / 回
他社クラウド80.728 ミリ秒 / 回9.374 ミリ秒 / 回

接続元がゴーガから接続した場合と、他社クラウドから接続した場合、いずれの場合においてもGCEよりEC2の方が高速に接続できているようです。ECのほうは、東京にリージョンを持っていることが影響しているかもしれません。

上記の結果からただちにGCEとEC2のどちらが優れていると結論づけられるわけではありませんが、クラウドサービスを構築する際に参考にしていただけますと幸いです。

オンプレからGCPへ

本記事ではGoogle Cloud Platform全体の紹介と、Google Compute Engineの紹介、および利用方法を紹介しました。

今後はこれまでオンプレ環境で構築されてきたシステムが、続々とクラウドにリプレースされていくと思われます。オンプレ環境をGCPにリプレースする場合は、単純に全てをGoogle Compute Engineで置き換えるのは非効率で、機能ごとに適切なサービスを選択していく必要があります。例えば、以下のような利用方法が考えられます。

  • Webインターフェース部分にはCompute Engineを利用
  • ファイルやログの格納にはGoogle Cloud Storageを利用
  • ログの集計にはGoogle Big Queryを利用
  • データベースサーバはGoogle Cloud SQLやGoogle Cloud Datastoreを利用

本連載では、引き続きこれらのサービスの解説や利用方法の紹介などを行っていく予定です。

著者
出張 純也(でばり じゅんや)
株式会社ゴーガ エンジニア
大阪大学大学院情報科学研究科博士後期課程修了。博士(情報科学)。大学院ではソフトウェア開発におけるプロジェクト進行データをマイニングしてプロジェクト管理に役立てる研究に従事する。研究で得た多くのことを活かすべくゴーガに入社。日本酒が好きで、日本酒好き仲間を増やすべく勉強中。実は表千家茶通箱の免状を持っている。情報処理学会会員。O型のさそり座。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています