GCPでインスタンスを作成 [初心者向け]

GCPでインスタンスをたてるまでの手順を紹介.

Compute Engineでインスタンスの作成

Compute EngineはAWSでいうところのEC2インスタンスにあたり,機械学習のアプリケーションを動かすためのサーバーが作成できるサービスである.

ではGCPでのインスタンス作成に移ろう.

プロジェクトの作成までの手順はスキップさせていただく.

まずは,GCPで作成したプロジェクト画面を開き,左側のメニューからCompute Engine > VMインスタンス を選択.

VMインスタンスを選択

そうすると,以下のような画面がでてくる.

初回起動の場合は,準備のために時間がかかるようだ.

この準備が完了すると,「作成」ボタンがクリックできるので,クリック.

VMインスタンス選択後の画面

次に各種設定を行うメニューがでてくる.

いいnいんインスタンス設定画面

詳細は割愛するが,私はマシンのシリーズをE2に,マシンタイプをe2-highmem-8(8 vCPU, 64GBメモリ)に設定.

さらに,ブートディスクをUbuntu 18.04 LTSに,永続ディスクを128GBに設定.

今回はGPUを付けずにインスタンスを作成.

また,IDとAPIへのアクセスで,アクセススコープをすべてのCloud APIに完全アクセス権を許可を設定.

Tensorboardも使いそうだったので,ファイアウォールでHTTPトラフィックを許可するを設定.

設定後,作成ボタンを押すとインスタンスが作成される.注意:このボタンを押すとインスタンスを停止するまで課金が発生

作成後はこのような画面に遷移する

作成後,インスタンスを止めたい場合は,遷移後の画面のインスタンス項目の右側についている点が縦に三つ並んだボタンを押して,停止を選択する.

遷移後の画面を観察すると,外部IPが割り当てられていることがわかる.しかしながら,初期設定では固定されていないので,次の作業で固定する.

左上にある三本線のメニューから「VPCネットワーク」を選択し,「外部IPアドレス」を選択.

IP固定のため外部IPアドレスを選択

次にでる画面で,種類の箇所を選択し,以下のように「静的」にしてクリック.

すると,以下の画面がでてくるので,ipアドレスを区別するための任意の名前を設定し,「予約」をクリックすると,IPが固定される.

SSHでインスタンスに接続

手順はローカルで鍵を作成し,公開鍵を該当のインスタンスに登録するものとなる.

まずは,ローカル(接続元のPCでGCPインスタンスとは異なる)で以下のコマンドを打ち込み鍵を作成する.

ssh-keygen -t rsa -b 4096 -C "yourmail@example.com"

引数の意味は以下で,詳しく調べていないがGCPではこのようなコマンドで鍵を生成するのが一般的なようだ.

-t rsa(RSA方式)
-b 4096(4096ビット方式)

コマンドを打ち込むと,3回質問があり,1回目がこの場所に鍵を作って良いか? 2回目と3回目がパスフレーズの設定である.1回目の質問で,”my-gcp”などと打ち込むとその名前の鍵になるので,ここで設定しておいた方が楽だ.2回目以降の質問はエンター(パスフレーズを設定しない)でも良い.

無事,鍵を作成したら次は公開鍵をGCPに登録する作業だ.

Compute EngineのVMインスタンスのメニューに移り,先ほど作成したインスタンスの名前をクリック.すると「VMインスタンスの詳細」が出現する.

この画面の右上にある「編集」ボタンを押し,「SSH認証鍵がx個あります」の下のほうにある「項目を追加」をクリックし,そこに先ほど生成した公開鍵(拡張子が*.pubのもの)をメモ帳などで開き,その文字列をコピペする.

コピペが完了したら,ページ最下部の「保存」をクリック.以上で作業完了だ.

あとはローカルのコンソールで,

ssh -i ~/.ssh/my-gcp yourmail@xx.xx.xx.xx

と打てば,接続できるはずだ.

yournameはユーザーネームで,SSH認証鍵をGCPに登録した時,左側に表示される名前だ.

この手順の場合は,ssh-keygenの際,”yourmail@example.com”を指定したため,ユーザーネームは”yourmail”になる(@以降はユーザーネームに入らない).

Pocket