SlideShare a Scribd company logo
Azure Functionsで
PowerShellを使ってみた
木村 康宏
@tuba_kim/YasuhiroKimura
2020/12/16
自己紹介(1/2)
名前:木村 康宏
所属:ソフトバンク株式会社
仕事:Azure/CircleCI/Ansibleなど使って、
自社のMSPサービスの運用業務の改善とかやってます
・過去にはOpenStackなど触ってプライベートクラウド作ったりしてました。
・Azureを業務で使い始めたのはここ1年くらい。
自己紹介(2/2)
・Azureを中心にパブリッククラウドの導⼊から
運⽤まで提供するMSPサービスを提供しています。
・MSPサービスの基盤⾃体Azureで動かしています。
Azure FunctionsでPowerShell使ってみる
・MSPサービスを日々運用していく上で発生する業務を自動化したい。
・Azure FunctionsでPowerShellを使って自動化したら嬉しいかもと考えた。
・Azure FunctionsでのPowerShellのサポートが昨年開始。
・PowerShellならAzure PowerShellもあるので捗る。
・ちょっとした業務ならPowerShellで簡単に書いちゃいたい。
ということで使ってみた。
作った構成
①タイマートリガーで起動
②Table Storageの
データを読み込み
③Queue Storageに
メッセージを登録
④メッセージの内容を元に
処理実施
実装していて気づいた点
・良かった点
・Azure PowerShell使えるのが嬉しい。
・簡単な業務を簡単に自動化できるのが嬉しい。
・詰まった点
・マニュアルでPowerShellだけ記載がないことがしばしばある。
・入出力バインドの利用方法とかで、PowerShellだけ記載がなかったりする。
・C#、Javascriptあたりの記載を参考に頑張る。
・Table Storageの読み込み行数の設定(後述)
・Queue Storageを利用した際のコンカレンシーの設定(後述)
Table Storageの読み込みの設定
・事象
・Table Storageから狙ったデータが読めてない。
・原因
・既定の設定だと、Table Storageから読み込むデータの最大行数が50
・function.jsonのtakeという、Table Storageの読み取り行数の設定値があるが、
マニュアルではJavascript用のコンフィグのように書いてある。
・PowerShellでもこの値を参照している。
・対処
・function.jsonのtakeを適切に設定する。
・おかしなことが起きてたら、他のランタイムの設定値も確認してみる。
Queue Storageを利用した際の
コンカレンシーの設定
・事象
・Queue Storageからメッセージを受信して処理する部分で、処理が遅延している。
・原因
・PowerShellは既定では1VM1プロセスしか起動しない。
・一方で、メッセージの受信は既定では1VMで16メッセージ同時に受信する。
・結果として処理遅延が起こっていた。
Queue Storageを利用した際の
コンカレンシーの設定
・対処
・以下の値を適切に設定する。
・アプリ設定の「FUNCTIONS_WORKER_PROCESS_COUNT」
・1VMで起動するプロセス数。
・既定値は1なので、この値を増やして起動するプロセスを増やす。
・host.jsonの extensions queues の「batchSize」
・1VMで同時に処理するメッセージ数。
・既定値を16なので、この値を減らしてバッチサイズを下げる。
まとめ
・詰まった部分はあったけど、結構簡単に便利に使えた。
・これからもどんどん活用していきたい。
・Azure FunctionsでPowerShellのノウハウも蓄積していきたい。
Ad

Recommended

Tips for passing AZ-103 once
Tips for passing AZ-103 once
Oshitari_kochi
 
20210925_jazug_azure_what_to_do_first
20210925_jazug_azure_what_to_do_first
TomoakiOno
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
Kuniteru Asami
 
Black jumbodogをcoreclrで動かしてみた
Black jumbodogをcoreclrで動かしてみた
Yasuaki Matsuda
 
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Yasuaki Matsuda
 
Azure(クラウド)を使った堅牢なシステムを考える
Azure(クラウド)を使った堅牢なシステムを考える
Tsubasa Yoshino
 
Azure Policyでハイブリッドな構成管理
Azure Policyでハイブリッドな構成管理
Masahiko Ebisuda
 
Bicep 入門 MySQL編
Bicep 入門 MySQL編
Takekazu Omi
 
クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102
Keiichi Hashimoto
 
Azure使いから見たAWSの良いところ
Azure使いから見たAWSの良いところ
Masaki Yamamoto
 
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Yui Ashikaga
 
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
Tomoaki Imai
 
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
Kuniteru Asami
 
20201216 jazug azureexam
20201216 jazug azureexam
TomoakiOno
 
Nested Hyper-v on Azure
Nested Hyper-v on Azure
Masahiko Ebisuda
 
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
Yui Ashikaga
 
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
Tomoya Ishida
 
20140726 jaws-ug chiba AWS operation best practice
20140726 jaws-ug chiba AWS operation best practice
Kazuki Ueki
 
ベアメタルOpenStackで始めるクラウド環境構築
ベアメタルOpenStackで始めるクラウド環境構築
Nobuyuki Tamaoki
 
ACE 第6回定例会 ショートプレゼン
ACE 第6回定例会 ショートプレゼン
Yui Ashikaga
 
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
Shingo Kawahara
 
JAWS-UG京王線#1業務で使うAWSCLI
JAWS-UG京王線#1業務で使うAWSCLI
Tomoaki Imai
 
OSS/linux on Azureの活用方法と勘所
OSS/linux on Azureの活用方法と勘所
Kuniteru Asami
 
Virtual Machine Scale Sets 概要
Virtual Machine Scale Sets 概要
Yui Ashikaga
 
あのスタートアップもさくら!?さくらのクラウドでサービスローンチしてみよう(スタートアップのサーバーインフラを考えよう!Vol.2)
あのスタートアップもさくら!?さくらのクラウドでサービスローンチしてみよう(スタートアップのサーバーインフラを考えよう!Vol.2)
さくらインターネット株式会社
 
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
Typhon 666
 
インフラ管理者に送る あらためての IoT Edge / IoT Hub
インフラ管理者に送る あらためての IoT Edge / IoT Hub
Masahiko Ebisuda
 
「Azure Arc対応データサービス」でどこでもAzureデータサービス実行
「Azure Arc対応データサービス」でどこでもAzureデータサービス実行
Masahiko Ebisuda
 
最近の PowerShell のお話
最近の PowerShell のお話
Kazuki Takai
 
『Azure power shell + 無料ジョブスケジューラ』活用事例
『Azure power shell + 無料ジョブスケジューラ』活用事例
Takanori Watanabe
 

More Related Content

What's hot (20)

クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102
Keiichi Hashimoto
 
Azure使いから見たAWSの良いところ
Azure使いから見たAWSの良いところ
Masaki Yamamoto
 
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Yui Ashikaga
 
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
Tomoaki Imai
 
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
Kuniteru Asami
 
20201216 jazug azureexam
20201216 jazug azureexam
TomoakiOno
 
Nested Hyper-v on Azure
Nested Hyper-v on Azure
Masahiko Ebisuda
 
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
Yui Ashikaga
 
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
Tomoya Ishida
 
20140726 jaws-ug chiba AWS operation best practice
20140726 jaws-ug chiba AWS operation best practice
Kazuki Ueki
 
ベアメタルOpenStackで始めるクラウド環境構築
ベアメタルOpenStackで始めるクラウド環境構築
Nobuyuki Tamaoki
 
ACE 第6回定例会 ショートプレゼン
ACE 第6回定例会 ショートプレゼン
Yui Ashikaga
 
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
Shingo Kawahara
 
JAWS-UG京王線#1業務で使うAWSCLI
JAWS-UG京王線#1業務で使うAWSCLI
Tomoaki Imai
 
OSS/linux on Azureの活用方法と勘所
OSS/linux on Azureの活用方法と勘所
Kuniteru Asami
 
Virtual Machine Scale Sets 概要
Virtual Machine Scale Sets 概要
Yui Ashikaga
 
あのスタートアップもさくら!?さくらのクラウドでサービスローンチしてみよう(スタートアップのサーバーインフラを考えよう!Vol.2)
あのスタートアップもさくら!?さくらのクラウドでサービスローンチしてみよう(スタートアップのサーバーインフラを考えよう!Vol.2)
さくらインターネット株式会社
 
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
Typhon 666
 
インフラ管理者に送る あらためての IoT Edge / IoT Hub
インフラ管理者に送る あらためての IoT Edge / IoT Hub
Masahiko Ebisuda
 
「Azure Arc対応データサービス」でどこでもAzureデータサービス実行
「Azure Arc対応データサービス」でどこでもAzureデータサービス実行
Masahiko Ebisuda
 
クラウド運用3足の草鞋151102
クラウド運用3足の草鞋151102
Keiichi Hashimoto
 
Azure使いから見たAWSの良いところ
Azure使いから見たAWSの良いところ
Masaki Yamamoto
 
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Global azure boot camp 2015 in japan 妖怪はみた!実録 Azure事件簿
Yui Ashikaga
 
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
Tomoaki Imai
 
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
Kuniteru Asami
 
20201216 jazug azureexam
20201216 jazug azureexam
TomoakiOno
 
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
Yui Ashikaga
 
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
Tomoya Ishida
 
20140726 jaws-ug chiba AWS operation best practice
20140726 jaws-ug chiba AWS operation best practice
Kazuki Ueki
 
ベアメタルOpenStackで始めるクラウド環境構築
ベアメタルOpenStackで始めるクラウド環境構築
Nobuyuki Tamaoki
 
ACE 第6回定例会 ショートプレゼン
ACE 第6回定例会 ショートプレゼン
Yui Ashikaga
 
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
Shingo Kawahara
 
JAWS-UG京王線#1業務で使うAWSCLI
JAWS-UG京王線#1業務で使うAWSCLI
Tomoaki Imai
 
OSS/linux on Azureの活用方法と勘所
OSS/linux on Azureの活用方法と勘所
Kuniteru Asami
 
Virtual Machine Scale Sets 概要
Virtual Machine Scale Sets 概要
Yui Ashikaga
 
あのスタートアップもさくら!?さくらのクラウドでサービスローンチしてみよう(スタートアップのサーバーインフラを考えよう!Vol.2)
あのスタートアップもさくら!?さくらのクラウドでサービスローンチしてみよう(スタートアップのサーバーインフラを考えよう!Vol.2)
さくらインターネット株式会社
 
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
Typhon 666
 
インフラ管理者に送る あらためての IoT Edge / IoT Hub
インフラ管理者に送る あらためての IoT Edge / IoT Hub
Masahiko Ebisuda
 
「Azure Arc対応データサービス」でどこでもAzureデータサービス実行
「Azure Arc対応データサービス」でどこでもAzureデータサービス実行
Masahiko Ebisuda
 

Similar to Azure FunctionsでPowerShellを使ってみた (9)

最近の PowerShell のお話
最近の PowerShell のお話
Kazuki Takai
 
『Azure power shell + 無料ジョブスケジューラ』活用事例
『Azure power shell + 無料ジョブスケジューラ』活用事例
Takanori Watanabe
 
AZ-305 Microsoft Azure Infrastructure Solutions 取得学習会 第8回.pdf
AZ-305 Microsoft Azure Infrastructure Solutions 取得学習会 第8回.pdf
Tsubasa Yoshino
 
Lt com camp2016_azureautomation_山p(AzureAutomationを使ってみた話)
Lt com camp2016_azureautomation_山p(AzureAutomationを使ってみた話)
Takatoshi Yamada
 
Azure Functions あれこれ
Azure Functions あれこれ
Yasuaki Matsuda
 
20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなし
Takayoshi Tanaka
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
Keisuke Fujikawa
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
shigeya
 
最近の PowerShell のお話
最近の PowerShell のお話
Kazuki Takai
 
『Azure power shell + 無料ジョブスケジューラ』活用事例
『Azure power shell + 無料ジョブスケジューラ』活用事例
Takanori Watanabe
 
AZ-305 Microsoft Azure Infrastructure Solutions 取得学習会 第8回.pdf
AZ-305 Microsoft Azure Infrastructure Solutions 取得学習会 第8回.pdf
Tsubasa Yoshino
 
Lt com camp2016_azureautomation_山p(AzureAutomationを使ってみた話)
Lt com camp2016_azureautomation_山p(AzureAutomationを使ってみた話)
Takatoshi Yamada
 
Azure Functions あれこれ
Azure Functions あれこれ
Yasuaki Matsuda
 
20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなし
Takayoshi Tanaka
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
Keisuke Fujikawa
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
shigeya
 
Ad

Azure FunctionsでPowerShellを使ってみた