[ GCP ] メガネと学ぶ GCP (3) VMインスタンスの作成・起動・停止とグループの作成

[ GCP ] メガネと学ぶ GCP (3) VMインスタンスの作成・起動・停止とグループの作成

GoogleCloudPlatform の ComputeEngine に触って見たので、この記事ではその取り扱いについてまとめてみようと思います。

今回触れるのは、ComputeEngine の VMインスタンスを作成、停止、起動する方法と、インスタンス・グループを作成する方法です。

GCPってなに?ComputeEngineってなに?

GCPは、Googleが提供しているパブリック・クラウドサービスです。
ComputeEngine は GCP のコンピュート・ジャンルで提供されているサービスの一つです。

過去記事でそれぞれについてまとめを行なっていますので、よろしければそちらをご覧ください。

[ GCP ] メガネと学ぶ Google Cloud Platform (2) コンピュート・サービスについて

VMインスタンスの作成(コンソール)

ではまず、VMインスタンスを作成していきます。

(1) GCP のコンソール左上のメニューを開き、コンピューティングの中から ComputeEngineを選択します。

(2) ComputeEngine のメニューが開かれるので、VMインスタンスを選択し、「作成」をクリックします。

(3) インスタンスの構成の選択を促されるので、適切なものを選んでいきます。

(3a) リージョンは asia-notheast1 を選びます。ゾーンは a/b/c のいずれかを選択できますが、どれでも良いです。
リージョンとは、リソースを実行する地理的な場所です。ゾーンとは、リージョン内の分離されたロケーションです。

 

(3b) マシンタイプは、インスタンスのメモリ性能の選択です。高性能になればなるほど料金も高額になるので、練習用であれば一番上のmicro構成で大丈夫です。

(3c) コンテナを使用する場合はここにチェックを入れます。今回は使用しません。

(3d) ブートディスクは、インスタンスにインストールするOSです。Windows系Linux系のいずれも選択できますが、ここではLinux系を選択します。

 

(3e) GoogleCloudAPI へのアクセス権についての設定です。ヘルプにある通りで、デフォルトで問題ないです。

(3f) ファイアウォールについての設定です。練習用なのでHTTPを許可します。

 

(3g) 下記をクリックすると、任意設定項目メニュが開きます。
この中では、プリエンティブVMについてのみ触れます。

プリエンティブVMって?

プリエンティブVMは、通常のVMの3割程度の価格で利用できるVMです。ただし、24時間後に必ず停止され、またGCPシステム側の都合により強制停止される可能性があります。サービスレベルも保証されていないため、SLAからも除外されています。一時的なバッチジョブの実行時などに有効な選択肢です。

 

(4) 以上の設定で「作成」ボタンを押すと、VMインスタンスが作成されます。

VMインスタンスの作成(gcloud)

VMインスタンスは、Cloud SDK ツールの gcloud コマンドでも作成することができます。

(1) GCPコンソールの右上にあるターミナルボタンから、Cloud Shell を起動します。

 

(2) shell上で下記のコマンドを実行し、指定のプロジェクトの下にインスタンスを作成します。

gcloud compute instances create “インスタンス名”  –project “プロジェクト名”

なおコンソール上で設定したようなオプションを設定することもできます。
詳しくは下記ドキュメントを参照してください。
https://cloud.google.com/sdk/gcloud/reference/compute/instances/create

 

(3) shell上で下記のコマンドを実行し、VMインスタンスが作成されていることを確認します。

gcloud compute instances list

今回はほとんどオプションを設定していないので、zoneやマシンタイプがデフォルトで作成されていることが確認できますね。

 

作成したインスタンスの停止・起動

インスタンスは作成した時点では起動されています。起動状態は、ComputeEngine の VMインスタンス 項目から対象のインスタンス名の横のステータスが緑であるかどうかで判断します。

インスタンスを停止するには、対象インスタンスを示すレコードの一番右のメニューから「停止」を選択します。

インスタンスが停止されると、ステータスは灰色に変化します。

インスタンスが停止している状態では、インスタンスの構成を変更することができます。
停止したインスタンスの名前をクリックした先で「編集」ボタンを押すと、インスタンスを作成した時の画面に遷移し内容を編集することが可能です。例えばマシンタイプのグレードダウン・アップなどの操作が行えます。

インスタンスを再起動したい時には、停止を行った時と同じプルダウンをクリックし、「起動」を選択します。

インスタンスグループの作成

インスタンスグループってなに?

インスタンスグループとは、複数のVMインスタンスを束ねて扱う管理方法です。インスタンスグループには次の2種類があります。

マネージド・インスタンスグループ

マネージド・インスタンスグループは、インスタンス・テンプレートを使用して作成されるインスタンスグループです。リソースに過不足が生じた場合、自動的にスケーリングし、グループ内のVMインスタンス数を制御します。またマネージドなインスタンスグループ内では、負荷分散サービスを利用してトラフィックを全てのインスタンスに振り分けることができます。このグループ内のインスタンスを全て同一ゾーンに設定するパターンと、個別のゾーンに設定するパターンとが存在します。

非マネージド・インスタンスグループ

非マネージド・インスタンスグループは、グループへのインスタンス追加・削除などの操作を任意に行えるグループです。自動スケーリングやテンプレートの仕様に対応していないため、マネージドが適用可能であればそちらの使用が推奨されます。

 

マネージド・インスタンスグループの作成

ここでは練習として、マネージドなインスタンスグループを作成して見ます。

(1) まずはテンプレートを作成しましょう。ComputeEngineメニューの「インスタンステンプレート」項目を選択肢、「作成」をクリックします。テンプレートの内容自体は、単一のインスタンスを作成するときの設定項目と同様なのでここでは説明を割愛します。

 

(2) テンプレートが作成できました。右上の方にメニューが出現するので、その中から「インスタンスグループを作成」を選択肢、グループを作成します。

 

(3) グループの設定画面に遷移しました。いくつかの項目を確認していきましょう。

(a) グループ内インスタンスのロケーションを設定します。単一ゾーンに全てのインスタンスを配置するか、複数のゾーンにインスタンスを配置するかを選択できます。単一ゾーンの場合はレイテンシが小さくなり、複数ゾーンの場合には耐障害性が向上します。

(シングルにチェックを入れたとき)

(複数にチェックを入れたとき)

(b) グループタイプを選択します。テンプレートを使用できるのはマネージド・タイプのみなので、マネージドを選択します。

(c) 使用するテンプレートを選択します。自動スケーリングでインスタンスが追加される時には、全てのインスタンスがこのテンプレートにしたがって作成されます。

(d) 自動スケーリングについての設定を行います。
スケーリングを行う条件であるスケーリングポリシーを選択し、どのような時にインスタンスを追加、あるいは削除するかなどを指定します。
画像の設定では、「各インスタンスのCPU使用率が6割を保つようにインスタンス数を制御する。ただしインスタンス数は1~10の間に収まるものとする」と指示されています。

上記のような設定を行った上で「作成」ボタンを押下することで、インスタンスグループが作成されます。特に負荷もかけていないので、初期状態でのインスタンス数は1になっていますね。

まとめ

今回は、VMインスタンスの作成・停止・起動と、VMインスタンス・グループの作成を実践して見ました。

もう少しやって見たいことがあったのですが、画像を多用してしまったせいで長くなったので次の記事のテーマにしようと思います。

以上です。ここまでご覧いただき、ありがとうございました!

 

参考

Webサイト

https://cloud.google.com/docs/
https://www.topgate.co.jp/gcp03-google-compute-engine-launch-instance

書籍

「Google Cloud Plarform エンタープライズ設計ガイド」日経BP社

GoogleCloudPlatformカテゴリの最新記事