良いぞ強いぞ GCP!GCP の強さをアピールしてみる - その料金とちょっとしたベンチ
はい、再び GCP の行灯記事です。皆さんお元気ですか。どうも、Google の回し者と化している僕です。
何故に GCP をこんなにまで持ち上げるんだ?とお思いでしょうが、GCP があまりに良いので自然とべた褒めになっちゃうんですよ。
自分は今までクラウドなんてゴミだと思っていました。AWS を触った時には「なんっじゃこのクソ使いづらくておっせぇサービスは。しかも VM 落とすとデータ消えるから永続化したいデータは別のところに入れろって面倒臭すぎだろ。要らねぇ・・・。」と呆れ果て、Azureを触った時は「なんっじゃこのわかりづれぇサービスは。2発の VM が必須とかありえねぇだろ。しかも気軽にぶち壊れやがる。うぜぇーー!」と発狂。ただひたすら構築・運用コストが跳ね上がり、しかも鬼の従量課金が行われると言う喜んで使っている方々の脳みその出来を疑う代物で、大っ嫌いでした。
専用サーバ最強!ベアメタル最強!ハウジングが何だかんだで一番だ!そいつらに kvm だの Docker だの入れて好き勝手にやりゃぁ良いだろ!なんだぁ?このバカヤロォ!やれよコノヤロォ、早くやれっ、それおもちゃか!撃ってみろ!!このハゲーー!!なんて思っていました。GCP を触る前までは。
GCP 触るとダメですね。自力へっぽこハウジングなんて Google 先生に勝てるわけがない。どんな専用サーバサービスもこの GCP のお気軽無邪気パワフルさに完敗する。勝てるものがいない。魔界の帝王がノリノリでダンスしながらやってきやがった感じです。アシュラマンがその6本の両手を激しく動かしながらダンスしている様を想像してくださいよ。人生でトップクラスの無駄な時間を過ごせますから。
従量課金だけはやはり引っかかりはしますが、かなり安いです。サーバを上げっぱなしにしておくと30%勝手に割り引かれますし。
1ヶ月 VM をフルで動かした場合、東京リージョンにおけるマシンタイプ別の料金はおおよそ以下のような感じになります。フル稼働なので 30% オフが入った価格です(1ヶ月 730時間稼働させ、10 GB($0.52) のディスクを利用した場合)。
マシンタイプ | 料金 |
---|---|
micro(共有vCPU x 1、メモリ 0.6 GB) | $5.22 |
small(共有vCPU x 1、メモリ 1.7 GB) | $16.97 |
n1-standard-1(vCPU x 1、メモリ 3.75 GB) | $31.69 |
n1-standard-2(vCPU x 2、メモリ 7.5 GB) | $62.86 |
n1-standard-4(vCPU x 4、メモリ 15 GB) | $125.20 |
n1-standard-8(vCPU x 8、メモリ 30 GB) | $249.89 |
n1-standard-16(vCPU x 16、メモリ 60 GB) | $499.26 |
n1-standard-32(vCPU x 32、メモリ 120 GB) | $997.99 |
n1-standard-64(vCPU x 64、メモリ 240 GB) | $1,995.46 |
メモリが潤沢なマシンを使いたい場合はこれです。
マシンタイプ | 料金 |
---|---|
n1-highmem-2(vCPU x 2、メモリ 13 GB) | $78.04 |
n1-highmem-4(vCPU x 4、メモリ 26 GB) | $155.56 |
n1-highmem-8(vCPU x 8、メモリ 52 GB) | $310.59 |
n1-highmem-16(vCPU x 16、メモリ 104 GB) | $620.67 |
n1-highmem-32(vCPU x 32、メモリ 208 GB) | $1,240.82 |
n1-highmem-64(vCPU x 64、メモリ 416 GB) | $2,481.12 |
メモリは要らん、CPU のコア多けりゃそれでええんじゃ、と言う場合はこれですね。
n1-highcpu-2(vCPU x 2、メモリ 1.8 GB) | $47.02 |
---|---|
n1-highcpu-4(vCPU x 4、メモリ 3.6 GB) | $95.52 |
n1-highcpu-8(vCPU x 8、メモリ 7.2 GB) | $186.52 |
n1-highcpu-16(vCPU x 16、メモリ 14.4 GB) | $372.53 |
n1-highcpu-32(vCPU x 32、メモリ 28.8 GB) | $754.54 |
n1-highcpu-64(vCPU x 64、メモリ 57.6 GB) | $1,488.55 |
ディスクは 40 GB で $2。SSDで 40 GB なら $9 ぐらいになります。1 TB なら $52 です。
これらの料金は UI から VM を作成する際その場で推定費用として表示してくれます。クラウドにありがちな「いったいいくらになるんだよ!」と言う不安を払拭するためにいちいち計算ツールのページに飛ぶ必要はありません。
ネットワークの料金はゾーンをまたぎの下りのみかかります。1 GB あたりの値段は以下のようになります。
種類 | 料金 |
---|---|
同一リージョン内のゾーン間の下り | $0.01 |
US 内のリージョン間の下り | $0.01 |
中国からのアクセス | $0.23 |
オーストラリアからのアクセス | $0.19 |
その他の国からのアクセス | $0.12 |
ドル円108円ならば 1 TB DL されて 1,300円って感じです。中国・オーストラリアからならその倍ですね。
1 TB を超えたタイミングと、10 TB を超えたタイミングでネットワーク料金には割引が入ります。
月間使用量 | 対中国 | 対オーストラリア | その他 |
---|---|---|---|
0~1 TB | $0.23 | $0.18 | $0.12 |
1~10 TB | $0.22 | $0.18 | $0.11 |
10 TB~ | $0.20 | $0.15 | $0.08 |
日本からの DL の場合 10 TB 超えると 30% 安くなります。
割引として、プリエンプティブ VM インスタンス ってのがあって 80% オフになります。
ただし、こいつは24時間後に必ず1回叩き落されますし、途中でも運が悪ければ勝手に再起動されたりします。使い所を選びますが、うまく使うとかなりコストを削る事ができます。
お金がくて頻繁に落とされてもイライラしない人ならば日中開発やテストに使うと良いかもしれません。他も、バーストが来そうな時に事前に LB のバックエンドに追加したり、そもそも LB のバックエンドを プリエンプティブ VM にして最小インスタンスを多めにしてみたり、何か分散処理したい場合、いついなくなっても良いノードとして使ったり、と使い所は盛り沢山だと思います。賢く使って得をしましょう。
実際値段がどうなるかと言うと、例えば n1-standard-1 が $31.69 ですが、これは1ヶ月動かしっぱなし割引が効いているからそうなるわけで、実際は $44.53 です。
これがプリエンプティブ VM にすると $10.19 になります。約 77% 引きです。動かしっぱなし割引との併用は出来ませんが、動かしっぱなしにしても十分コストダウンになります。
たまにしか使わない VM は間違いなくこちらにした方が良いです。
そして、なんと micro は米国リージョンであれば1つ無料で永久に使えると言う太っ腹っぷりです。ディスクも 30 GB ついていて、中国・オーストラリア以外の下りネットワークであれば 1 GB まで無料です。使ってみては如何でしょうか。
その他無料のものはココで見れます。
そんな GCP ですが簡単なベンチを取ってみました。
下は "Hello World" と書かれた html ファイルを吐き出す apache に ab でアクセスした結果です。
GCP 内の別ゾーンと、全く別の外部ホストからアクセスしてみました。並列度と回数はこんな感じで。
ab -c 100 -n 10000 http://TARGET_IP/test.html
VM なので同じホスト上のゲストに足を引っ張られるし、多数のスイッチ類の混み具合でだいぶ違うようです。
なので、あくまでも目安として、ふーん、ぐらいで見てください。
- micro(共有vCPU x 1、メモリ 0.6 GB)
- small(共有vCPU x 1、メモリ 1.7 GB)
- n1-standard-1(vCPU x 1、メモリ 3.75 GB)
- CPU 1発の連中は結果がほぼ同じです。
- 別ゾーンから: 4,500 ~ 7,200 req/s
- 外部ホストから: 1,800 ~ 3,200 req/s
- n1-standard-2(vCPU x 2、メモリ 7.5 GB)
- 別ゾーンから: 8,000 ~ 13,000 req/s
- 外部ホストから: 2,200 ~ 3,600 req/s
- n1-standard-4(vCPU x 4、メモリ 15 GB)
- 同一ゾーン別ホストから: 15,000 ~ 22,000 req/s
- 外部ホストから: 3,800 ~ 4,500 req/s
最後に、この VM の打たれ強さを書いておきます。n1-standard-1 に対してベンチで負荷をかけまくっているとロードアベレージが 200 とか行くんですが、この間、SSH は全く切れず、何事もなかったかのように動作します。まるで何も負荷がかかっていない無風状態かのように、です。LA がここまで行っちゃうと普通は Shell が全く叩けず、SSH も切断され再接続すら出来なくなりますよね。再起動するしか無い。なのに普通に動く。ブラウザでアクセスすると全く反応が帰ってこないので Apache は確かにアップアップにはなっているんですけどね。不思議パワーです。
なんじゃこいつ、もっといじめたる、と Apache のプロセス数をメモリがパンクする程に増やして叩いてやったら LA が400超えたあたりで流石に音を上げて SSH ぶち切られました。ですがシリアルコンソール経由ではつなげる事ができて、コンソール画面に Out of memory のメッセージが、ガーーッと出続けていました。
VM って LA の値がおかしくなることはあるんですが、普通は LA が低いのにやったら遅い、とかじゃないですか。他のゲスト VM に足引っ張られて遅くなっているんだけども、自分の VM からはそれがわからず、LA に反映されない、みたいな。それの逆ですからね。理解不能です。
底抜けの強さを感じましたね。Google の謎テクノロジーですね。怖いインタネッツですよ。