こんにちは。CTOの馬場です。
最近GCE(Google Compute Engine)やDocker連携などで盛り上がっている、 Google謹製クラウド GCP (Google Cloud Platform)を使ってみましょう。
今回は概要と、GCEでインスタンスを立てるところまでやってみます。
GCP?GCE?
GCP = Google Cloud Platform で、いろいろなサービスの総称です。
- Amazon Web Services, Incの「Amazon Web Services」
- Google Inc. の「Google Cloud Platform」
それぞれいろいろなサービスラインナップがあり、 競合するもの・しないものがあります。
以下の表は互換性があるとかではないですが、 分野的なところがかぶっているよというのをイメージしてもらいやすいと思います。
※誤解などあれば教えてください!
AWS | GCP |
---|---|
EC2 | Compute Engine |
EBS | Persistent Disk(GCE) |
S3 | Cloud Storage |
RDS | Cloud SQL |
Route53 | Cloud DNS |
DynamoDB | Cloud Datastore |
RedShift | BigQuery |
IaaS的なみかたをすると上記のようなAWSとの比較になりますが、 じつは GAE (Google App Engine)もGCPファミリーのプロジェクトです。
Webコンソールからアカウントをセットアップしてプロジェクト作成
GCEはGoogleのアカウントを使ってログインします。
ログインしたあとにプロジェクトを作成し、 プロジェクトごとに支払情報などを登録します。
ブラウザで利用できるGCPのWebコンソールは https://console.developers.google.com/ にあるのでまずはアクセスします。
お手持ちのgoogleアカウントでログインしましょう。
そうするとプロジェクト一覧の画面になります。
この画面になったら Create Project
ボタンを押すとプロジェクト作成ダイアログが表示されます。
PROJECT NAME
は自分の好きな名前(今回はSandbox Project)、
PROJECT IDは提案されたものを使えばいいかなーと思います。
数分待つとプロジェクトが作成され、作成したプロジェクトのOverviewに遷移します。
請求情報を登録
インスタンスを立てたりするには請求情報を登録しないとなりません。
Overviewの画面で Create Instance
などを押すと請求情報の登録を促されます。
ポチポチと入力していきます。
全部英語ですが、特にわかりづらい単語はないので大丈夫でしょう。 お支払いはクレジットカードになります。
登録が完了するとインスタンスの起動などができるようになります!
インスタンスを起動する
それではインスタンスを起動しましょう。 まずはコンソールからCompute Engineを選択し New instance します。
次にスペックを設定します。
- NAME: インスタンス名
- METADATA: インスタンスのメタデータ(任意)
- ZONE: ゾーン
- ゾーンごとにメンテナンスウィンドウが設定されているので、可用性が欲しい場合はマルチゾーンにする
- us-central1-a/b, europe-west1-a/b, asia-east1-a/bがあります(2014/6/4現在)
- MACHINE TYPE: マシンタイプ
- micro/small/standard5種/highcpu4種/highmem4種
- たいしてCPU使わないけど常時稼働させたい用途のf1-micro/g1-smallなんてのもあり
- 一覧(タブですが)はこちら https://developers.google.com/compute/docs/machine-types
- BOOT SOURCE: 既存Disk/snapshotを利用するか、新規Diskを使うか
- Delete boot disk when instance is deleted: インスタンスを削除したときにboot diskも消すか(現時点ではboot diskは揮発性のephemeralのみのようです)
- IMAGE: 利用するイメージ
- デフォルトでdebian7/centos6/sles-11/rhel-6がありました
- NETWORK: 最初はdefaultのみ
- EXTERNAL IP: None/Ephemeral/Static IPを選べます
全て入力して30秒くらい待つと・・・
インスタンスが起動します。 すごい速い!これは感動します。
一覧からインスタンス名をクリックすると詳細が表示されます。
SSH
のボタンを押すと、GCP用のCLIツール gcutil
を使ったログイン方法が表示されます。
これを実行できるようになるために、手元のPCにgcutilをインストールしましょう。
GCPクライアントツールを手元にセットアップする
GCPクライアントツールであるgcutil手元の環境にセットアップしましょう。
インストール方法はgoogleのdevelopersサイトにあります。 https://developers.google.com/cloud/sdk/
MacOSX/Linux/Cygwinの場合は1行実行するだけです。
インストールしたあとは gcloud auth login
で認証を取得し、
gcloud config set project
で取り扱うプロジェクトをPROJECT IDで指定します。
curl https://sdk.cloud.google.com | bash
gcloud auth login
gcloud config set project xxxx-xxxx-999
ここまでくればあとはSSHでログインできます。
[baba@local ~]$ SSH_AUTH_SOCK= gcutil --service_version="v1" --project="xxxx-xxxx-999" ssh --zone="asia-east1-b" "instance-1"
INFO: Running command line: ssh -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /Users/baba/.ssh/google_compute_engine -A -p 22 baba@xxx.xxx.xxx.xxx --
Warning: Permanently added 'xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
Enter passphrase for key '/Users/baba/.ssh/google_compute_engine':
[baba@instance-1 ~]$
やったね!
30秒でインスタンスが起動するの、かなり感動します。 ぜひお試しあれ。