Standard Logic Apps でのランタイム エラー (ネットワーク問題)

Last Update: feedback 共有

こんにちは。 Azure Integration サポート チームの継松です。
本記事では、閉域ネットワーク環境 (VNet 統合 + Private Endpoint など) で動作する Standard Logic Apps において、ランタイム エラー (runtime error) が発生した際のトラブルシュート方法をまとめています。

Standard Logic Apps は実行に必要な情報を、紐づくストレージ アカウントのファイル共有 (File Share, files) に保存しています。
そのため、何らかの理由でファイル共有へアクセスできなくなると、エラーが発生する原因になります。
このファイル共有へのアクセス問題は、閉域ネットワーク環境を設定する (VNET 統合の実施、関連設定の構成) 際に、設定の漏れやミスによって生じることが多くございます。

新規構築時既存環境のエラー発生時の 2 パターンに分けて確認ポイントをご紹介します。

こんな方におすすめです

  • 初めて Standard Logic Apps での開発をされる方
  • 初めて 閉域環境 での開発をされる方
  • Azure リソースの管理者

目次

  1. Standard Logic Apps での Runtime Error について
  2. 新規環境でのトラブルシュート
  3. 既存環境でのトラブルシュート
  4. 関連ドキュメント
  5. まとめ

Standard Logic Apps での Runtime Error について

Standard Logic Apps のランタイムは Azure Storage のファイル共有(Azure Files)上にコンテンツを展開する仕組みを持っています。
そのため、以下のようなネットワークやストレージ/DNS 設定の問題によって、ファイルにアクセスできずランタイム エラーが発生します。

よく見られるエラー例:

  • “Access to the path ‘C:\home\site\wwwroot\host.json’ is denied.”
  • “The network path was not found: ‘C:\home\data\Functions\secrets\Sentinels’.”
  • “Could not find a part of the path ‘C:\home\site\wwwroot’.”

これらは多くの場合、ストレージ アカウントへの接続不備または VNet/DNS 設定の問題が原因となります。

新規環境でのトラブルシュート

まずは Microsoft Learn などの公式ガイドに沿って、必要な設定が正しく実施されているかを確認することが重要です。

参考:

2-1. アプリ設定の必須項目を確認

閉域ネットワーク環境をご利用の場合には、以下の4 つのアプリ設定は必須です。
設定値が空、誤り、余計なスペースがある場合でも動作しなくなります。

設定名 設定値 意味
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Azure Files のファイル共有へ接続するための接続文字列 ストレージ アカウントおよびファイル共有へのアクセスに用いる
WEBSITE_CONTENTSHARE Logic Apps が使用する Azure Files 上のファイル共有名 紐づくファイル共有の指定
WEBSITE_CONTENTOVERVNET 1 (VNet 経由でストレージに接続する場合) ストレージへのアクセスを VNet 経由にするかどうかを指定
WEBSITE_DNS_SERVER 168.63.129.16 (規定値) またはご利用される DNS サーバー IP アドレス Logic Apps が名前解決に利用する DNS サーバーの IP アドレス

Note

これらは Microsoft Learn の「一般的なエラーのトラブルシューティング」でも強調されています。

Standard ロジック アプリをプライベート ストレージ アカウントにデプロイする - Azure Logic Apps | Microsoft Learn # 一般的なエラーのトラブルシューティング

2-2. ストレージ アカウントへの Outbound 接続が許可されているか

Standard Logic Apps のランタイムが Azure Storage にアクセスできる必要があります。

以下のポートが仮想ネットワーク(NSG / UDR 等)で許可されているか確認してください。

宛先サービス 宛先ポート 内容
ストレージ アカウント 443 ストレージ アカウントへのアクセス
ストレージ アカウント 445 ファイル共有 (files) へのアクセス

特に ポート 445 が閉域環境で拒否され、エラーとなった状況が多く報告されております。
設定されている仮想ネットワークの構成を十分ご確認ください。

2-3. DNS が正しく構成されているか

ストレージの Private Endpoint を利用する場合、DNS が正しく構成されていない場合、アクセスが失敗します。

Standard Logic Apps の高度なツール > Kudu より次が正しく解決するか確認します。

  • tcpping <先に取得したストレージ Blob、File、Queue、Table の各エンドポイント>:443
  • nameresolver <先に取得したストレージ Blob、File、Queue、Table の各エンドポイント>

詳しい確認方法については下記記事をご参照ください。

Standard Logic Apps からストレージ アカウントへの疎通を確認する | Japan Azure Integration Support Blog

既存環境でのトラブルシュート

「昨日まで動いていたのに突然エラーが発生した」という場合、設定変更または環境側の変化が原因であるケースが大変多くございます。

3-1. Logic Apps のアプリ設定変更

ARM テンプレートや CLI のデプロイにより、意図せず以下の値が書き換わることがあります:

  • WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
  • WEBSITE_CONTENTSHARE
  • WEBSITE_CONTENTOVERVNET
  • WEBSITE_DNS_SERVER

変更されるとストレージ アカウントへのアクセスに影響を及ぼすため、以前の値と比較して確認します。

3-2. ネットワーク側の設定変更

  • NSG で 445 / 443 がブロックされた
  • UDR によりストレージへのルーティングが変わった
  • DNS のリンクが外れた/ゾーン名が変更された

閉域環境では、ネットワークの些細な変更でもランタイムが影響を受けます。

3-3. ストレージアカウント側の変更

  • Private Endpoint を削除/変更した
  • ファイアウォールの許可 VNet が外れた
  • アクセスキーを再生成して接続文字列が無効になった
  • ファイル共有名を変更した

こうした変更でも「ランタイムが起動しない」という事象が発生いたします。
ご確認の上、構成を必要に応じて更新ください。

4. 関連ドキュメント

5. まとめ

本記事では、閉域環境上の Standard Logic Apps での Runtime Error およびトラブルシュート方法についてご紹介しました。

最後までお読みいただき、ありがとうございました!

ほか関連記事は以下を参照くださいませ。

Standard 版 Azure Logic Apps の料金体系を理解するポイント | Japan Azure Integration Support Blog
Standard Logic Apps から VNet 経由で別リソースにアクセスする方法 | Japan Azure Integration Support Blog
Standard Logic Apps のワークフローを誤って削除してしまったとき | Japan Azure Integration Support Blog
Azure Portal からファイアウォール設定配下のストレージ アカウントに Standard Logic Apps を作成する方法 | Japan Azure Integration Support Blog
ファイアウォール設定配下の既存ストレージ アカウントに Standard Logic Apps を作成 | Japan Azure Integration Support Blog
Standard Logic Apps の実行履歴にて「Failed to fetch」というエラーが表示される原因と回避策 | Japan Azure Integration Support Blog

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