Google Compute Engine
Compute Engine - IaaS | Google Cloud Platform
Googleが提供しているクラウド仮想環境サービス。AmazonのAWS EC2と似ている。
スペックは多少弱いが、規約が変更されない限り、一定の制限内でマシンがずっと無料で使える。素晴らしい。
無料の条件
- 1 つの e2-micro VM インスタンス(指定された米国リージョンのみ)1)
- 30 GB の HDD 永続ディスク ストレージ
- 5 GB のスナップショット ストレージ(指定されたリージョンのみ)
- 1 GB の北米から他のリージョン宛て下り(1 か月あたり、中国およびオーストラリアを除く)
これをレンタルサーバとして運用してみる。
雑感
格安+実績のあるサーバレンタルサービスとの簡易比較
GCE f1-micro | さくら ライト | さくら スタンダード | ロリポップ エコノミー | ロリポップ スタンダード | |
---|---|---|---|---|---|
年額 | 無料2) | \1543 | \5142 | \1200 | \6000 |
メモリ | 600MB | ?共有 | ?共有 | ?共有 | ?共有 |
容量 | 30GB | 10GB | 100GB | 10GB | 120GB |
ドメイン | なし | サブドメイン付属 | サブドメイン付属 | サブドメイン付属 | サブドメイン付属 |
SSL | なし | 共有SSL付属 | 共有SSL付属 | なし | 共有SSL付属 |
シェルログイン | ○ | × | ○ | × | ○ |
PHP_module版 | 自由 | × | × | × | ○ |
DB(MySQL) | 自由 | × | ○ | × | ○ |
無料のレンタルサーバもあるが、よく落ちたり、広告が挿入されたり、PHP,Perlなどのバージョンが古かったりと何かしら面倒があるため、レンタルサーバにするなら多少の金額を払った方がいいと思う。
金額
レンタルサーバも十分に安いが、インスタンスが無料というのは大きい。ただし、使うためにはクレジットカードの登録は必要。
無料である一方で、無料分を超えた金額は決して安くは無いので、管理や情報収集を怠ると、いつの間にか無料の制限が変わって課金が発生していたとか、脆弱性を突かれて意図せず踏み台に使われ通信量が数百GBに及んでいたとか、そういう上限の無いリスクはある。
月の課金額が設定した目安に近づいたとき、メールで知らせてくれるサービスもあるので、利用しておくと少しは安心。
普通にWebサイトの公開運用していると、アクセスの少ないサイトでもネットワーク通信(下り)代として数十円/月の課金は発生するので、完全に無料というわけでは無い。 画像を多用したサイトでそこそこアクセス数があったら、下手したら格安レンタルより高くなるかも?
自由度
レンタルサーバと比較して、サーバ構成の自由度は格段に高い。ApacheやPHP、データベースの選択から設定まで好きに出来る。
また、別途課金は発生するが、もし本格的なサイトを作って運用したくなったら、IPアドレスそのままでマシンを高性能にしたり、急なアクセス増加に備えたロードバランシング構成にしたり、ということも可能。今はそこまでのものを作る気は無いけど。
管理コスト、セキュリティ
これはレンタルサーバの圧勝。セキュリティ更新、負荷設計、監視など、GCEは全て自分でやる必要がある。
速度
マシンスペック
無料枠で選べるf1-microは、メモリ600MB、0.2vCPUと、お世辞にも良いとは言えないスペック。
プログラムのビルドなどがっつり計算させる用途ではない。
とはいえ、WebサーバとしてDokuwikiくらいのPHPを処理させるのであれば全然問題ない。万一アクセス集中があると怖いので、別に一時的に繋がらなくなっても平気な個人サイトなら、Apacheで同時接続数制限をかけておくと安心。
また、Linuxのupgradeの際なんか、たまに Cannot allocate memory が発生するので、その際は一時停止してマシンタイプをg1-smallなど1つ上のものにしてから行う。
サーバの立地
北米リージョンのサーバしか無料にならないので、物理的に離れている分、日本国内にサーバがあるサービスよりレスポンスは遅い。
これは特にsshログインでコマンドを叩くとき、入力がすぐに画面に反映されずワンテンポ遅れるときに実感する。だが、Webサーバとして使っている時に気になるほどでは無い。
同じ北米でも西海岸の方が近いため、日本ならus-westから選択するといいらしいのだが、自分はそのことは失念して北米中央リージョンを選んでしまった。それでもまぁ気になるほどの遅延は感じていない。ただしeastのバージニアだけは無料の対象外なので注意。
ドメインとSSL証明書
GCEではこのあたりが付いてこないので、独自に取得する必要がある。
ドメイン
「http://○○.jp/koko/soko/asoko.html」の下線部分がドメイン。GCEからは、ドメインではなく「xxx.xxx.xxx.xxx」という4つの数字で表される“外部IPアドレス”しか得ることはできない。
サーバがネットワーク上の「土地」なら、IPアドレスやドメインは「土地の場所を指し示す」もの。その中で、数字だけで表されるIPアドレスは「緯度経度」といったところか。一応場所は特定できるのだが、人間にはわかりづらい。そこで、日本国、東京、○○区、と名前を付けたのがドメインであり、「住所」に相当する。
IPのままでも「http://xxx.xxx.xxx.xxx」でアクセスはできるので使えないわけではないが、外部公開するならあった方がいいだろう。
当然、全世界で同じ住所が同時に2箇所を指すと郵便屋さんが混乱するので、住所(ドメイン)と緯度経度(IPアドレス)の対応関係を管理してる団体がいる。新しく「ここをのび太国と名付ける!」と宣言したい時には、その団体に申請する必要がある。(世界のドメインを管理しているのは誰? | IPラーニング)
普通にドメインを取ると、だいたい安くて年間¥1200程度。毎年更新が必要。値段は管理団体の有名度などにより上下する。無料で取れるサービスもあるにはあるが、その辺のは攻撃も受けやすく乗っ取りが発生しやすい&あまり長期間は取れないらしいので避けた方が無難。
SSL証明書
このドメインの保持者は身元が保証できますよ、という証明書。暗号化された通信を行うのに必要。
証明レベルにもいろいろあり、登記簿謄本などハッキリキッチリ登録しなければ取得できないものもあれば、とりあえず世界のどこかに保持者が実在はしてるよ、レベルで取れるものもある。もちろん前者の方が信頼度が高く、銀行や大手企業が信頼性を示すために使うが、暗号化された通信を行うために必要という点では一緒。
こんな辺鄙な個人サイトでは無くてもいいっちゃいいのだが、もしhttps通信も可能にしておきたい場合はSSL証明書の取得が必要になる。
SSL証明書はドメインに対して発行される。ドメインがあればLet's Encryptとかで無料で取れる。こちらは無料ドメインと違い、無料でも信頼性はある。
Apacheにも仮の証明書は付属しているが、それ使ってると最近のブラウザでは「ちゃんとした証明書じゃないよ」と警告が出る。大半のユーザは細かいことわかんないので、警告が出たってことだけで危ないサイトだと思われてしまう。それは避けたいし、警告出すくらいならそもそもSSL使わない方がよい。
なので結局、GCE自体は無料とは言え、Webサーバとして運用するならドメイン(と任意でSSL証明書)は自前で必要になる。ドメインは.comなら月額換算¥100くらいか。.jpは信頼性が高い分価格も高くて¥3000~4000くらい。
レンタルサーバでは、共有ではあるがこの辺が付いてくるのが強い。
まとめ
実際問題、個人用Wiki程度の目的でクラウドIaaSを利用するのは、システムメンテナンス面での負荷が大きいため、賢いとは言えないと思う。
ただ、無料~月数百円で借りられるサービスの中では構成の自由度が高く、自分が1台のPCを好きに使えるという感覚は得られる。