前提
- Windows10
- Proxy配下のLANでの環境セットアップが必要
やりたいこと
Windows開発環境にGoogle Cloud PlatformSDK(gcloudコマンド)を導入したい.
セットアップのハマりどころ
-
Google Cloud SDK のインストーラ を用いるのが一般的だと思いますが、Proxy環境下ではインストール中にクラッシュします(!)
-
Download failed: HTTP/1.1 503 Service Unavailable
が出て、インストーラがハングして動かなくなります - そのため、インストーラではなく非対話式の方法にてインストールする必要があります
-
- Proxyの設定がgcloud initからうまく行かないが,環境変数を設定することで,コマンド自体は使えるようになる
- 予めインストールされていたPythonのバージョンによっては gcloudコマンドが実行できなくなる場合がある
- Pythonプログラム内部でエラーが発生した場合にはPythonをアンインストールするなどすると動くようになる
導入方法
セットアップのハマりどころに書いてある理由のため、インストーラを利用せずセットアップする必要があリます。
-
- ダウンロードしたファイルをC:\Program Files に展開
-
- 環境変数の追記と追加
環境変数追加手順
# ※GUIから設定する場合は、Windowsキーを押して,「env」と入力,「システム環境変数の編集」を押すことで変更しても良い
SETX /M PATH "%PATH%;C:\Program Files\google-cloud-sdk\bin;"
SETX HTTP_PROXY "http://yourproxy.domain.name:8000"
SETX HTTPS_PROXY "http://yourproxy.domain.name:8000"
-
- コマンドプロントの再起動
- システム環境変数を
SETX
で書き換えた場合、再起動しないと有効にならないため
-
- gcloud auth login して任意のコマンドを実行
GCP認証
gcloud auth login
上記のコマンドを実行することで,ブラウザが立ち上がりますので,自分のアカウントでログインしていただき,許可を押してください.
すると,コマンドプロント画面に戻って任意のコマンドを利用することができるようになります.
-
- 動作確認
認証が成功すると、バケットの一覧を取得したり、GCEインスタンスの一覧を取得することができます。
コマンド確認
$> gsutil ls -p <your-project-id>
gs://test-bucket/
(略)
$> gcloud compute instances list --project test-project
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
gke-standard-cluster-1-default-pool-xxxxxxxx-xxxx asia-northeast1-a n1-standard-1 10.xx.x.x 35.xxx.xx.xx RUNNING
gke-standard-cluster-1-default-pool-xxxxxxxx-xxxx asia-northeast1-a n1-standard-1 10.xx.x.x 35.xxx.xxx.xx RUNNING
gke-standard-cluster-1-default-pool-xxxxxxxx-xxxx asia-northeast1-a n1-standard-1 10.xx.x.x 35.xxx.xxx.xx RUNNING
(略)
コマンドが動いていることがわかりますね.
#所感
- プロキシの設定をgcloud initで行おうとするとうまく行かないが,ログインすればgcloudの諸コマンドは問題なく実行することができた
- コマンドがちゃんと動くのは気持ち良い!
- 環境構築難しい