SlideShare a Scribd company logo
1 of 10
Download to read offline
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のノウハウも蓄積していきたい。

More Related Content

What's hot

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

What's hot (20)

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

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

Azure Machine Learningを触ってみた!
Azure Machine Learningを触ってみた!Azure Machine Learningを触ってみた!
Azure Machine Learningを触ってみた!Takuya Tachibana
 
Azure MLやってみよう
Azure MLやってみようAzure MLやってみよう
Azure MLやってみようA AOKI
 
Azure MLによるWeb Serviceの作り方
Azure MLによるWeb Serviceの作り方Azure MLによるWeb Serviceの作り方
Azure MLによるWeb Serviceの作り方nishioka1
 
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏Takashi Someda
 
「Azure durable functions」の概要
「Azure durable functions」の概要「Azure durable functions」の概要
「Azure durable functions」の概要裕之 木下
 
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】Dai Iwai
 
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみようWeb制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう典子 松本
 
20131116_OSC福岡_CloudOS「Apache CloudStack」概要
20131116_OSC福岡_CloudOS「Apache CloudStack」概要20131116_OSC福岡_CloudOS「Apache CloudStack」概要
20131116_OSC福岡_CloudOS「Apache CloudStack」概要Midori Oge
 
5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話Yoshiyuki Taniguchi
 
A/BテストをAzure×Googleアナリティクスで試してみました。
A/BテストをAzure×Googleアナリティクスで試してみました。A/BテストをAzure×Googleアナリティクスで試してみました。
A/BテストをAzure×Googleアナリティクスで試してみました。典子 松本
 
一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure 活用方法
一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure活用方法一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure活用方法
一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure 活用方法典子 松本
 
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)Tomotsune Murata
 
Azure activedirectoryの最新機能の概要紹介
Azure activedirectoryの最新機能の概要紹介Azure activedirectoryの最新機能の概要紹介
Azure activedirectoryの最新機能の概要紹介Tsukasa Kato
 
Cloudpackが実現するビジネス課題の解決と新しい価値の提供
Cloudpackが実現するビジネス課題の解決と新しい価値の提供Cloudpackが実現するビジネス課題の解決と新しい価値の提供
Cloudpackが実現するビジネス課題の解決と新しい価値の提供Hiroyuki Hiki
 
AngularJS+TypeScriptを試してみた。
AngularJS+TypeScriptを試してみた。AngularJS+TypeScriptを試してみた。
AngularJS+TypeScriptを試してみた。Toshio Ehara
 
Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築毅 佐藤
 
関数プロキシを使って REST APIっぽくを使ってみる
関数プロキシを使って REST APIっぽくを使ってみる関数プロキシを使って REST APIっぽくを使ってみる
関数プロキシを使って REST APIっぽくを使ってみるNoriaki Sakata
 
Devsum ikansai 2015 「innovation eggって何?」
Devsum ikansai 2015 「innovation eggって何?」Devsum ikansai 2015 「innovation eggって何?」
Devsum ikansai 2015 「innovation eggって何?」Hiroyuki Hiki
 

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

Azure Fundamental
Azure FundamentalAzure Fundamental
Azure Fundamental
 
Azure Machine Learningを触ってみた!
Azure Machine Learningを触ってみた!Azure Machine Learningを触ってみた!
Azure Machine Learningを触ってみた!
 
Azure MLやってみよう
Azure MLやってみようAzure MLやってみよう
Azure MLやってみよう
 
Azure MLによるWeb Serviceの作り方
Azure MLによるWeb Serviceの作り方Azure MLによるWeb Serviceの作り方
Azure MLによるWeb Serviceの作り方
 
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
JAWS-UG 三都物語 2014 今しか役に立たない EC2入門 2014夏
 
「Azure durable functions」の概要
「Azure durable functions」の概要「Azure durable functions」の概要
「Azure durable functions」の概要
 
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
 
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみようWeb制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう
 
Azure express route tips
Azure express route tipsAzure express route tips
Azure express route tips
 
20131116_OSC福岡_CloudOS「Apache CloudStack」概要
20131116_OSC福岡_CloudOS「Apache CloudStack」概要20131116_OSC福岡_CloudOS「Apache CloudStack」概要
20131116_OSC福岡_CloudOS「Apache CloudStack」概要
 
5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話
 
A/BテストをAzure×Googleアナリティクスで試してみました。
A/BテストをAzure×Googleアナリティクスで試してみました。A/BテストをAzure×Googleアナリティクスで試してみました。
A/BテストをAzure×Googleアナリティクスで試してみました。
 
一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure 活用方法
一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure活用方法一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure活用方法
一度使うとレンタルサーバーに戻れない!?便利機能を使ってみよう!Web制作でのMicrosoft Azure 活用方法
 
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
 
Azure activedirectoryの最新機能の概要紹介
Azure activedirectoryの最新機能の概要紹介Azure activedirectoryの最新機能の概要紹介
Azure activedirectoryの最新機能の概要紹介
 
Cloudpackが実現するビジネス課題の解決と新しい価値の提供
Cloudpackが実現するビジネス課題の解決と新しい価値の提供Cloudpackが実現するビジネス課題の解決と新しい価値の提供
Cloudpackが実現するビジネス課題の解決と新しい価値の提供
 
AngularJS+TypeScriptを試してみた。
AngularJS+TypeScriptを試してみた。AngularJS+TypeScriptを試してみた。
AngularJS+TypeScriptを試してみた。
 
Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築
 
関数プロキシを使って REST APIっぽくを使ってみる
関数プロキシを使って REST APIっぽくを使ってみる関数プロキシを使って REST APIっぽくを使ってみる
関数プロキシを使って REST APIっぽくを使ってみる
 
Devsum ikansai 2015 「innovation eggって何?」
Devsum ikansai 2015 「innovation eggって何?」Devsum ikansai 2015 「innovation eggって何?」
Devsum ikansai 2015 「innovation eggって何?」
 

Azure FunctionsでPowerShellを使ってみた