new takyam();

Qiitaぽい話はQiitaに書いていくことにする気がする http://qiita.com/takyam

Google Computing Engine 触ってみた

AWS対抗の「Google Compute Engine」がGAに 値下げや対応OS追加を発表 http://www.itmedia.co.jp/enterprise/articles/1312/04/news052.html

的なニュースが流れてたんで、日曜から使い始めたAWSのsmallインスタンスをそっ閉じして、GCEのスモールインスタンスを立ち上げてみた。

  • EC2 : $0.060/h == $43.2/month
  • GCE : $0.054/h == $38.9/month

というわけで、気持ち安い。 GCEはUSかEUしか無いけど。

とりあえずインスタンス適当にデフォルト状態で作って、初ログインしようとしたんですが、まず、gcutil Toolというのをインストールしなきゃいかんらしい。 インスタンス情報とかみても大した情報なくて、「SSH」ってボタン押すと、「このコマンド叩けやぼけー」って言われる

gcutil --service_version="v1" --project="プロジェクト名" ssh  --zone="ゾーン名" "インスタンス名"

んで、gcutil Toolsインストールして、言われた通りコマンド叩いたら怒られる。

There is no currently active account.
You can activate an already-authorized account with
 $ gcloud config set account <account>
or authorize a new account with
 $ gcloud auth login
or any of the other gcloud auth subcommands with
 $ gcloud auth --help

gcloudって何やねん、と思ったけどとりあえず言われた通りにやる。

gcloud config set account **********@gmail.com
gcloud auth login

そしたらいきなりChromeでOAuthの認証画面開いてビビる。 Chromeで開いたWEB画面から認証OKしたら、コンソール上で「認証できたで!」って言われる。 謎技術。

gcloud auth login                                                                                                                                    
Your browser has been opened to visit:

    https://accounts.google.com/o/oauth2/auth?scope=なんやらーかんやらー

You can list your projects and create new ones in the Google Cloud console at https://cloud.google.com/console. If you have a project ready, you can enter it now.
Enter a cloud project id (or leave blank to not set): プロジェクト名
You are logged in as ************@gmail.com.

んでもってようやくgcutilコマンド叩いたらびっくり

gcutil --service_version="v1" --project="プロジェクト名" ssh  --zone="ゾーン名" "インスタンス名"
WARNING: You don't have an ssh key for Google Compute Engine. Creating one now...
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
INFO: Updated project with new ssh key. It can take several minutes for the instance to pick up the key.
INFO: Waiting 300 seconds before attempting to connect.

鍵勝手に生成すんのはいいとして、マジでリアルに5分くらい待たされた。 思わずブログ記事書き始めるくらい待たされた。

NFO: Running command line: ssh -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /path/to/.ssh/google_compute_engine -A -p 22 ユーザー名@インスタンスIP --
Warning: Permanently added 'インスタンスIP' (RSA) to the list of known hosts.
Identity added: /path/to/.ssh/google_compute_engine (/path/to/.ssh/google_compute_engine)
[takyam@takyam-test~]$

みたいなーかんじでSSH接続できた。面倒くさい。 とりあえずログイン直後にdfとfree叩いてみた。

[takyam@takyam-test ~]$free
             total       used       free     shared    buffers     cached
Mem:       1741488     183916    1557572          0       8804      47256
-/+ buffers/cache:     127856    1613632
Swap:            0          0          0
[takyam@takyam-test ~]$ df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/sda1             10319160    918852   8876124  10% /
tmpfs                   870744         0    870744   0% /dev/shm

10GBのディスクのうち10%は使われてるから、このままだと実質9GBしか使えないね!課金乙!

[takyam@takyam-test ~]$ cat /etc/centos-release
CentOS release 6.4 (Final)

CentOSは6.4みたい。

[takyam@takyam-test ~]$ sudo service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

SSHくらいしか通ってない?(適当)

とりあえず適当に/etc/sysconfig/iptables書き換えて80を許可

[takyam@takyam-test ~]$ sudo service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
6    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

この状態でApacheいれてみたけど繋がらない。アレか。

GCEのWEBコンソールの左メニューの「ネットワーク」から「default」を選んで「ファイヤーウォール」のところ見ると、10.0.0.0/8 の全てと 0.0.0.0/0のtcp:22以外しか通るようになってないっぽい。 これまた適当に0.0.0.0/0のtcp:80を通すように設定すると、ようやくhttpd見れた。

というわけで割と普通でした。

感想としては、EC2と比較して日本円で500円程安いだけの事はあるな、という感じ。 AWSがイケてるUI提供してるとは微塵も思ってなかったけど、 GCEと比べると全然いけてるなと感じる。比較って大事。

コンソールとかのレスポンスが微妙にモッサリするのはUSリージョンだからかなぁと想像。

いやぁ、AWSの東京リージョンって素敵ですね。

まぁクラウドの価値ってこんなんじゃ測れない部分にあるんで、 別にだからどうしたって事でもないんですが、 久しぶりにブログ書かなきゃな‐って気がしたので書きましたとさ。