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

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