ADVERTISEMENT

【Power Automate】オンプレミスデータゲートウェイが想定どおり進まない時の実行履歴から原因を読む方法

【Power Automate】オンプレミスデータゲートウェイが想定どおり進まない時の実行履歴から原因を読む方法
🛡️ 超解決

Power Automateでオンプレミスデータゲートウェイ(以下、ゲートウェイ)を利用していると、フローが想定通りに動かず、原因が分からないまま時間が過ぎてしまうことがあります。ゲートウェイ経由の処理は、ネットワークや認証、ゲートウェイ自体の状態など、複数の要素が絡むため、エラーメッセージだけでは特定が難しいケースも少なくありません。しかし、実行履歴の詳細な表示項目を理解すれば、問題の切り分けを効率的に行えます。本記事では、実行履歴の各項目が示す意味や、よくあるエラー原因の読み解き方を具体的に解説します。

【要点】この記事で確認すること

  • 最初に見る場所: フローの実行履歴画面で、失敗した実行の「出力」や「アクションの詳細」を開く。
  • 切り分けの軸: ゲートウェイ接続エラーか、データソース認証エラーか、ゲートウェイ自体の停止か、設定ミスか。
  • 注意点: 会社PCのゲートウェイを再起動する前に、管理者に確認が必要な場合がある。また、実行履歴に表示されるエラーメッセージは英語の場合が多く、読解に注意。

ADVERTISEMENT

1. 実行履歴の基本的な見方

ゲートウェイを使ったフローの実行履歴は、Power Automateポータルから確認できます。フローの一覧で目的のフローを開き、左側メニューから「実行履歴」を選択すると、各実行の状態と開始時刻が表示されます。失敗した実行をクリックすると詳細画面に遷移し、アクションごとの結果を確認できます。特に「アクションの詳細」を開くと、各ステップの入力、出力、エラーメッセージが表示されます。ゲートウェイ関連のアクションでは、出力にHTTPリクエストと応答の詳細が含まれるため、ここを重点的に見ます。

実行履歴画面の構成要素

詳細画面にはタブ形式で情報が整理されています。「アクション」タブでは各アクションの実行時間と結果が一覧表示されます。「出力」タブにはアクションが返した値や、ゲートウェイを経由した場合の応答テキストが表示されます。「エラー」タブには、エラーが発生した場合の詳細なメッセージとエラーコードが記録されます。ゲートウェイ関連のトラブルでは、まず「エラー」タブの内容を確認し、次に「出力」タブでレスポンスボディを確認するのが効率的です。

ゲートウェイに関連する出力項目の意味

「出力」タブに表示される内容は、アクションの種類によって異なります。ゲートウェイアクションでは、リクエストのURL、ヘッダー、ボディ、そしてステータスコードが表示されます。ステータスコード200は成功、4xxはクライアントエラー(認証や入力ミス)、5xxはサーバーエラー(ゲートウェイやデータソースの問題)を示します。特に502 Bad Gatewayや504 Gateway Timeoutは、ゲートウェイからデータソースへの接続に問題があることを示します。また、レスポンスボディに「Connection refused」や「Timed out」といった文言が含まれる場合もあります。

ステータスコード 一般的な原因 確認すべき項目
502 ゲートウェイがデータソースから不正な応答を受信 データソースの稼働状態、ゲートウェイの負荷
504 ゲートウェイのタイムアウト(データソース応答なし) データソースへのクエリ性能、ネットワーク遅延
401 データソース認証エラー ゲートウェイに保存された資格情報
403 アクセス権限不足 データソース側のアクセス許可設定

2. ゲートウェイ関連の主なエラーとその見分け方

実行履歴に表示されるエラーメッセージは、原因を特定する手がかりとなります。代表的なエラーとその見分け方を以下にまとめます。

エラーメッセージの種類

「GatewayTimeout」は、ゲートウェイがデータソースからの応答を一定時間待っても返ってこなかったことを示します。この場合、ゲートウェイ自体は動作しているが、データソースへのクエリに時間がかかりすぎている可能性があります。「BadGateway」は、ゲートウェイがデータソースから不正な応答(例:JSONのパースエラー)を受け取った場合に発生します。「Unable to connect to the gateway」は、ゲートウェイサービスが停止しているか、ネットワーク的に到達できないことを示します。また、「The gateway service is not running」というメッセージが直接表示されることもあります。

エラーコードから読み解く

実行履歴の「エラー」タブには、エラーコード(例:400, 500系のコード)が記録されていることがあります。404 Not Foundはゲートウェイのエンドポイントが間違っている、405 Method Not AllowedはHTTPメソッドの指定ミスなど。特に、ゲートウェイ側のログも併せて確認するとより正確に原因を特定できます。ゲートウェイをインストールしたWindowsサーバーでは、イベントビューアの「アプリケーションとサービスログ」→「Microsoft」→「Power Platform」→「Data Gateway」に詳細なログが出力されます。

3. トラブルシューティングの手順

実行履歴を読んだ後、以下の手順で問題を切り分けてください。各手順を順番に実行することで、原因を効率的に特定できます。

  1. Power Automateポータルで対象フローの実行履歴を開き、失敗した実行をクリックして詳細を表示します。
  2. 「アクションの詳細」を開き、ゲートウェイに関連するアクション(例:「SQL Server – Get rows」など)を選択します。
  3. 「出力」タブを確認し、ステータスコードとレスポンスボディを読み取ります。特にHTTPエラーコードが重要です。
  4. エラーが502や504の場合、ゲートウェイのローカルアプリケーション(Windowsのタスクトレイにある)を開き、接続テストを実行します。テストが成功すれば、ゲートウェイのネットワークやサービスは正常です。
  5. 接続テストが失敗する場合は、ゲートウェイサービスが稼働しているか確認します。Windowsのサービス管理ツールで「Microsoft Power Platform Data Gateway」が「実行中」になっているか確認し、停止している場合は開始します。
  6. ゲートウェイが正常でもエラーが続く場合は、データソースの認証情報を確認します。ゲートウェイの設定画面でデータソースの資格情報を再入力し、テスト接続を再度行います。
  7. それでも解決しない場合、ネットワーク設定(プロキシやファイアウォール)が原因の可能性があります。管理者に連絡し、ゲートウェイサーバーからのアウトバウンド通信が許可されているか確認します。

4. 失敗パターン別:具体的な実行履歴の読み方

実際の現場でよく遭遇する失敗パターンを、実行履歴の表示例とともに紹介します。ご自身の状況と照らし合わせてみてください。

パターン1:502 Bad Gateway

実行履歴の「出力」に「HTTP/1.1 502 Bad Gateway」というステータスが表示され、レスポンスボディに「The upstream server returned an invalid response」とある場合、ゲートウェイがデータソースから不正なデータを受け取ったことを示します。このとき、データソース側でデータベースのクエリが異常終了していないか確認してください。また、ゲートウェイの負荷が高すぎると発生することもあるため、同時実行数を減らすか、ゲートウェイをクラスタ化することも検討します。

パターン2:504 Gateway Timeout

実行履歴に「504 Gateway Timeout」が表示され、レスポンスタイムが30秒以上になっている場合、データソースの応答が遅すぎることが原因です。特にオンプレミスSQL Serverに対して複雑なビューや大量データをクエリしている場合に発生しやすいです。対策として、クエリをチューニングするか、ゲートウェイのタイムアウト設定を引き上げることが考えられます。ただし、タイムアウト設定はゲートウェイの管理者しか変更できないため、社内の担当者に依頼してください。

パターン3:Unable to connect to the gateway

このエラーは、ゲートウェイサービスが停止しているか、ネットワーク的に到達不能な場合に発生します。実行履歴には「Error: The gateway ‘GatewayName’ is not reachable.」というメッセージが表示されます。まず、ゲートウェイがインストールされたマシンでゲートウェイサービスが起動しているか確認します。次に、Power Automateとゲートウェイ間の通信に使用されるポート(通常は443)がファイアウォールで遮断されていないか確認します。会社のポリシーによっては、ゲートウェイが利用するエンドポイント(*.gateway.powerplatform.com など)が許可リストに追加されている必要があります。

5. 管理者と連携すべき設定項目

ゲートウェイのトラブルシューティングにおいて、一般ユーザーでは変更できない設定がいくつかあります。以下の項目は、管理者権限を持つ担当者に確認・依頼する必要があります。

  • ゲートウェイのクラスタ設定: 複数のゲートウェイをクラスタとして構成している場合、負荷分散やフェイルオーバーの設定が適切かどうか。クラスタ内の特定のゲートウェイだけ障害が発生している可能性があります。
  • タイムアウト値: データソースへのクエリタイムアウトは、ゲートウェイの設定画面から変更できます。既定値は30秒ですが、必要に応じて60秒や120秒に延長できます。
  • プロキシ設定: ゲートウェイの通信が会社のプロキシを経由する場合、プロキシのアドレスと資格情報が正しく設定されているか確認します。また、プロキシサーバーがゲートウェイの通信を許可しているかも重要です。
  • データソースの追加・編集: ゲートウェイに登録されたデータソースの認証情報は、管理者のみが編集できます。特にWindows認証を使用する場合は、Kerberos委任設定が必要な場合もあります。
  • ゲートウェイの更新: ゲートウェイソフトウェアは定期的に更新されます。古いバージョンでは既知のバグが原因でエラーが発生することがあります。最新版に更新するよう管理者に依頼してください。

6. よくある質問(FAQ)

実行履歴に「Internal server error」と出るがどうすれば?

「Internal server error」はゲートウェイ内部で予期しないエラーが発生したことを示します。まず、ゲートウェイのローカルログ(イベントビューア)を確認してください。具体的な例外メッセージが記録されている場合があります。また、ゲートウェイサービスを再起動することで一時的に解消することがありますが、恒久的な解決にはならない場合は管理者に連絡し、ゲートウェイの再インストールを検討します。

ゲートウェイが複数ある場合、どのゲートウェイが使われているか知りたい

実行履歴の「出力」タブに、使用されたゲートウェイの名前が含まれていることがあります。また、ゲートウェイの管理画面で各ゲートウェイの状態(オンライン/オフライン)を確認できます。フローで特定のゲートウェイを指定していない場合、Power Automateが自動的に適切なゲートウェイを選択しますが、負荷状況によっては意図しないゲートウェイが使われることもあります。

ゲートウェイの接続テストは成功するのに、フローが失敗するのはなぜ?

接続テストは単純な疎通確認であり、実際のフローで行われるクエリやパラメータが異なるため、テストでは検出できない問題が原因であることが多いです。例えば、フロー内で動的に生成されるSQL文が不正な構文になっている場合や、大量のデータを扱うためにタイムアウトが発生する場合などです。実行履歴の出力を詳細に確認し、実際に送信されたリクエストの内容を検証してください。

まとめ

オンプレミスデータゲートウェイのトラブルシューティングでは、Power Automateの実行履歴を正しく読むことが最も重要な第一歩です。ステータスコードやエラーメッセージを手がかりに、問題がゲートウェイ側にあるのか、データソース側にあるのか、それともネットワークや認証にあるのかを切り分けてください。本記事で紹介した手順に沿えば、多くのケースで原因を特定し、適切な対処が可能です。どうしても解決しない場合は、管理者と連携してゲートウェイの設定やログを詳しく調査しましょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT