Azure Resource Healthの取得からメール送信までをLogic Apps使って自動化
Azure Resource Health(リソース正常性)の取得からメール送信までを自動化する手順です。
Azure Logic Apps(ロジックアプリ)のワークフローを使って実現しています。
リソース正常性はAzure Portalでも確認できますが、リソースの種類や特定のリソースを選択して確認する必要があります。
複数のリソースを確認する際には、手間がかかることがあります。
リソースの正常性は、REST APIを利用して取得できます。
REST APIを使うことで、Logic Appsのワークフロー内でリソース正常性の取得ができます。
Logic Appsのワークフローを使って、メール送信もできます。
REST APIを使ったリソース正常性の取得手順を確認します。
REST APIを使ったリソース正常性の取得、JSONデータをHTML形式に変換、SendGridを使ったメール送信までのLogic Appsワークフローを作成します。
※本記事内では、一部を除きAzure Logic Apps(ロジックアプリ)をLogic Appsとして表記しています。
※本記事内では、一部を除きAzure Resource Healthをリソース正常性として表記しています。
リソース正常性をREST APIを利用して取得
Azure REST API リファレンスというドキュメントが公式サイトで公開されています。
リソース正常性を取得するREST APIも準備されています。
Availability Statuses – List By Subscription Id
このREST APIを利用して、サブスクリプション内のAzureリソースに関するリソース正常性を取得できます。
REST APIの実行手順 | |
Availability Statuses – List By Subscription Idへアクセスします。 使ってみるをクリックします。 |
![]() |
”REST APIを使ってみる”が表示されます。 |
![]() |
正常に取得された場合、応答コード200が表示されます。 |
![]() |
リソース正常性の概要説明や、監視設定方法については、こちらで紹介しています。
Logic Appsのリソース作成やマネージドIDを設定
Logic Appsのリソース作成手順
ロジックアプリのリソース作成手順については、こちらを参照ください。
今回は、マルチテナント(従量課金)を利用しています。
Logic Appsでシステム割り当てマネージドIDを設定
Logic AppsのワークフローからAzure REST APIを利用する場合、Azureの認証が必要です。
今回は、認証方法としてシステム割り当てのマネージドIDを使用しています。
マネージドIDを有効化した後、ロールを割り当てます。
—広告—
リソース正常性を取得するLogic Apps ワークフローを作成
Logic Apps ワークフローの流れ
今回作成した、ワークフローの流れです。
-
- HTTPトリガー:REST APIを使ってリソース正常性をJSON形式で取得
- JSONの解析:リソース正常性のJSONファイルを項目化
- HTMLテーブルの作成:JSONの解析で項目化された内容をHTMLテーブルに変換
- メールの送信:HTMLテーブルの出力結果をメール送信
HTTPトリガーを作成
ロジックアプリデザイナーを使ってワークフローを作成します。
HTTPトリガーを作成します。
REST APIの画面で確認したURLを設定します。
実行スケジュールはHTTPトリガーで設定しています。
HTTPトリガーの作成手順 | |
ロジックアプリデザイナーのメニューで空のロジックアプリを選択します。 |
![]() |
検索欄にHTTPと入力します。 |
![]() |
HTTPで設定する方法とURIの値を確認します。 Availability Statuses – List By Subscription Idへで要求URLを確認します。 方法への設定は要求URL欄の最初の部分を設定します。 |
|
![]() |
|
HTTPトリガーは、スケジュール実行設定ができます。 |
![]() |
タイムゾーンや開始日時を設定します。 |
![]() |
認証の種類にマネージドIDを選択します。 |
![]() |
HTTPトリガーの設定が完了した状態です。 |
![]() |
スケジュール化してワークフローを実行する場合、繰り返しのトリガーも利用できます。
繰り返しトリガーによる、ワークフローのスケジュール実行手順は、こちらを参照願います。
JSONの解析アクションを作成
REST APIを実行した際の結果はJSON形式で取得されます。
実行結果をテーブル化して表示するためには、JSONを解析して項目を抽出するアクションが必要です。
サンプルスキーマには、REST APIを実行した結果を利用しています。
HTMLテーブルの作成(JSON→HTMLテーブルへ変換)
解析したJSONの出力結果をHTMLテーブルに変換します。
-
- 出力内容
- id:リソースID
- availabilityState:リソースの利用可否状態
- status:ステータス内容
- 出力内容
HTMLテーブルの作成 | |
検索欄にHTMLと入力します。 |
![]() |
列はカスタムを選択します。 |
![]() |
SendGridを使ってリソース正常性をメール送信
メール送信にはSendGridを利用しています。
Logic AppsにはSendGridのコネクタが用意されています。
SendGridのアカウント作成手順は、こちらで紹介しています。
—広告—
Logic Appsのワークフローを実行してリソース正常性を取得してメール送信
Logic Appsのワークフローを実行して、リソース正常性を取得、メール送信します。
Logic Appsのワークフローを実行 | |
ロジックアプリデザイナーの画面で実行をクリックします。 |
|
Logic Appsのワークフローを使って、リソース正常性の取得からメール送信までの自動化ができました。
引き続き、いろいろ試してみたいと思います。
Azure Portalでのリソース正常性確認方法については、こちらで紹介しています。
Logic Appsを利用したARMテンプレートのエクスポートからメール送信までの手順は、こちらで紹介しています。