uzullaがブログスマートフォン用の表示で見るuzullaがブログuzullaがブログです。Engine(以後GCE)が使われたわけですが、これが本当に便利だなーとおもったわけです。cloud.google.com初期登録のクレジットもあまっていますし*1、しばらくこれを仕事でも使うかな〜〜って思って使っていたら、これは大層便利だとおもったのでそのまとめです。私に対するカンペでもある。GCPとかGCEとか全然名前がおぼえられない。Google...Compute...Cloud...、ちがう、それだとGCCだ...。いわゆるEC2GCEはいわゆるAWSのEC2です、EC2がわからない人は多分ここに来ないだろうから省略。違いは沢山ありますが、今回はgcloudコマンドの存在について書きたい。Storageなど色々あったりなかったりするんですが、省略。gcloudがどう便利なのか私は普段、100台サーバーを立てたりする事はほぼ無く、「あ〜っ、今すぐすごい早いLinuxインスタンスがほしい!」「三日間くらい、デモのために雑なウェブサーバーが必要だ!」そのような用途でクラウドをよく使います。いままではVultrというVPSをつかっています。VultrはVultrですごい便利なので皆さん是非どうぞ、CLIが嫌いな人にはVultrのほうが簡単なWeb管理画面*3で済むので最高だと思います...まあ、最終的にはsshするんだが。gcloudコマンドをつかうと、以下のような操作が簡単に可能です。インスタンスの一覧取得、IPアドレスもインスタンスの起動、終了インスタンスへのssh「こんなの別にコマンドでできなくてもいいじゃん、ウェブ管理画面でいいじゃん」って思うでしょう、私もそう思っていた。初期設定、GCPのアカウントを作って、gcloudコマンドの用意GCPにアカウントをつくってgcloudコマンドをいれて管理画面をひらいてプロジェクトを一個つくるここら辺はネットにいくらでもあるのでググろう。最近のやってみた系記事はQiitaで検索すると早いんじゃなかろうか。gcloudに、ゾーンとプロジェクトを保存しておくゾーンはEC2のAZである(説明略)。プロジェクトは...プロジェクトである。AWSにはストレートに繋がる概念は無い気がする。AMIはアクセス範囲の制限だが、AWSで同様な形が必要なら、アカウントをもういっこ作ると思う(あるのかな?)。案件毎でアカウントがとっちらかって行方不明になるAWSと違い、案件終了時にプロジェクトをドーンとけせば、内包されるインスタンスもディスクもスナップショットもEIPも全部まるっと消えてくれるので、AWSでよくあるインスタンス落とし忘れで破産だ!!!...とかなさそうなのは良い気がする。project-A-1インスタンスをつくる私はインスタンス作成時にgcloudコマンド使わない。)でポチポチしたほうが楽だから。そんなヌルい私も、10個位サーバーをつくる必要にせまられる事もある。そんな時、GCEでは「ポチポチめんどい...APIを...」とか考える必要がないのだ。管理画面をポチポチした後、最後にCreateボタンをおさずに、その下の「同等のRESTまたはコマンドライン」のコマンドラインのリンクをクリックすれば、なんか以下みたいなのが出るではないか。"work"別にGoogleが開祖ではなかろうが、このスタイルは是非全世界が真似て欲しい。これをエディタでホスト名とかだけ修正してベベベっと実行すれば、インスタンス名が違う10個のサーバーを用意することなど朝飯前だ。自動化?そんなものは俺は知らん。*6ここで一つポイントを挙げると「必要がないなら」サーバーインスタンスの名前をカッコヨクながったらしくつけない方が良い。タイプしやすさが重要だ。test-web-server-001ではない。testで十分である、後で身に染みて解る。自分はworkとか、お客さんの名前とかつけている。いうか1文字でもいいじゃないか。一覧を見るインスタンスを作ればもうブラウザを閉じてかまわない、あとはgcloudコマンドの方が早いからだ。TERMINATEDたとえばこういう出力が出る。すごい、必要な情報しかない。私たちがしりたいのはブラウザで開くための外部IPとSTATUSだろう。私にかぎればバカでかいJSONではない。しなくてもここからコピペできるのだ、すごい。皆さん簡単だというわりにはコマンドが長いと思っただろう。gcloudまでうてば、あとはtabで補完が効くのだが、aliasしよう。Platformつかいこなしマン」であるところのlestrrat-sanは、操作をみているかぎり、まったくaliasしていなくて「マジか」ってなった。私は凡人なので、aliasをそっと.bashrcなどに入れた。workだけでよいだろう。xx.xx.xx.xxuzulla@work:~$これでいきなり自分のユーザー名でログインできたわけだ。...多分説明しないと伝わらないが、ここはスゴくてキモい。「最初にこのコマンドを叩いた時、はじめてサーバーにuzullaという自分のアカウントが作られる」のである。なんと、gcloudコマンドは、勝手にアカウントを追加して、ssh鍵を生成して、勝手にサーバーに公開鍵を登録して、あまつさえsudoerに追加するのだ、どうだまいったか。隅々まで見る人は、インスタンス作成時にssh鍵は登録できる事に気付くだろう*7、しかしあんなものはつかわなくてよいのだ。サーバーに、事前に自分が登録されているか?なんてしったこっちゃないのである!正直にいって、人によっては生理的に受け付けない設計だと思う。私も最初はうけつけなかった。これに慣れてしまうと...ああ...もう...。一つのポイントとして、同一プロジェクトに登録されているユーザーにもこの権利がある*8。自分が参加しているプロジェクトのGCEのサーバーなら、シュッとアカウントができるのだ!もう「貴方の公開鍵登録しておいたから」とかいわなくていい!!便利!!!最高!!!!やっぱキモい!!!!このモードをオフにすることもできるのかもしれないが、郷には入れば郷に従えだ。「UID:500がwebで...」みたいなおじさんはダメなのだ、時代は変わっていくからしかたないのだ(言うほどか?)色々作業する気が済むまでインスタンスを使おう、省略する。終了する作業がおわればインスタンスを止める事になる。EC2同様に停止と削除があり、命令的にはstopとdeleteだ。AWSと違いGCEではTERMINATEというステータスはSTOPという意味らしい。どちらが英語的なニュアンスとしてただしいのかは私にはわからないが、TERMINATEされたものがstartできる事に違和感はある。workaliasすれば(以下略)所で、他のVPSやクラウドで私はstopをつかうことがあんまりない、なんかめんどいからだ。「なんか」という所は私の個人的な感覚なので異論は認める。このgcloudコマンドのstop/start(と、list)の気軽さが非常によいな!と思っている。AWSと比較になるが、GCEは小さいディスクならstop/startが本当に一瞬なのだ*9。思いついてから10〜20秒とかそういうオーダーである。IPもlistすればスッととれる。停止中はディスク料金だけなので勿論お安い。1GBあたり$0.04なので、10GBなら月に50円とかそんな感じ。速度が変わるSSDにすると三倍で150円か。stop'兎に角こんな感じのaliasにしておくと、本当に気軽にインスタンスを上げ下げしてsshでシュッとはいって作業出来て良い。停止しておけば月間で一台あたりせいぜい100円とかである。(起動できるDiskでなく、スナップショットとして保存しているかぎりは、さらに半額に!)こんな手軽なVPS(ではないが)は初めてみたので、大変良いな!と思ってこのエントリを書いたのだった。他のクラウドでそういうことができないという訳ではない。「○○でもそういうことをやるツールがあるよ」というのはまあそうなんだ、しかしデフォルトが兎に角手間がないのが良いですね。(自作してカスタマイズなんて、メールフォームしかつくらないようなPHPerには面倒なんだすまん!!!)gcloudコマンドは本当に人が使うにはよく出来ていて、たとえば補完があったり、実行が同期的なのも実際に使うと良い、最初「コマンドのレスポンス遅い、すぐシェルにもどってほしい」なんて思っていたが、CLIだけで操作するなら同期で実行の結果がわかる方が助かるのだ*11。余談で値段GCEは、激烈に安いということはない($300の初期クーポンはスゴイが)。AWSよりは安いっぽいが、格安VPSのほうがさらに安い。前述したVultrや、IDCフロンティアの月500円からのクラウドや、もうちょっとマシな性能で月1000円のConohaとかにはかなわない。【ConoHa】スマート&パワフルなクラウドの新提案。(ちなみに、これらのVPSは「最低契約期間がない」、クラウドっぽくつかえるものだから書いたので、あらゆるVPSを月額で比較してはいけない)ただ、インスタンスをプリエンティブルモードとかいうヤツで起動すると、「最長24hしか起動できない&Googleの都合によっては1分で終了させられる」代わりに、1CPU3.75GBメモリというマットウなマシンが$0.0165/hourである。*12これだと、仮につけっぱなしで月1400円くらいだろうか...しかし実際にはGoogleお母さんに勝手に終了させられるので、ウッカリつけっぱなしで課金がすごい!という事はないのである。昔のクラウドみたいに、バッツリ電源がおちるとデータが消える、ということも(あんまり*13)ないし、snapshotを取得してたてなおせば普通のインスタンスに(非プリエンティブに)する事も可能である。いえ、プリエンティブルは本当にばっさり電源おとしてくれるし、運が悪いとインスタンスをあげた瞬間に落ちるので、これに頼るのもどうかとは思う。iOSアプリこうなると、「スマホであげたりさげたりしたい」という欲求が生まれるのは当然だろう。Safariならそれなりに操作できる。ほとんどフル操作をすることができるっぽい。細かい画面なので、最近視力が衰えた俺には大変である。大変なだけなんだけど。適当に「クラウドにはそういうツールないかな〜」ってツイットしてみたら、けんじおじさんに「それAWSにはあるよ」と聞いて、マジかそれは便利だなー、Googleもあるかなー...あった〜!ってなった。*14なんと、しれっとsshができる。このsshするというやつがやはり便利である、なんとvimがうごく!最高!やっぱりsshの鍵も自動転送で便利!!*15たとえば...夜に徒歩10分のメシ屋に飯を食べに出かけていて「昨日私がこんなクソ機能もういらないって消すように指示した画面だけど、目の前のお客様が是非見たいっていうんだ。10分以内に見れるようにしてね!もしできなかったら常識的に考えて貴方の全責任で失注ってことで土下座にきてもらうし、そのときは機会損失の賠償額をお渡しします^^」みたいな電話がかかってくるのも頻繁にある事だ。すくなくとも俺にはある。checkoutとか、設定編集とか)がたたけて本当にハッピーですね。「そんなのスマホに事前にsshクライアントをいれればいいじゃない?」って思うじゃん*16?でも、やっぱり事前にiPhoneにサーバー毎の接続情報や秘密鍵をいれておいたり、IPを別の画面からコピペしてきたり、そういうのをするのは面倒なんだよ...察してくれ頼む。ちなみに、一部の人には気になるBlueToothキーボード対応だが、対応はしている。手元のキーボードではESCや、CTRLなどのコンビネーションキーはうまくうごかなかった*17。iOSのSSHアプリは大体同様なので、もうしかたないですね...*18。的な情報お待ちしております。disk-nameデフォルトでは500GBのディスクが作られる。200GB以下だとパフォーマンスが落ちる。指定しないとpd-standard。*1:初期登録で、$300のクレジットがもらえる、すごい*2:AWSにもコマンドあるけど、こっちのほうが人が使うには出来が良い...ような...気がする*3:AWSにせよGCEにせよ、Webの管理画面が結構重いが、Vultrは軽い。Analyticsでは...「俺はもうこの案件かんけーねーのに、なんで延々と○○○キャンペーンみたいなののアクセス解析が一覧に出てくるんだ...検収放置されてるから連絡してもメールレスないし...ウゼェ...」みたいなのはあるかもしれない。個人の趣味によって差がありそう*5:勿論まっさらなサーバー10台とかは無いけど「あのECサイト、お客さんにデモりたいから、明日までに25台よろ〜〜^^」みたいなオーダーを、さっと処理出来るという話である。*6:ちなみに、この例はgcloudコマンド自体には「このやり方古くさいんじゃね?」と文句を言われるのがウケる。nowがやたらと早い*10:ちなみに、容量やインスタンスによって性能が変わる、まあAWSでもにたような制限はある*11:実は失敗してた、とか微妙だし、「終わったかな?」とか毎回詳細をコールしたくない*12:更に下の、smallやmicroもあるけど、常時稼働させないなら誤差ですね*13:ちゃんとshutdownが規定時間でおわれば*14:残念ながら?インスタンスを新しく作る事まではできないっぽい*15:しかし、日本語の入力は簡単にはできないっぽい、残念*16:実際、promptというヤツが手元には入ってる。#01」に参加してきました。»プロフィールid:uzullauzullaがブログです。参加してきました!月別アーカイブ参加グループWindows開発者はてなブログをはじめよう!uzullaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。