Logic AppsのAzure Resource Managerコネクタを使ったリソース操作方法
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コネクタとは?
Azure Resource Managerコネクタとは
Logic Apps上でAzureのリソースを管理するために用意されているコネクタです。
Logic Apps内でAzureリソースの作成、更新、削除、取得、開始、停止と言った様々な操作ができます。
その他にも多くのアクションが用意されています。
Azure Resource Managerコネクタで使えるアクション一覧 | |
“Azure Resource Manager"コネクタで利用できるアクションの一覧です。 多くのアクションが用意されています。 |
|
※従量課金(消費)(マルチテナント)の場合の例です。
Azure Resource Managerコネクタの認証方法
Azure Resource Managerコネクタ利用時には操作対象となるサブスクリプション、リソースグループ、リソースへの認証が必要になります。
認証の種類として、OAuth、サービスプリンシパル、マネージドIDが選択できます。
認証の種類 | |
アクション作成時に接続の作成画面が表示されます。 |
Azure Resource Managerコネクタを使ってワークフローを作成
Logic Appsのリソース作成
logic-vm-start-01というリソース名で作成しています。
Logic Appsのリソース作成手順についてはこちらに記載しています。
今回は従量課金(消費)(マルチテナント)のプランで作成しています。
トリガーやアクションの概要についてもこちらで紹介しています。
システム割り当てマネージドIDの有効化、ロール割り当て
Logic Appsでシステム割り当てマネージドIDの設定を行います。
マネージドIDを利用して、Logic Appsのワークフローからリソースを操作する為の権限を付与します。
有効化とロールの割り当てを追加します。
※デフォルトロールで役割を選択しています。カスタムロールを使用する事により、仮想マシンの起動停止だけに権限を制限する事もできます。
ワークフローのスケジュール実行設定(Scheduleトリガー設定)
ワークフローは、処理を開始する為のトリガーと、実行内容を記載するアクションから構成されます。
Scheduleトリガーを利用して、毎日9時30分(日本時間)にワークフローが開始されるようにします。
Logic Appsワークフローでの日時に関するアクションの設定についてはこちらで紹介しています。
ワークフローを平日のみ実行する方法についてはこちらで紹介しています。
リソース操作を呼び出しのアクションを使って仮想マシンを起動
”リソース操作を呼び出し”のアクションを利用して、Azureリソースの起動や停止が出来ます。
操作の指定方法はREST-APIと同じです。
アクション名の設定値やクライアントAPIバージョンはAzure REST API リファレンスを確認します。
Azure REST API リファレンス
REST API(Virtual Machines)
Azure Resource Managerのコネクタを利用する場合は、サブスクリプションやリソースへのアクセスを許可するために認証の設定が必要です。
接続の作成を利用して認証を行います。
リソース操作を呼び出しのアクション設定 | |
検索欄に"Azure Resource Manager"と入力します。
|
|
接続の作成設定です。 認証には"マネージドID"を選択します。 マネージドIDには"システム割り当てマネージドID"を選択します。 接続名を設定して、新規作成します。 |
|
“リソース操作を呼び出し"のアクション設定です。
リソースプロバイダー、短いリソースIDについては操作するAzureリソースのリソースIDの値を設定します。 REST API(Virtual Machines – Start)
|
|
ワークフローを保存します。 |
※リソース操作を呼び出しのアクションは、REST APIの"POST"での操作に該当します。
ワークフローを実行して仮想マシンを起動
Logic Apps ワークフローを実行します。
実行履歴でワークフローの実行結果が確認できます。
Logic Appsのワークフローを使ってAzureリソースを操作した場合、アクテビティログのイベント開始者名にはLogic Apps名となります。
“Azure VM"コネクタを利用した場合
仮想マシンの操作については、"Azure VM"コネクタも用意されています。
“Azure VM"のコネクタを利用した場合の手順についてはこちらで紹介しています。
ワークフローのコピー
Logic Appsの従量課金(マルチテナント)では複製を使ってワークフローをコピーする事ができます。
起動と停止を個別にワークフロー作成する場合などに使うと便利かと思います。
—広告—
最後に
Logic AppsのAzure Resource Managerのコネクタ利用したAzureリソース操作手順について確認してみました。
Azure Resource Managerのコネクタ利用のリソース操作のアクションを利用して、Azureのリソースが操作できる事が確認できました。
今回は仮想マシンの起動で確認していますが、他のAzureリソースでも利用可能です。
今後も引き続き色々試してみたいと思います。
Azure Automationアカウントを利用して、仮想マシンを起動停止する方法についてはこちらで紹介しています。
RunbookをLogic Appsのワークフローから実行する方法についてはこちらで紹介しています。
Azure Resource Managerコネクタを利用したARMテンプレートのエクスポートについてはこちらで紹介しています。
メールから仮想マシン名を取得して、ワークフロー内で利用する方法についてはこちらの記事で紹介しています。
仮想マシンの起動する場合を例に紹介しています。
Azure Bastionの起動停止(リソース作成、削除)のスケジュール化についてはこちらで紹介しています。
Azure API Managementの起動停止(論理削除、回復)のスケジュール化についてはこちらの記事で紹介しています。