Edited at

Google Compute Engineを触ってみた

AWS一辺倒なのもあれなのでGoogle Compute Engine(GCE)を触ってみました。ComputeエンジンというかGoogle Cloud全般ですね。


プロジェクト

GoogleCloudはプロジェクトという単位でものを考えます。Google App Engineや、Google APIをお使いの方にはおなじみかもしれません。

GoogleアカウントのOwnerがプロジェクトを作り、そこにメンバーを招待して、VMインスタンスを作って開発、運用を進めていくという形になります。課金に関してもプロジェクト単位に分けられるようになっています。

数にGCEにまつわる管理アイテムの関連図を示します。(LB、スナップショットなど描いていないアイテムもあります)

管理アイテムの関連図


VMインスタンスを作る

左サイドのメニューからVMインスタンスを選択して新しいインスタンスを作成します。

イチからインスタンスを作る他に、まだベータ版ではありますがRailsやMEANスタックがインストールされたイメージを作成することもできます。

Google Developers Console.png


SSHでつなぐ

AWSと比べて簡単な手順が用意されています。


1. Web画面からSSH

SSHボタンを押すと簡易的なSSHターミナルが開きます

Google Developers Console (2).png

ちょっと反応は鈍いですが簡単にSSHで確認する手段です。


2. gcloudコマンドを使う

SSHボタンの隣の:を押すと後述のgcloudコマンドスニペットを出力してくれます。

gcloud compute --project "upheld-caldron-***" ssh --zone "us-central1-a" "gitlab-o6nr"

これをコマンドラインに貼り付けるだけでSSHキーを~/.ssh以下に自動で配置してSSH接続状態にしてくれるという便利さ。

このコマンドで配置されたSSHキーを指定して普通にSSHコマンドで接続することもできます。

AWS-EC2に比べると管理コンソールもスッキリしていて、接続方法なども簡単になっています。


Google Cloud SDK

何はなくともこのツールが必要です。下記からインストールをしましょう。

https://cloud.google.com/sdk/#download


Google Cloud SDK contains tools and libraries that enable you to easily create and manage resources on Google Cloud Platform, including App Engine, Compute Engine, Cloud Storage, BigQuery, Cloud SQL, and Cloud DNS.


今までバラバラだったツールがこのSDK一本にまとめられたようです。

今回使用するのはSDKに含まれるgcloud,gcutilというコマンドラインツールです。


gcloud

$ gcloud help

NAME
gcloud - manage Google Cloud Platform resources

SYNOPSIS
gcloud
GROUP|COMMAND
[--format FORMAT]
[--help]
[--project PROJECT]
[--quiet, -q]
[--user-output-enabled USER_OUTPUT_ENABLED]
[--verbosity VERBOSITY]
[-h]

DESCRIPTION
The gcloud CLI manages authentication and local configuration, as well as your
interaction with the Google Cloud Platform APIs.



まずは認証する

コマンドを使用するためには事前に認証してコマンドとアカウントを紐付けておく必要があります。

このSDKはなかなか変わった認証方法になっています。

$ gcloud auth login

Your browser has been opened to visit:

https://accounts.google.com/o/oauth2/auth?redirect_uri=...

既存のブラウザ セッションに新しいウィンドウが作成されました。
gcloud auth login というコマンドを叩くとブラウザが起動されてGoogleアカウントでログインを促されます。そして、使用許諾を求める画面になります。

You are now logged in as [newgyu].
Your current project is [upheld-caldron-***]. You can change this setting by running:
$ gcloud config set project <project>

AWSと比較すると提供されるサービスの数はまだまだ少ないですが、操作性はシンプルで使い勝手は良いのではないでしょうか。

性能、料金などはまた時間をとって調べてみたいと思います。