Help us understand the problem. What is going on with this article?

Google Cloud SDK の導入から、GCE のインスタンスを作成するまで

More than 1 year has passed since last update.

Google Cloud Platform を使用する際、Web ブラウザ上からだけではなく、コマンドラインから出来ると何かと便利。Cloud SDK を使用すれば実現できます。ここでは、Compute Engine のインスタンスを作成するまでの手順を示します。

Cloud SDK のインストール

まず、Cloud SDK を PC にインストールします。手順は Document に詳しく記載されているので、そちらをご参照ください。

参考:クイックスタート

例えば、macOS の場合の流れを要約すると、下記の通りとなります。
1. SDK のダウンロード
2. tarボールを任意の場所に展開
3. 次のコマンドを実行。
$ ./google-cloud-sdk/install.sh
4. 次のコマンドを設定し、初期設定を実施。
$ gloud init

利用できるコンポーネント

次のツールがデフォルトで用意されています。gcloud も、もちろん入っています。
* gcloud
* bq
* gsutil

参考:Google Cloud SDK

現在のコンポーネントインストール状況を確認するには、次のコマンドを実行します。

$ gcloud components list

脱線しますが、例えば kubectl をインストールするには、次のコマンドを実行します。

$ gcloud components install kubectl

gcloud コマンドによるインスタンスの作成

インスタンスを作成する手順をざっくりと示します。なお、gcloud コマンドの詳細は公式リファレンスをご参照ください。

参考:gcloudリファレンス

準備

前提としてプロジェクトを作成し、課金を有効にしておく必要があります。
gcloud コマンドのコンフィグを確認するには次のコマンドを実行します。

$ gcloud config list
プロジェクトの設定

もし、プロジェクトが別のものになっていた場合は、次のコマンドでセットします。

$ gcloud config set project プロジェクト名
ゾーンの設定

次のコマンドで利用できるゾーンの一覧を確認します。

$ gcloud compute zones list
NAME                    REGION                STATUS  NEXT_MAINTENANCE  TURNDOWN_DATE
asia-east1-b            asia-east1            UP
asia-east1-a            asia-east1            UP
...

次のコマンドでゾーンを設定します。ゾーン名は「us-central1-a」など。

$ gcloud config set compute/zone ゾーン名
イメージとマシンタイプの確認

利用できるイメージをマシンタイプを確認します。


$ gcloud compute images list
NAME                                                  PROJECT            FAMILY                            DEPRECATED  STATUS
centos-6-v20180104                                    centos-cloud       centos-6                                      READY
centos-7-v20180104                                    centos-cloud       centos-7                                      READY
...
$ gcloud compute machine-types list
NAME            ZONE                    CPUS  MEMORY_GB  DEPRECATED
f1-micro        us-central1-f           1     0.60
g1-small        us-central1-f           1     1.70
n1-highcpu-16   us-central1-f           16    14.40
n1-highcpu-2    us-central1-f           2     1.80
n1-highcpu-32   us-central1-f           32    28.80

インスタンスの作成

次のコマンドでインスタンスを作成します。イメージは centos-7 、マシンタイプは最小の f1-micro を指定しています。ディスクサイズ無指定時は10GBとなります。

$ gcloud compute instances create インスタンス名 ¥
  --image-family centos-7 ¥
  --image-project centos-cloud ¥
  --machine-type f1-micro

※ --image エイリアスも使えるのですが、将来削除予定とワーニングが出力されます。

WARNING: Image aliases are deprecated and will be removed in a future version. Please use --image-family=centos-7 and --image-project=centos-cloud instead.

ちなみに作成にかかる時間を time コマンドで計測すると 16 秒ほどでした。

real    0m16.389s
user    0m0.620s
sys 0m0.131s

インスタンス作成時に有用なオプション

インスタンス作成の際には、他にも有用なオプションがあります。

オプション 内容
--deletion-protection インスタンスの削除をプロテクト
--no-address グローバルアドレスを付与しない
--preemptible プリエンプティブインスタンスにする

インスタンスへのログイン

インスタンスができたのでログインしてみましょう。次のコマンドでログインできます。

$ gcloud compute ssh インスタンス名

インスタンスへのオペレーション

インスタンスの利用状況確認、起動、停止、削除などのオペレーションも、gcloud コマンドを通してできます。

利用状況の確認
# インスタンスの一覧
$ gcloud compute instances list
NAME           ZONE           MACHINE_TYPE  PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
test-instance  us-central1-a  f1-micro                   10.128.0.2   35.x.x.x       RUNNING
...

# リージョンごとの利用状況
$ gcloud compute regions list
NAME                  CPUS  DISKS_GB  ADDRESSES  RESERVED_ADDRESSES  STATUS  TURNDOWN_DATE
asia-east1            0/8   0/2048    0/8        0/1                 UP
asia-northeast1       0/8   0/2048    0/8        0/1                 UP
...
インスタンスの起動停止
# インスタンスの起動
$ gcloud compute instances start インスタンス名

# インスタンスの停止
$ gcloud compute instances stop インスタンス名
インスタンスの削除
$ gcloud compute instances delete インスタンス名
ao_log
インフラ周りに興味があるエンジニア。ピアノを習い始めました。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした