「'system.webServer/runtime' already defined 」エラーによる Kudu クラッシュの回避方法について

お世話になっております。App Service サポート担当の行本です。 本記事は 2024 年 3 月 20 日に公開されました Prevent crashes due to ‘system.webServer/runtime’ already defined の日本語訳です。翻訳内容には細心の注意を払っておりますが、もし原文内容と齟齬がある場合は、原文の内容を優先ください。 本記事では、App Service / Azure Functions (以下、アプリと呼称します) において、お客様がカスタム XDT 変換、または古いバージョンの Site Extension (拡張機能) を使用していた場合に発生する可能性のある問題について説明します。症状は以下のとおりです。 Kudu (SCM) サイトがクラッシュし、復旧しません。(Kudu サイトにアクセ...

Read more

ファイアウォールを有効にしたストレージアカウントに対して、 Azure AI Search のインデクサーを作成したいがエラーが発生する

Azure AI Search サービスを作成し、選択されたネットワークからのアクセスを許可しているストレージアカウントからデータを取得しようとする際にエラーが発生する場合がございます。Azure Portal では「概要」ページより、「データのインポート」ウィザードでデータに接続する段階で発生する場合があります。 1データ ソースからのインデックス スキーマの検出でエラーが発生しました: "This request is not authorized to perform this operation." また、インデクサー作成・変更時に以下のエラーが発生する場合があります。 12インデクサー "xxxxxx-indexer" を更新できませんでした。エラー: "Error with data source: Credentials p...

Read more

Windows App Service で Node.js マイナーバージョンまでハードコーディングすることは非推奨です

App Service では、 Node.js のバージョンは定期的に更新され、古いバージョンは削除されます。 Windows の App Service ではバージョンは環境変数で指定され、特定のバージョンをハードコーディングすると問題が発生する可能性があります。 本記事では App Service Windows 環境における Node.js バージョンの指定方法についての諸注意を記載します。 App Service の Node.js のサポートの現状App Service では、Node.js のバージョンを管理し定期的に更新しています。これにより、最新の機能を利用できるようになり、セキュリティが向上します。 古いマイナーバージョンは移行のために一定期間保持しますが、予告なく削除する場合があります。 現在、App Service でサポートされているノードの現在のバージョンは、以...

Read more

[日本語訳]App Service における断続的な接続問題のトラブルシューティング

お世話になっております。App Service サポート担当の森です。 本記事は Apps on Azure Blog にて2023 年 11 月に公開されている Troubleshoot intermittent connectivity issue in azure app service の日本語抄訳としてご案内いたします。 App Service における断続的な接続問題のトラブルシューティングAzure App Service 上で動作しているアプリケーションでは、断続的な接続問題によりターゲットサービスへの接続時にエラーが発生することがあります。その問題を特定するためにコードを変更してデプロイするのは手間がかかります。App Service Kudu サイトを使用すれば迅速にテストを行うことができ、その場合コードを変更する必要はありません。 LinuxKudu サイト(例 : ...

Read more

内部環境で作成した Container Apps の DNS レコードの設定例

お世話になっております。Azure Container Apps サポート担当の押田です。 この記事では VNet に閉じた内部環境で作成した Container Apps Environment にデプロイした Container Apps に対して、既定のドメインに対してVNet 内のリソースからアクセスするために必要な DNS レコードについての設定例を記載します。 参考資料公式ドキュメントでは下記に記載があります。 内部の Azure Container Apps 環境に仮想ネットワークを提供する その他のリソース VNet スコープのイングレスを使用するには、 DNS を設定する必要があります。 Azure Container Apps 環境でのネットワーク VNet スコープのイングレス: 内部環境で VNet スコープのイングレスを使う予定の場合は、次のいずれかの方法で...

Read more

Network Troubleshooter ツール を使用したネットワーク接続のトラブルシュートについて

お世話になっております。App Service サポート担当の森です。 今回は、Azure Portal で使用できる診断ツール “Network Troubleshooter” についてご紹介します。 本ツールでは外部エンドポイントへの接続、DNS 解決、ネットワークセキュリティグループの構成などの問題について、問題の特定と推奨の解決策を見つけることができます。 App Service における外部接続のトラブルシューティングについては、当ブログや公式ドキュメントで詳しく説明しています。 Kudu を利用した tcpping や nameresolver の実行方法、API を利用した疎通確認方法などについてはこちらをご覧ください。 仮想ネットワークとAzure App Serviceの統合のトラブルシューティング Kudu サイトの使い方 (Tips 4 選) API を用い...

Read more

Storage サービス SAS の作成手順 (Azure Portal, Azure Storage Explorer, PowerShell, Azure CLI)

お客様がShared Access Signatures ( SAS ) をご利用になる際には SASトークンを取得する必要があります。 なお前提として、権限は最小特権の原則に従うべきものとなります。 ご参考: SAS を使用する際のベスト プラクティス Shared Access Signatures ( SAS ) とはShared Access Signature ( SAS ) とは、ストレージ アカウント内のリソースへのセキュリティで保護された、署名された URL を介した制限付きの委任アクセス機能です。SAS を使用すると、クライアントがデータにアクセスする方法をきめ細かく制御できます。なお、SAS トークンは以下の 3 つの種類がございます。 ユーザー委任 SAS サービス SAS ご参考:本記事 アカウント SAS ご参考:Storage アカウント SAS の作...

Read more

Azure Functions トリガー・バインディング シリーズ

Azure Functions はイベントドリブンな処理を実装する手段を提供します。つまり、Azure Functions では何かしらの契機無くアプリケーションが動作するというシナリオは存在しておらず、何かしらのイベントによってアプリケーション コードが動作する仕組みとなっています。Azure Functions の動作契機として接続可能な製品は多く、トリガーとバインディングの2種類がそれぞれ定義されています。トリガーやバインディングは Azure Functions の拡張機能を利用して各リソースと接続を行っています。サポートされているトリガーとバインディングの使用例は公式ドキュメントや GitHub のリポジトリにも記載しておりますが、トリガーの動作詳細やチューニング方法について多数お問い合わせをいただいております。本ブログでは、Azure Functions に関していただいており...

Read more

Azure Functions トリガー・バインディング シリーズ - Event Hubs トリガー

Event Hubs トリガーは、指定された Event Hubs からイベントを取得し実行される関数です。 Event Hubs トリガーは、BLOB コンテナに配置された Event Hubs のパーティションごとに作成されるファイルのロックを取得したインスタンスでそのパーティションのイベントの処理が行われます。また、Event Hubs のどこまで処理したかの情報も BLOB コンテナ上に保持してできるだけ処理漏れが発生しないように動作します。動作イメージはこちらにも紹介がございます。 本動作に利用されるファイルは BLOB コンテナに配置されたファイルとなります。Azure Functions リソースのアプリケーション設定 AzureWebJobsStorage に指定されたストレージ アカウントの BLOB コンテナー azure-webjobs-eventhub が利用され...

Read more

Azure Functions トリガー・バインディング シリーズ - Timer トリガー

Timer トリガーは、指定されたスケジュールに沿って実行される関数です。スケジュールは CRON 式で指定します。 また、Timer トリガーは BLOB コンテナに配置したトリガーごとのファイル ロックを取得したインスタンスでのみ動作し、シングルトン(ある時点で 1 インスタンスでのみ処理が動く)が実装されています。詳細動作はシングルトンのリンクにもございますが、いずれかのインスタンスで Timer トリガーが動作するようにすべてのインスタンスが当該ファイルのロックの取得を試みます。結果的にロックを取得できたインスタンスで Timer トリガーが動作し、ロックが取得できなかったインスタンスでは Timer トリガーは動作しません。また、CRON 式にて指定したスケジュールはプロセス内でのみ保持されており、プロセス内でのみ次回の実行予定を把握しています。 本動作に利用されるファイルは B...

Read more