Slide 1: Azure 料金節約術
Microsoft Azure Webセミナー シリーズ Azure 料金節約術 Stream Analytics を操作して料金節約! クラウドIoTカンパニー エンベデッドソリューション部 茂出木 裕也 Ver1.0 (2020年10月) Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 2: アジェンダ
アジェンダ ⚫ Stream Analytics の使用料金について ⚫ Stream Analytics のジョブの開始や停止を、APIやスクリプトで制御する方法 ⚫ APIやスクリプトを、スケジュールに従って定期的に自動実行する方法 (直ぐに使えるサンプルスクリプト付き) Copyright © Tokyo Electron Device LTD. All Rights Reserved. 3
Slide 3: Stream Analytics の使用料金について
Stream Analytics の使用料金について ⚫ Azure Stream Analytics の課金単価は「1時間」単位 ⚫ 例えば夜間や休日など、データが発生しない時間帯にも、 Stream Analytics を動かし続けていませんか? ※東日本リージョン 2020年8月時点の価格例 Azure Stream Analytics の価格 https://azure.microsoft.com/ja-jp/pricing/details/stream-analytics/ 【ジョブを24時間、30日間連続で動作させる場合】 1日あたり ¥371 30日あたり ¥11,129 Cop
Slide 4: Stream Analytics 運用上の課題
Stream Analytics 運用上の課題 ⚫ 通常、ジョブの[開始]と[停止]はAzureポータルでの操作が必要 ⚫ Stream Analytics には、[開始]や[停止]を自動化(スケジュール)する仕組みが 標準では用意されていない Copyright © Tokyo Electron Device LTD. All Rights Reserved. 5
Slide 5: Stream Analytics をAPIやスクリプトで制御する方法
Stream Analytics をAPIやスクリプトで制御する方法 ⚫ ジョブの開始や停止は、REST API、Azure SDK、または PowerShell でも操作が可能 【Azure SDKの例: Stream Analytics ジョブの開始】 // Start a streaming job StartStreamingJobParameters startStreamingJobParameters = new StartStreamingJobParameters() { OutputStartMode = OutputStartMode.CustomTime, Output
Slide 6: Azure Automation とは
Azure Automation とは Azure Automationは、作業の自動化や構成管理ツールなどを提供する PaaSサービスです。 Runbookと呼ばれる機能で、PowerShell や Python で記述したスクリプト を、予め決めたスケジュールで実行する事ができます。 Copyright © Tokyo Electron Device LTD. All Rights Reserved. 7
Slide 7: Azure Automation を利用して Stream Analytics を操作する
Azure Automation を利用して Stream Analytics を操作する Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 8: サンプルスクリプト ダウンロードURL
サンプルスクリプト ダウンロードURL https://cptechweb.teldevice.co.jp/hc/ja/articles/360057408293 Copyright © Tokyo Electron Device LTD. All Rights Reserved. 9
Slide 9: オートメーション アカウントの作成
オートメーション アカウントの作成 ⚫ Azure Portal にアクセスします https://portal.azure.com/ ⚫ [+ リソースの作成] を選択します ⚫ 「Automation」を検索し、検索結果で、 [オートメーション] を選択し、 [作成]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 10
Slide 10: Automation アカウントの追加
Automation アカウントの追加 ⚫ [名前]を入力します※例: autoasalab ⚫ [サブスクリプション]を選択します ⚫ [リソースグループ]を選択します ⚫ [場所]を選択します※例: 東日本 ⚫ [Azure 実行アカウントの作成] オプションで、[はい] を選択し、 [作成] をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 11
Slide 11: 作成した Automation アカウントの確認
作成した Automation アカウントの確認 Automation アカウントが正常に作成されると、サンプルのRunbookリソースが自動的に作成されます。 (不要であれば削除しても問題ありません) Copyright © Tokyo Electron Device LTD. All Rights Reserved. 12
Slide 12: Automation アカウント 名をクリックして確認
Automation アカウント 名をクリックして確認 Copyright © Tokyo Electron Device LTD. All Rights Reserved. 13
Slide 13: Automation Runbook 用 サンプルスクリプト (PowerShell)
Automation Runbook 用 Stream Analytics の開始と停止を制御する サンプルスクリプト (PowerShell) Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 14: サンプルスクリプト解説 (ジョブの開始: Start-ASA.txt)
サンプルスクリプト解説 (ジョブの開始: Start-ASA.txt) Stream Analytics の設定情報 (変数から情報を取得) Azure への接続 Stream Analytics の ジョブを開始するコード Copyright © Tokyo Electron Device LTD. All Rights Reserved. 15
Slide 15: サンプルスクリプト解説 (ジョブの停止: Stop-ASA.txt)
サンプルスクリプト解説 (ジョブの停止: Stop-ASA.txt) Stream Analytics の設定情報 (変数から情報を取得) Azure への接続 Stream Analytics の ジョブを停止するコード Copyright © Tokyo Electron Device LTD. All Rights Reserved. 16
Slide 16: Automation アカウントにモジュールを追加する
Automation アカウントに モジュールを追加する Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 17: モジュール ギャラリーからモジュールをインポートする
モジュール ギャラリーから必要なモジュールをインポートする ⚫ 作成した Automation アカウントを開き、 [共有リソース]の下の[モジュール ギャラリー]をクリックします 【ここがポイント!】 本サンプルスクリプトでは、Stream Analytics を操作するPowerShellのコマンドを実行します。 Automation にはPowerShell スクリプトを実行する機能が搭載されていますが、 Stream Analytics を操作するためのコマンドレットは標準では搭載されていません。 例えば、 Get-AzStreanAnalyticsFunction、New-AzStr
Slide 18: Az.Accounts モジュールの検索
Az.Accounts モジュールの検索 ⚫ モジュール ギャラリーで、検索窓に「Az.Accounts」と入力します ⚫ 表示された[Az.Accounts]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 19
Slide 19: Az.Accounts モジュールのインポート
Az.Accounts モジュールのインポート ⚫ [インポート] をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 20
Slide 20: Az.StreamAnalytics モジュールの検索
Az.StreamAnalytics モジュールの検索 ⚫ モジュール ギャラリーで、検索窓に「Stream」と入力します ⚫ 表示された[Az.StreamAnalytics]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 21
Slide 21: Az.StreamAnalytics のインポート
Az.StreamAnalytics のインポート ⚫ [インポート] をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 22
Slide 22: インポートしたモジュールの確認
インポートしたモジュールの確認 ⚫ [モジュール] をクリックして、2つのモジュールが追加された事を確認します Copyright © Tokyo Electron Device LTD. All Rights Reserved. 23
Slide 23: Runbook内で利用する変数の設定
Runbook内で利用する変数の設定 Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 24: 操作対象のStream Analytics から情報をコピー
操作対象のStream Analytics から情報をコピー ⚫ まずは、操作対象のStream Analytics のリソースを開いて、以下の情報をコピーします (1)Stream Analytics ジョブ名 (例:asalabauto) (2)リソースグループ名 (例:RG_Lab_ASA_Auto) (3)サブスクリプションID (例:aedca5ad-ff55-4090-a1b2-6b13b20783cb) Copyright © Tokyo Electron Device LTD. All Rights Reserved. 25
Slide 25: 変数の追加
変数の追加 ⚫ 作成した Automation アカウントを開き、 [共有リソース]の下の[変数]をクリックします ⚫ [+変数の追加]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 26
Slide 26: 変数の追加 (jobname)
変数の追加 ⚫ [名前] jobname ⚫ [タイプ] 文字列 ⚫ [値] Stream Analytics の画面でコピーしたジョブ名 (例:asalabauto) ⚫ [作成]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 27
Slide 27: 変数の追加 (resourceGroupName)
変数の追加 ⚫ [名前] resourceGroupName ⚫ [タイプ] 文字列 ⚫ [値] Stream Analytics の画面でコピーしたリソースグループ名 (例:RG_Lab_ASA_Auto) ⚫ [作成]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 28
Slide 28: 変数の追加 (subId)
変数の追加 ⚫ [名前] subId ⚫ [タイプ] 文字列 ⚫ [値] Stream Analytics の画面でコピーしたサブスクリプションID (例:aedca5ad-ff55-4090-a1b2-6b13b20783cb) ⚫ [作成]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 29
Slide 29: 追加した変数の確認
追加した変数の確認 ⚫ [変数] をクリックして、3つの変数が追加された事を確認します Copyright © Tokyo Electron Device LTD. All Rights Reserved. 30
Slide 30: ジョブ開始用 Runbook の作成
ジョブ開始用 Runbook の作成 Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 31: Runbook の作成
Runbook の作成 ⚫ 作成した Automation アカウントを開き、 [プロセス オートメーション]の下の[Runbook]をクリックします ⚫ [+Runbook の作成]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 32
Slide 32: ジョブを開始するRunbookを作成
ジョブを開始するRunbookを作成 ⚫ [名前] ジョブを開始するRunbook名を入力 (例: Start-ASA) ⚫ [Runbook の種類] PowerShell ⚫ [作成]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 33
Slide 33: 作成したRunbookを選択
作成したRunbookを選択 ⚫ 作成した Runbook の名前をクリックして開きます Copyright © Tokyo Electron Device LTD. All Rights Reserved. 34
Slide 34: Runbook の編集
Runbook の編集 ⚫ [編集]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 35
Slide 35: ジョブの開始(Start-ASA.txt) のコードを貼り付け
ジョブの開始(Start-ASA.txt) のコードを貼り付け ⚫ エディタにサンプルコード(Start-ASA.txt)を貼り付け、[保存]をクリックします ⚫ [テスト ウインドウ]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 36
Slide 36: スクリプトのテスト
スクリプトのテスト ⚫ テスト ウインドウ で[開始]をクリックします ※テスト開始前に、Stream Analytics が [停止] 状態になっている事を確認してください Copyright © Tokyo Electron Device LTD. All Rights Reserved. 37
Slide 37: スクリプトのテスト
スクリプトのテスト ⚫ テストでエラーが発生していない事を 確認します ⚫ Stream Analytics の状態が[開始] 状態になっている事を確認します Copyright © Tokyo Electron Device LTD. All Rights Reserved. 38
Slide 38: Runbook の発行
Runbook の発行 ⚫ 作成したRunbookを発行します ⚫ [公開]ボタンをクリックし、[はい]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 39
Slide 39: ジョブ開始用 スケジュールの設定
ジョブ開始用 スケジュールの設定 Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 40: 発行済みを確認して、スケジュールを選択
発行済みを確認して、スケジュールを選択 ⚫ 作成したRunbookを開き、「発行済みに」なっていることを確認します ⚫ [共有リソース]の下の[スケジュール]ボタンをクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 41
Slide 41: スケジュールの追加
スケジュールの追加 ⚫ [+スケジュールの追加]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 42
Slide 42: スケジュールの設定
スケジュールの設定 ⚫ [名前] ジョブ開始スケジュールの名前を入力 ⚫ [開始時] ジョブ開始の時間を指定 ⚫ [繰り返し] 定期的 ⚫ [間隔] Runbookを実行する間隔を指定 ⚫ [作成] をクリックします ※補足情報: [間隔]で[週]を指定すると、曜日を選択できます Copyright © Tokyo Electron Device LTD. All Rights Reserved. 43
Slide 43: スケジュールを確認
スケジュールを確認 ⚫ 作成したスケジュールを確認します 【ここがポイント!】 ここで作成したスケジュールは、そのままでは実行されません。 対象のRunbookにリンクさせる作業が必要です。 Copyright © Tokyo Electron Device LTD. All Rights Reserved. 44
Slide 44: スケジュールをRunbookにリンクする
スケジュールをRunbookにリンクする ⚫ 作成したRunbookを選択します (ジョブ開始用のRunbook) Copyright © Tokyo Electron Device LTD. All Rights Reserved. 45
Slide 45: スケジュールへのリンク
スケジュールへのリンク ⚫ [スケジュールへのリンク]をクリックし、 [スケジュール]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 46
Slide 46: スケジュールへのリンク
スケジュールへのリンク ⚫ 作成したスケジュール名を選択し、 [OK]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 47
Slide 47: 再度リソースのスケジュールを開き、オンを確認
再度リソースのスケジュールを開き、 オンを確認 ⚫ 作成したRunbookを選択し、[リソース]の下の[スケジュール]をクリックします ⚫ 作成したスケジュール名が表示され、[状態]が[オン]になっていることを確認します Copyright © Tokyo Electron Device LTD. All Rights Reserved. 48
Slide 48: ジョブ停止用 Runbook の作成
ジョブ停止用 Runbook の作成 Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 49: Runbook の作成
Runbook の作成 ⚫ 作成した Automation アカウントを開き、 [プロセス オートメーション]の下の[Runbook]をクリックします ⚫ [+Runbook の作成]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 50
Slide 50: ジョブを停止するRunbookを作成
ジョブを停止するRunbookを作成 ⚫ [名前] ジョブを停止するRunbook名を入力 (例: Stop-ASA) ⚫ [Runbook の種類] PowerShell ⚫ [作成]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 51
Slide 51: 作成したRunbookを選択
作成したRunbookを選択 ⚫ 作成した Runbook の名前をクリックして開きます Copyright © Tokyo Electron Device LTD. All Rights Reserved. 52
Slide 52: Runbook の編集
Runbook の編集 ⚫ [編集]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 53
Slide 53: ジョブの停止(Stop-ASA.txt) のコードを貼り付け
ジョブの停止(Stop-ASA.txt) のコードを貼り付け ⚫ エディタにサンプルコード(Stop-ASA.txt)を貼り付け、[保存]をクリックします ⚫ [テスト ウインドウ]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 54
Slide 54: スクリプトのテスト
スクリプトのテスト ⚫ テスト ウインドウ で[開始]をクリックします ※テスト開始前に、Stream Analytics が [開始] 状態になっている事を確認してください Copyright © Tokyo Electron Device LTD. All Rights Reserved. 55
Slide 55: スクリプトのテスト
スクリプトのテスト ⚫ テストでエラーが発生していない事を 確認します ⚫ Stream Analytics の状態が[停止] 状態になっている事を確認します Copyright © Tokyo Electron Device LTD. All Rights Reserved. 56
Slide 56: Runbook の発行
Runbook の発行 ⚫ 作成したRunbookを発行します ⚫ [公開]ボタンをクリックし、[はい]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 57
Slide 57: ジョブ停止用 スケジュールの設定
ジョブ停止用 スケジュールの設定 Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 58: 発行済みを確認して、スケジュールを選択
発行済みを確認して、スケジュールを選択 ⚫ 作成したRunbookを開き、「発行済みに」なっていることを確認します ⚫ [共有リソース]の下の[スケジュール]ボタンをクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 59
Slide 59: スケジュールの追加
スケジュールの追加 ⚫ [+スケジュールの追加]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 60
Slide 60: スケジュールの設定
スケジュールの設定 ⚫ [名前] ジョブ停止スケジュールの名前を入力 ⚫ [開始時] ジョブ停止の時間を指定 ⚫ [繰り返し] 定期的 ⚫ [間隔] Runbookを実行する間隔を指定 ⚫ [作成] をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 61
Slide 61: スケジュールを確認
スケジュールを確認 ⚫ 作成したスケジュールを確認します Copyright © Tokyo Electron Device LTD. All Rights Reserved. 62
Slide 62: スケジュールをRunbookにリンクする
スケジュールをRunbookにリンクする ⚫ 作成したRunbookを選択します (ジョブ停止用のRunbook) Copyright © Tokyo Electron Device LTD. All Rights Reserved. 63
Slide 63: スケジュールへのリンク
スケジュールへのリンク ⚫ [スケジュールへのリンク]をクリックし、 [スケジュール]をクリックします ⚫ 作成したスケジュール名を選択し、 [OK]をクリックします Copyright © Tokyo Electron Device LTD. All Rights Reserved. 64
Slide 64: 再度リソースのスケジュールを開き、オンを確認
再度リソースのスケジュールを開き、 オンを確認 ⚫ 作成したRunbookを選択し、[リソース]の下の[スケジュール]をクリックします ⚫ 作成したスケジュール名が表示され、[状態]が[オン]になっていることを確認します Copyright © Tokyo Electron Device LTD. All Rights Reserved. 65
Slide 65: まとめ
まとめ Copyright © Tokyo Electron Device LTD. All Rights Reserved.
Slide 66: 【まとめ】Stream Analytics 節約効果
【まとめ】Stream Analytics 節約効果 【ジョブを24時間、30日間連続で動作させる場合】 【ジョブを1日8時間(9:00-17:00)22日間だけ動作させる場合】 ⚫ 1日あたり ¥371 ⚫ 1日あたり ¥124 ⚫ 30日あたり ¥11,129 ⚫ 22日あたり ¥2,728 ※別途、Automation の利用料金が発生します 500分まで無料、超過分は ¥0.224/分 1か月あたり 約¥8,400 の節約を実現! ジョブの開始・停止をスケジュールして、 ジョブの実行が不要な時間帯は止めるようにしましょう Copyright © Tokyo Electron Devic
Slide 67: クラウドIoTカンパニー エンベデッドソリューション部 連絡先
クラウドIoTカンパニー エンベデッドソリューション部 URL:https://esg.teldevice.co.jp/iot/azure/ TEL: 045-443-4021 Copyright © Tokyo Electron Device LTD. All Rights Reserved. 68