日: 2019年1月19日

  • Google App Engineをコマンドで起動停止する

    Google App Engineをコマンドで起動停止する

    はじめに

    コマンドでGoogle App Engineを停止する。 
    前提条件としてgcloudコマンドがインストールされてあること。

    script

    #!/bin/bash
    set -eu
    
    env=$1
    method=$2
    
    # allocations ID取得
    ID=$(gcloud app services describe $1 | tail -n1 | awk '{print $1}' | sed "s/://g")
    echo $ID
    
    if [ $method == 'stop' ]; then
        gcloud app versions stop $ID -q
    elif [ $method == 'start'  ]; then
        gcloud app versions start $ID -q
    else
        echo ‘check your parameter’
    fi
    
    gcloud app versions list

    引数にサービス名を加えて実行する “` ./script.sh tsukada-test stop “`   “` ./script.sh tsukada-test start “` 本来ならCloudFunctionで実装したかったが、大いにはまってしまったので、急遽この方法で対応した。  

    注意事項

    コマンドを見てもらえばわかる通り、versionの指定はあっても、serviceの指定がない。

    そのため、万が一 service は違うけど、動いているversionが同じ。と言う場合、意図しない方も影響を受けてしまう。

    実はオプションで “` –service “` が用意されている。

    https://cloud.google.com/sdk/gcloud/reference/app/versions/stop?hl=ja

    必要な場合はこのオプションを活用すればよい。