2015年2月9日月曜日

Dockerで立ち上げたUbuntuからGCE上のVMを操作する

参考サイト

Google Cloud SDKのページ
Docker上にSSH接続できるコンテナを作成する
gcloud計算コマンドラインリファレンス

準備

Docker上にSSH接続できるUbuntuコンテナがある状態から始めます。
ubuntuコンテナの作成は上記リンクを参照してください。
Google Developers Consoleでプロジェクトは作成済みです。

まずはGoogle Cloud SDKインストールに必要なcurlをインストールする
# apt-get install curl

Google Cloud SDKのインストール

次のコマンドでGoogle Cloud SDKのインストールを行う
# curl https://sdk.cloud.google.com | bash
選択肢は全てデフォルトとしました。

Google Cloud SDKの認証

次のコマンドでGoogle Cloud SDKの認証を行う
# gcloud auth login
  1. urlが表示されるのでブラウザにコピーしてアクセス
  2. アクセスしたページで「承認」をクリック
  3. 表示されたコードをコピーしてubuntuに戻って入力する
これで認証は完了です。

バージョン確認
# gcloud version
Google Cloud SDK 0.9.46

bq 2.0.18
bq-nix 2.0.18
compute 2015.01.22
core 2015.02.05
core-nix 2014.10.20
dns 2015.01.15
gcutil 1.16.5
gcutil-nix 1.16.5
gsutil 4.8
gsutil-nix 4.6
sql 2015.01.31

VM操作

gcloud計算コマンドラインリファレンスを参考にVM操作を行った例です。
VMの作成
# gcloud compute --project プロジェクトID instances create インスタンス名 --zone asia-east1-b --machine-type マシンタイプ --network "default" --maintenance-policy "MIGRATE" --scopes "https://www.googleapis.com/auth/devstorage.read_only" "https://www.googleapis.com/auth/logging.write" --tags "http-server" "https-server" --image "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/backports-debian-7-wheezy-v20150127" --boot-disk-type "pd-standard" --boot-disk-device-name インスタンスID

VMの停止
# gcloud compute --project プロジェクトID instances stop インスタンス名 --zone "asia-east1-b"

VMの起動
# gcloud compute --project プロジェクトID instances start インスタンス名 --zone "asia-east1-b"