AzureAutomationでスマホからazureVMを起動／停止⇒Discordに起動／停止の通知してみた2

間が空いてしまいましたが、
[AzureAutomationでスマホからazureVMを起動／停止⇒Discordに起動／停止の通知してみた1](https://qiita.com/aki_4649/items/14ebed2a6418b91791bc)　の続きです。

今回は作成手順を簡単に書いていきます。


#１．Azureへログインし、Automationアカウントを作成する
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/195dbd72-1bf8-e160-3ccc-8b64401d86b1.png)

#２．VM起動/停止のRunbookは「Runbookギャラリー」にテンプレートがあるので、「Start Azure V2 VMs」「Stop Azure V2 VMs」をインポートする
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/1696ddc2-6d6c-1dac-e104-4b815dde2b34.png)
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/9f690014-aa82-ebac-de64-3e9476de6ae0.png)

#３．インポートされたことを確認。「Start Azure V2 VMs」をクリック
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/c3f06470-3973-86a6-fdac-766248101cc2.png)

#４．編集をクリック
グラフィックRunbookの編集が開きます
![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/7cdef541-56c0-da69-8544-07164e23bd67.png)
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/060e0376-15e2-0c5e-c4e1-818613a42967.png)

#５．StartVM下の条件式を編集
そのままだとエラーを返してしまうので、以下のように条件式を修正する（Failedの条件はFalseにする）
![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/6c2ac4e0-f130-bdf4-f4cc-c354e4758f18.png)
```
$ActivityOutput['Start VM'].Status -eq "Succeeded"
```
↓
```
$ActivityOutput['Start VM'].IsSuccessStatusCode -eq $true
```

#６．Discordに通知する部分を追加
###Notify～の出力メッセージを JSON に変換して、その内容を Webhook で Discord に通知します。
左側の検索で「Write-Output」と入力し、ヒットしたものを右クリックし、「キャンバスに追加」をクリックして追加する。
![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/b423beeb-ba87-db77-0a8e-1c18d11d8cf1.png)

###Notify～の下に追加したWrite-Outputを移動し、Notify～とWrite-Outputを矢印で結ぶ
![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/91d98796-dd07-e063-7406-73ab7009b9a6.png)

###Write-Outputのパラメータを設定
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/37ca44ab-7e45-8874-4765-7ae31e36137b.png)
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/18c042fa-b145-001f-73ac-369e0fc1872c.png)
![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/35eedf88-8049-c796-2316-c59250015c4b.png)

###ConvertTo-Jsonを追加
左側の検索で「ConvertTo-Json」と入力し、ヒットしたものを右クリックし、「キャンバスに追加」をクリックして追加する。
追加したものをWrite-Outputの下に移動し、矢印で結ぶ
![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/674b399a-4a14-1126-ddd4-dd260e5105eb.png)

###ConvertTo-Jsonのパラメータを設定
ConvertTo-Jsonのパラメータを、rite-Outputからアクティビティの出力を受け取るように設定し、OKをクリック。
![15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/34312160-c272-b04a-fb7c-7a50fb14edcc.png)
![16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/997d6ed2-4294-db86-2ebf-412998017f90.png)

###Invoke-WebRequestを追加
左側の検索で「Invoke-WebRequest」と入力し、ヒットしたものを右クリックし、「キャンバスに追加」をクリックして追加する。
追加したものをConvertTo-Jsonの下に移動し、矢印で結ぶ
![17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/25b546d5-ffa6-d91c-1518-02b28340ff09.png)

###Invoke-WebRequestのパラメータを設定
ConvertTo-Json のアクティビティの出力を POST で送信するため、パラメータを設定
Content-Type に application/json; charset=utf-8 を指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/21904eb4-3a72-d1d6-9312-ab0995232128.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/4fe9b17d-57ab-31fb-39e3-1789b8b645c0.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/db9f5ca3-b296-ee4d-d2ae-aa69d7dffd4b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/55b0e09e-33a1-ebcb-17d3-1706b78dafa9.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/05a4b130-3fa7-9260-93c7-b4dbffebfed1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/e7a08516-b971-b34c-cbc7-6f41c56dfb4f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/da071a9d-3588-ed12-a2a9-c9d5fa4a283f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/e541f2c0-7f1c-da04-c2b4-a8fe6c0c23d9.png)

#7.RunBookを保存
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/1be6141a-b54e-0c5a-4231-203ecb8cdd18.png)

#8.開始トリガーのWebhookを作成
###Webhookの追加をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/43d3fde6-1275-d441-53db-96c04133bff5.png)

###追加に必要な項目を入力し作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/1d9c518d-18aa-b7dc-b188-639b8838cfa0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/0f46973e-5e34-0191-a05b-4804e4617b61.png)
<font color="red">**※このWebhookのURLは作成時のみでしか確認できないので、控えておく**</font>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/0495eac2-d327-a5f4-a4f4-48e39afb0fb9.png)

#9.IFTTTでトリガーを作成
###Createをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/e7b220eb-fbfb-5008-b4a0-cdf86eb9abdd.png)

###buttonをトリガーにAzureVMを起動するように作成
今回はスマホにIFTTTのbutton widgetを追加して、ボタンを押すと起動するようにしたいので、トリガーをボタンにする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/ce7fe0c4-c1ca-2e97-9f7f-788cb7bc9eaf.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/6ca43aa8-a21c-7373-274c-2353aebea201.png)

#10.スマホにIFTTTアプリをインストールし、Wedgetを追加
![thumbnail_image0 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/9ede2d25-768d-071b-52e5-5a2ded4e46ad.png)
![thumbnail_image1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/af37a094-36bb-c75b-b621-997805f01aac.png)

#11.スマホに追加したボタンを押して、AzureVMが起動/停止し、Discordに通知されることを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/dfe11201-63c4-7514-0912-9759542c8e9a.png)

#おわりに
個人でAzure上にゲームサーバを構築して遊ぶとなるとコストが気になるところなので、必要な時だけワンタッチでサーバが起動できるのは便利だなと思いました。
あと、Discordに通知するメッセージは、Runbookのパラメータをいじれば日本語で出力することもできるので、お試しあれ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/301050/74ebac7f-4f68-76ab-8e41-cdf17a2ac90f.png)