Start/Stop VMs v2 で Logic Apps が即時起動してしまう事象について

Last Update: feedback 共有

こんにちは。Azure Integration サポート チームの髙橋です。

Start/Stop VMs v2 機能利用時に、Logic Apps を有効化すると即時で起動してしまう原因と、回避策について説明します。

こんな方におすすめです

  • Start/Stop VMs v2 機能利用時に、Logic Apps が即時起動することを避けたい方
  • 「繰り返し (Recurrence)」トリガーを利用している場合に、即時起動を避けたい方

Start/Stop VMs v2

Start/Stop VMs v2 につきましては、以下の公開情報やブログがあります。

Start/Stop VMs v2 は、以下よりデプロイすることが可能です。

事象

Start/Stop VMs v2 をデプロイしますと、以下のリソースが作成されます。

Logic Apps は無効化された状態でデプロイされておりますが、この状態で有効化しますとトリガーが即時に起動いたします。

「繰り返し (Recurrence)」トリガーが即時起動してしまう原因

本事象は、仕様の動作になります。

Logic Apps がデプロイされた時点では、「繰り返し (Recurrence)」トリガーの [開始時刻] パラメーターが設定されていないため、
有効化されたタイミングで即座に実行するよう、予約済みの初回実行のジョブが既に作成されていることに起因いたします。

※ デプロイ後かつ有効化前に [開始時刻] をご設定いただいた場合でも、既にジョブが作成されておりますので、有効化後に即時起動いたします。
当該ツールのデプロイ方法およびトリガーの仕様に起因した事象でございます。

なお、Start/Stop VMs v2 機能ではなく、Logic Apps を Azure ポータル上で手動で作成し、初めて「繰り返し (Recurrence)」トリガーを設定した場合におきましても、
[開始時刻] が設定されていない場合には Logic Apps 保存後に即時に起動いたします。
即時起動後には、設定された値に基づいてトリガーが起動いたします。

回避策

以下の例では、Start/Stop VMs v2 における即時起動の回避策についてご案内いたします。
考え方といたしましては、デプロイ時に予約されたジョブをリセットする方法になります。

有効化する前に、トリガー名を一時的に変更し、[開始時刻] パラメーターの設定をご実施ください。
トリガー名を変更することにより、予約済みのジョブがリセットされ、[開始時刻] に従ってトリガーを起動するよう新しくジョブを設定することが可能です。

  1. [Start/Stop VMs during off hours - V2] をデプロイ
  2. ロジック アプリ [ststv2_vms_Scheduled_start] を開き、ロジック アプリ デザイナーを開く
  3. [Recurrence] トリガーにて、トリガー名を変更 (Reccurence1)
  4. [Recurrence] トリガーにて、以下のパラメーターを変更 (開始時刻は変更必須ですが、「設定時刻 (時間)」および「設定時刻 (分)」は必要に応じて変更ください。)
    ・タイム ゾーン : (UTC+09:00) 大阪、札幌、東京
    ・設定時刻
    ・開始時刻: 2022-11-06T14:00:00 (過去、未来いずれも設定いただくことが可能です。詳細については、下記の資料をご参考ください)

タイムゾーンを指定した場合、[開始時刻] の最後に「Z」は不要です。

  1. ワークフローを保存
  2. [Recurrence] トリガーのトリガー名を戻し、改めてワークフローを保存 (動作上、戻す必要はありません)
  3. VM 指定のコードを編集し、ワークフローを保存
  4. 有効化

まとめ

本記事では、Start/Stop VMs v2 機能利用時に、Logic Apps を有効化すると即時で起動してしまう原因と、回避策についてご案内いたしました。
本記事が少しでもお役に立ちましたら幸いです。

関連記事

以下、「繰り返し (Recurrence)」トリガーに関連した記事になります。

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。