(第1回)GCPでオートスケーリング

(第1回)GCPでオートスケーリング

目次

はじめに
Cloud SDKのインストール
インスタンステンプレートの作成
次回予告

はじめに

今回の記事では、2回の連載で、GCPでオートスケーリングを体験してみたいと思います。
AWSでオートスケーリングの構成は作成したことがあるのですが、GCPでは作成したことがありませんでした。
AWSとの違いなど気づいたポイントを解説できたらと思います。

※今回はアカウントの作成など、今回の作業以前の設定などに関しては、省略しています。

Cloud SDKのインストール

AWSではAMI(マシンイメージ)と呼ばれるものがありますが、GCPではインスタンステンプレートという名称です。
インスタンスを自動で生成する際に、どのようなインスタンスを立てるのかという定義がなければ自動での生成が出来ないため、こちらを先に作成します。
オートスケーリングのみならず、今後も同じようなインスタンスを立てる必要がある場合などにも使えるので、作業の効率化などにもつながります。

今回はコマンドラインからこのテンプレートを作成したいと思いますので、GCPのコマンドラインインターフェースであるCloud SDKをインストールします。
本記事ではWindows環境で設定しております。

まず、Cloud SDKがPythonに依存したプログラムとなるので、Pythonの情報を確認します。
サポートされているPythonのバージョンは 3.5 以降、2.7.9 以降です。
以下のコードはコマンドプロンプトでの入力コードです。

> python -V
Python 3.8.2

上記のように確認すると、Pythonはインストールされているので問題ないことがわかります。

次にインストーラーをダウンロードします。
URLはこちらです。

簡単にインストールの流れを説明します。


チェックを入れて、OKを押します。

同意を押して、次に進みます。

利用できるユーザーを選択します。今回は特に他のアカウントで利用する必要もなかったので、ログインユーザーのみとしています。

インストール先を選択します。

ここはデフォルト設定のままで進めました。

インストールの設定はこれで終わりです。
(最後のチェックを外したのは、先にバージョン確認などを行うからです)

インストールが完了したら、バージョンを確認してみます。

>gcloud version
Google Cloud SDK 292.0.0
bq 2.0.57
core 2020.05.08
gsutil 4.50

上記のような表示になっていれば、インストールは完了しております。

次に最新版を取得できるか、念のため確認をしておきます。

>gcloud components update

アップデートするものがあれば、更新が始まります。

そして最後に、初期設定をしておく必要があるので、設定していきます。

>gcloud init

上記のコマンドで、初期設定を進めていきます。

次にログインを求められますので、ログイン情報を入力し、GCPへの情報提供を許可します。

コマンドラインに戻ると、プロジェクトの選択画面になっているので、今回使いたいプロジェクトの数字を入力します。

Pick cloud project to use:

これで初期設定は完了です。

インスタンステンプレートの作成

コマンドラインからの作業が可能になったので、インスタンステンプレートの作成を進めていきます。
(もちろんコンソール画面からも操作できますので、コマンドラインがやりにくい方はコンソール画面から設定してください)

テンプレート作成のコマンドを入力します。

gcloud compute instance-templates create テンプレート名

上記はデフォルト値で作成しておりますが、自分でカスタマイズしたい時は、下記のような形で変更したい項目に値を入れます。

gcloud compute instance-templates create テンプレート名
--machine-type n1-standard-2
--image windows-2019

デフォルトの場合の、各設定内容はこちらを参照ください。

コマンドから作成したテンプレートがCompute Engine → インスタンステンプレートに表示されていました。

コマンドラインから確認したい場合は、下記コマンドで確認が可能です。

gcloud compute instance-templates describe テンプレート名

これでテンプレートの準備は完了です。

次回予告

次回は今回作成したインスタンスのテンプレートを使い、インスタンスグループを作成する予定です。
作成後、AutoScaleのポリシーを決めて、スケーリングを確認するところまでお伝えできればと思います。