Application Insights を用いた Web ジョブ 実行状況の死活監視

Web ジョブ とは Web Apps の一部の機能として提供しており、スクリプト、プログラムファイルをアップロードを行い、継続的もしくはある時間に起動するといったタイマートリガーとしてタスクを実行することができます。しかしながら、Web ジョブ の機能のみで、タスク全体の処理が動作していないといった異常を検知することができません。 Azure App Service で Web ジョブを使用してバックグラウンド タスクを実行する Web ジョブ のタスクの監視を実施するために、Kudu から提供している Web ジョブ API と Application Insights を組み合わせることにより、簡単に Web ジョブ の監視環境を構築することができます。今回の監視監視は、Azure プラットフォーム側で完結をしているため、監視に必要なアプリケーションの実装を行う必要はなく、監視アプリ...

Read more

App Service にてクライアント証明書モードを有効にし大量のデータを送信したが通信ができない

App Service の 構成 内には、Web Apps や Functions Apps がクライアント証明書を受け入れるための設定がございます。デフォルトでは、無視 となっており送信元となるアプリケーションがクライアント証明書を設定する必要はございませんが、必須 にするとクライアント証明書を付与する必要がございます。 クライアント証明書モードを 必須 に設定を行い、大量のデータ(約 100 KB 以上)を POST するとユーザ側では長時間の通信が発生してしまい、HTTP Status Code 403 が返却されます。しかし、少量のデータ(約 100 KB 以下)を POST すると通信に成功します。この動作の原因としては、App Service の内部に存在する内部ロードバランサーの仕様になります。詳しい情報は以下の内容をご覧ください。 質問App Service (Web...

Read more

Storage Account へのアクセスで AuthorizationPermissionMismatch エラーが発生した場合の対処方法

Azure CLI で Storage Account の BLOB 一覧を取得しようとしましたが、AuthorizationPermissionMismatch エラーが発生し取得できません。 デバッグオプションを有効にした際に、以下のようなXMLが返り AuthorizationPermissionMismatch というエラーコードが確認できます。 123<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this pe...

Read more

削除された API Management をリストアする

本投稿では、Self-restore Deleted APIM Service を日本語翻訳し紹介します。 2020 年 11 月に、誤って削除された API Management をユーザーが REST API を使用して復元できる新機能がリリースされました。API Management が 2020-06-01-preview 以上のバージョンのREST API を経由して削除された場合のみ、ユーザーは、新しい API を使用して誤って削除されたサービスを復元することができます。Azure Portalで [すべてのリソース] から API Management を削除するか、API Management が存在するリソースグループを削除した場合、現在 Azure Resource Manager は API バージョン2020-06-01-preview を使用して API Man...

Read more

Operation list (grouped) テンプレートの編集方法について

APIM の開発者ポータル(レガシ)をカスタマイズする方法として、テンプレートを利用する方法があります。管理者として開発者ポータル(レガシ)にアクセスし、カスタマイズアイコン内で用意されているテンプレートを編集する方法です。 Azure API Management 開発者ポータルをテンプレートを使用してカスタマイズする方法 本ブログでは、上記ドキュメントに記載されていない Operation list (grouped) テンプレートの編集方法について説明します。 基本的には、他のテンプレートと編集方法は変わりません。カスタマイズアイコンをクリックして Operation list (grouped) をクリックすると、編集画面が表示されます。 しかし、その編集画面にてテンプレートを編集して保存する際、以下のようなエラーが発生する場合があります。 Save Error エラーの回避方...

Read more

API Managementの特定の暗号スイートを無効化する

API Management の特定の暗号スイートを無効化することは可能ですか。 回答API Management の暗号スイートは Azure Portal では無効化することはできませんが、REST API を使用して無効化することが可能です。この記事では REST API を用いて特定の暗号スイートを無効化する方法を紹介します。 REST API Api Management Service - Create Or Update で、リクエストボディ内の properties.customProperties に、無効化する暗号スイートを指定します。 例えば以下のように、リクエストボディに含めれば、暗号スイート TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA を無効化できます。 1"Microsoft.WindowsAzure.ApiManag...

Read more

Azure Cache for Redis のフェールオーバーについて

Azure Cache for Redis を使っていますが、メトリックを見ていたら、フェールオーバーが発生したように見受けられますが、障害等発生しておりますでしょうか。 回答フェールオーバーというと障害のイメージがあるかと思いますが、Azure Cache for Redis におきましては、プラットフォーム側の各種更新の範囲内でフェールオーバーが発生することは想定される動作となります。そのため、フェールオーバーが発生したことがすべて障害を示すものではございません。 こちらが、フェールオーバーについてまとめたドキュメントとなります。フェールオーバーの概要やプラットフォーム側の各種更新の範囲内でもフェールオーバーが発生することを踏まえてどのようなことを考慮しておくべきかということが記載されております。 Azure Cache for Redis のフェールオーバーと修正プログラムの適用 上...

Read more

APIM のリトライポリシーでリトライ時に content-length mismatch 発生する時の原因と回避方法

API Management でバックエンドからエラーが応答された場合に備えてリトライポリシーを設定しています。しかし、リトライ動作時に Content length mismatch ProtocolViolation at forward-request のエラーが発生する場合があります。この原因と対処について教えてください。 回答指定されたバックエンド サービスに要求を転送する forward-request ポリシーは既定でリクエスト body をバッファしない動作となるため、リトライが発生した場合 body データを含めず再リクエストが発生いたします。この時、POST などの body を含むリクエストは Content-Length ヘッダで指定されたデータ長と実際の body データサイズに差異が生じるため Content length mismatch がバックエンドから応...

Read more

Azure Policyの評価結果のログがアクティビティログに出力されなくなった。

日次でのAzure Policy 評価結果が、アクティビティログに出力されていましたが、2020年6月下旬以降出力されなくなりました。なぜでしょうか。 回答2020年6月下旬以降日次でのAzure Policy 評価結果については、アクティビティログに出力されなくなりました。ただし、リソースをアップデートする際(新規作成も含む)に、その操作がポリシーに準拠しない操作の場合だけ、アクティビティログに出力されます。 変更以前と同等の結果を取得するためには代替策として、PowerShellなどのコマンドラインツールでAzure Plicyの評価結果を取得することが可能です。以下にGet-AzPolicyStateコマンドレットを使用し、対象のポリシー定義に対して非準拠のSubscriptionId、ResourceGroup、ResourceIdをCSVファイルに吐き出すサンプルコマンドを記載し...

Read more

Policy 作成のヒント集

Azure Policy のポリシーを作成しようと思うのですが、type などをどう入力していいのか分かりません。また、どういうったパラメーターが条件式に使えるかもわかりませんポリシー作成時のコツなどあれば教えてください。 回答今回はポリシー作成時の Tips について紹介します。 type や条件式に使えるプロパティの確認方法は下記のページに記載されています。チュートリアル:カスタム ポリシー定義の作成 - リソースのプロパティを判別する 筆者が良く利用する確認方法として下記の 3 つです。 公式ドキュメントによる ARM Templates の確認 利用しているリソースにおけるテンプレートのエクスポート CLI コマンドや PowerShell コマンドでエイリアスを見つける また、動作確認時のコツとして、ポリシーによる評価をすぐに実行する CLI コマンド等についてもご紹介します...

Read more