この記事は,マイナビ Advent Calendar 2019 3日目の記事となります.
やりたいこと
クラウド(GCP)上のマシンを作業に使っています。作業を行っていない期間にインスタンスの停止をしないと料金がかさんでしまうのですが、いちいちコンソールを開いたりコマンドを叩くのはめんどうでした。
ローカルのPCを立ち上げるとGCEインスタンスが立ち上がり、シャットダウンすると同様にシャットダウンするようにしたい!
windowsのローカルグループポリシーを使うことで、簡単に設定をすることができました。
ローカルグループポリシー
ローカルグループポリシーはその名の通り、ローカルなコンピュータに設定を行う方法です。
スタートアップ・シャットダウンスクリプトの設定や、パスワードの長さ制限などを行うことができます。
#手順
Google Cloud SDKのインストール
ここを参考に。gcloudコマンドが実行できることを確認してください。
ローカルグループポリシーの設定
ここを参考に。「ファイル名を指定して実行」で「gpedit.msc」を実行し、ローカルグループポリシーエディタを起動。今回は作業用ユーザーでのみスクリプトを実行したいので、「ユーザーの構成」→「Windowsの設定」→「スクリプト(ログオン/ログオフ)」を選択。
起動の設定方法は「ログオン」→「追加」から、「スクリプト名」にgcloud.cmdのパスを「スクリプトのパラメーター」に起動用のパラメータ(compute instances start インスタンス名 --async
)を設定。
ログオフのも同様に停止用スクリプト(compute instances stop oz-sample --async
)を設定。
--async
しないとインスタンスの起動/停止を確認するまでコマンドが停止しないため、2分ぐらい待つことになるので注意。
動作確認
GCEインスタンスが立ち上がっていることを確認
ローカルPCをシャットダウンして、スマホアプリで停止を確認
ローカルPCを立ち上げて、スマホアプリ上で起動していることを確認
ちゃんと起動/停止してくれているようです!(スマホアプリ便利)
雑感
ログオン・ログオフのスクリプトを設定すれば、ほかにもいろいろはかどるかもしれません。たとえばログオフ時に自動でタイムカードに打刻したりでしょうか?いろいろできそうですね。
リンク
https://cloud.google.com/sdk/docs/quickstart-windows?hl=ja
http://pineplanter.moo.jp/non-it-salaryman/2018/07/03/win10-gpedit/