Logic AppsのAzure Resource Managerコネクタを利用したリソース操作方法

Azure,Logic Apps,Virtual Machine

Azure Logic Apps(ロジックアプリ)のAzure Resource Managerコネクタを使ったリソース操作方法です。
今回は仮想マシン(Azure VM)の起動を例に設定方法を確認しています。

Logic AppsのワークフローにAzure Resource Managerのコネクタがあります。
この中にリソース操作を呼び出しというアクションがあります。
このアクションを使ってAzureリソースの起動や停止といった操作が出来ます。
スケジュール化したワークフロー内で利用すると、定時にリソースの起動や停止ができます。

仮想マシン起動のワークフローを例に、マネージドIDの割り当てから、Azure Resource Managerコネクタのリソース操作を呼び出しアクションの設定までの手順を紹介します。

※本記事内ではロジックアプリ(Azure Logic Apps)をLogic Appsとして表記しています。
※本記事内ではAzure Virtual Machines(Azure VM)を仮想マシンとして表記しています。

スポンサーリンク

Logic AppsのAzure Resource Managerコネクタを使ってワークフローを作成

Logic Appsのリソース作成

logic-vm-start-01というリソース名で作成しています。

Logic Appsのリソース作成手順についてはこちらに記載しています。
今回は従量課金(消費)(マルチテナント)のプランで作成しています。
トリガーやアクションの概要についてもこちらで紹介しています。

システム割り当てマネージドID割り当て

Logic Appsでシステム割り当てマネージドIDの設定を行います。
マネージドIDを利用して、Logic Appsのワークフローからリソースを操作する為の権限を付与します。
有効化とロールの割り当てを追加します。

システム割り当てマネージドIDを設定

左側のリソースメニューで"ID"を選択します。

リソースIDを有効化します。
状態を"オン"にして保存を選択します。

“Azureロールの割り当て"を選択します。

マネージドIDの有効化(Azure Logic Appsのシステム割り当て済みマネージドIDの設定)

“ロールの割り当ての追加"を選択します。
今回はリソースグループに対して仮想マシンの共同作成者を割り当てます。

  • スコープ:ロールの割り当ての適用範囲
  • リソースグループ:ロールの割り当てるリソースグループ
  • 役割:ロールの割り当て内容

保存すると割り当てたロールの内容が表示されます。

※仮想マシンがあるリソースグループに割り当てを追加します。
※権限の設定内容は実施する操作内容に合わせて選択します。

仮想マシン共同作成者のロールを割り当てる(Azure Logic Appsのシステム割り当て済みマネージドIDの設定)
ロールの割り当てを表示(Azure Logic Appsのシステム割り当て済みマネージドIDの設定)

※デフォルトロールで役割を選択しています。カスタムロールを使用する事により、仮想マシンの起動停止だけに権限を制限する事もできます。

Scheduleトリガーの設定

ワークフローは、処理を開始する為のトリガーと、実行内容を記載するアクションから構成されます。
Scheduleトリガーを利用して、毎日9時30分(日本時間)にワークフローが開始されるようにします。

Recurenceのトリガーを設定
“ロジックアプリデザイナー"を選択します。
“トリガーの追加"を選択します。
“Schedule"を選択します。
“Recurence"を選択します。

※ランタイムでアプリ内を選択すると早く見つける事ができます。

Scheduleのコネクタを選択(Azure Logic Appsのワークフロー設定)
Recurrenceのトリガーを追加(Azure Logic Appsのワークフロー設定)

実行スケジュールの設定です。
“Interval"と"Frequency"の設定を1日とします。
“Time Zone"、"At These Hours"、"At These Minutes"の設定を組み合わせて日本時間9時30分にスケジュールします。

Recurrenceのトリガーでスケジュール設定(Azure Logic Appsのワークフロー設定)

Logic Appsワークフローでの日時に関するアクションの設定についてはこちらで紹介しています。

ワークフローを平日のみ実行する方法についてはこちらで紹介しています。

リソース操作を呼び出しのアクションを設定

”リソース操作を呼び出し”のアクションを利用して、Azureリソースの起動や停止が出来ます。
操作の指定方法はREST-APIと同じです。
アクション名の設定値やクライアントAPIバージョンはAzure REST API リファレンスを確認します。

Azure REST API リファレンス
REST API(Virtual Machines)

Azure Resource Managerのコネクタを利用する場合は、サブスクリプションやリソースへのアクセスを許可するために認証の設定が必要です。
接続の作成を利用して認証を行います。

リソース操作を呼び出しのアクション設定

検索欄に"Azure Resource Manager"と入力します。
”リソース操作を呼び出し”を選択します。

 

Azure Resource Managerのコネクタ選択(Azure Logic Appsのワークフロー設定)
リソース操作を呼び出しのアクションを選択(Azure Logic Appsのワークフロー設定)
接続の作成設定です。
認証には"マネージドID"を選択します。
マネージドIDには"システム割り当てマネージドID"を選択します。
接続名を設定して、新規作成します。
システム割り当てマネージドIDを使った接続の作成(Azure Logic Appsのワークフロー設定)

“リソース操作を呼び出し"のアクション設定です。

  • サブスクリプション
  • リソースグループ
  • リソースプロバイダー
  • 短いリソースID
  • クライアントAPIバージョン
  • アクション名

リソースプロバイダー、短いリソースIDについては操作するAzureリソースのリソースIDの値を設定します。
クライアントAPIバージョンは公式サイトのAPI Versionを指定します。

REST API(Virtual Machines – Start)

 

リソース操作を呼び出しのアクションでAzure VMを起動する設定(Azure Logic Appsのワークフロー設定)
仮想マシンのメニューでAzure VMのリソースIDを確認
リソース操作を呼び出しのアクションで指定するAPIのバージョンを確認
ワークフローを保存します。 リソース操作を呼び出しのアクションを利用してAzure VMを起動するワークフローを保存

※リソース操作を呼び出しのアクションは、REST APIの"POST"での操作に該当します。

ワークフローを実行

Logic Apps ワークフローを実行します。
実行履歴でワークフローの実行結果が確認できます。
Logic Appsのワークフローを使ってAzureリソースを操作した場合、アクテビティログのイベント開始者名にはLogic Apps名となります。

ワークフローの実行
実行を選択します。 Azure VMを起動するワークフローを実行
実行履歴を確認します。
正常にワークフローが完了すると状態に"Succeeded"と表示されます。
実行履歴を選択するとワークフローの実行結果が確認できます。
それぞれのアクションの実行にかかった時間も確認できます。
ワークフローの実行結果を表示
ワークフローの実行結果の詳細を表示
仮想マシンのアクテビティログです。
操作名:Start Virtual Machine、状態:成功のログが出力されています。
イベント開始者もlogic-vm-start-01とロジックアプリ名が表示されています。
Azure VMのアクティビティログでワークフローの実行結果を確認

Azure VMのコネクタを利用した場合

仮想マシンの操作については、"Azure VM"のコネクタも用意されています。
“Azure VM"のコネクタを利用した場合の手順についてはこちらで紹介しています。

—広告—

最後に

Logic AppsのAzure Resource Managerのコネクタ利用したAzureリソース操作手順について確認してみました。
Azure Resource Managerのコネクタ利用のリソース操作のアクションを利用して、Azureのリソースが操作できる事が確認できました。
今回は仮想マシンの起動で確認していますが、他のAzureリソースでも利用可能です。
今後も引き続き色々試してみたいと思います。

Azure Automationアカウントを利用して、仮想マシンを起動停止する方法についてはこちらで紹介しています。

RunbookをLogic Appsのワークフローから実行する方法についてはこちらで紹介しています。

メールから仮想マシン名を取得して、ワークフロー内で利用する方法についてはこちらの記事で紹介しています。
仮想マシンの起動する場合を例に紹介しています。

Azure Bastionの起動停止(リソース作成、削除)のスケジュール化についてはこちらで紹介しています。

Azure API Managementの起動停止(論理削除、回復)のスケジュール化についてはこちらの記事で紹介しています。

スポンサーリンク