VMインスタンスが立たない!

GCPマジわからん! こんにちは元無職です
今回はここ数日で頑張ったことを書きます

頑張ったこと

  1. GCEでVMインスタンス(GPU)を立てる
  2. ディープラーニング環境構築(Docker + PyTorch)

前編として、1の躓きについてメモ

VMインスタンスを立てたかっただけなのに

クラウドに環境構築したかったのでGCPを使ってVMインスタンスを立てる事にしました。

まず、GCPのナビゲーションメニューからCompute Engine を選択し、VMインスタンスを選択します。すると、VMインスタンス一覧が表示されます
f:id:sasassasadango:20200303125308p:plain インスタンスを作成ボタンを押下します。

インスタンス作成画面で設定した項目は以下です。

  • 名前
    • 適当に
  • リージョン
    • us-central1を選択しました
  • ゾーン
    • GPUリソースが使える場所を選択(GPUプラットフォーム欄が変化)
  • マシンの構成
    • マシンタイプをn1-standard-4 (4 vCPU, 15 GB メモリ) に変更
  • GPUプラットフォーム
    • 上で選択したリージョンとゾーンでは、NVIDIA Tesla T4 が使用できたのでこれを1枚選択
  • ブートディスク
    • OSはUbuntu、バージョンはUbuntu 18.04 LTS。標準永続ディスク100GBで設定
  • ファイアウォール
    • HTTP トラフィックを許可するにチェック

一番したの作成ボタンを押下するとインスタンスが作られます。書いていない項目はいじっていないです。また、リージョンとゾーンによって使用できるGPUの種類が異なるので注意してください。

ここで、GPUリソースを使用するので割り当ての確認をしておきましょう。
割り当てについてはGCPのナビゲーションメニューのIAMと管理から確認できます。 f:id:sasassasadango:20200303164604p:plain 指標と場所欄からインスタンス作成の際に選んだGPUなどのリソース割り当てを確認します。忘れてはいけないのは、指標でGPUs(all regions)を選択し場所でグローバルも確認することです。 アカウントに対してリソース割り当てがなされていないとインスタンスを立ち上げる際にエラーとなります。

Quota 'GPUS_ALL_REGIONS' exceeded. Limit: 0.0 globally.

これが何回も出て画面を叩き割りそうになったのは秘密です。

インスタンスが立ち上がったらSSH接続を確認してみましょう。
インスタンスを作成する際に、ファイアウォールの設定でHTTP トラフィックを許可するにチェックを付けました。GCPナビゲーションメニューのVPCネットワークファイアウォールルールから詳細を設定できます。
デフォルトではポート80空いてるし、IP全通しだからたぶんSSHできるでしょうということでこの辺は割愛。 SSH接続方法もたくさんあるしね。

後日談

インスタンス立ち上げっぱなしで課金されるので使用しない時は停止していたのですが、使用しようと思ってインスタンスを開始した際にエラーが出ました。

The zone 'projects/hogefuga/zones/us-central1-b' does not have enough resources available to fulfill the request. '(resource type:compute)'.

は?
リソース割り当ても確認してちゃんと使える状態だったしなんなんだと思って調べると、物理的リソースが余っていないとこんなエラーが出るらしい。待てばリソースは空くらしいが…。
待つのは嫌いなので、インスタンスのスナップショットをとってゾーンを変更して新しくインスタンスを立てました。 インスタンス立ち上げっぱなしならこんな事にはならないんだろうけどさ!
対処方法を探しています。

以上。ポチポチやるだけなのに躓くって…