次の方法で共有


Azure 関数アプリの作成、削除、または復元時の問題を解決する

この記事では、Azure 関数アプリを作成、削除、または復元するときに発生する可能性のある一般的な問題と、問題を解決する手順を示します。

関数アプリを作成する

Azure 関数アプリでは、Azure App Service のインフラストラクチャが使用されます。 Azure 関数アプリは、次の方法で作成できます。

Visual Studio または Visual Studio Code から関数プロジェクトを展開するときにアプリを作成することもできます。

Azure Functions で使用される Azure Storage アカウントに関する考慮事項

関数アプリを作成するときは、BLOB、キュー、テーブル ストレージをサポートする汎用の Azure Storage アカウントを作成またはリンクすることができます。 Azure Functions は、トリガーの管理や関数実行のログ記録などの操作を Azure Storage に依存しています。 詳細については、「Azure Functions のストレージに関する考慮事項」を参照してください。

  • ストレージ アカウントや他のリソースを作成するためのアクセス許可があることを確認します。 ロールベースのアクセス制御 (RBAC)、ポリシー、またはスコープの違反があってはなりません。
  • AzureWebJobsStorage の場合にのみ、Azure Storage アカウント接続文字列のマネージド ID を使います。 詳細については、「ID を使用するホスト ストレージへの接続 (プレビュー)」を参照してください。

Azure Functions で使用される Azure Storage アカウントをセキュリティで保護する

Azure 関数アプリと、プライベート エンドポイントで保護された新しいストレージ アカウントを作成できます。 仮想ネットワーク統合をサポートするプランで関数アプリをホストします。

異なるホスティング プラン間で Azure 関数アプリを移行する

Windows では、Azure CLI コマンドを使用して、関数アプリを Consumption Premium プランまたはその逆に移行できます。 詳細については、「プランの移行」を参照してください。

  • 専用 (App Service) プランと従量課金または Premium プランとの間の直接的な移行は、イベント ドリブン スケーリングとサーバーレスの機能がホスティング プランによって異なるため、サポートされていません。

Note

Linux では、ホスティング プランの移行はサポートされていません。

仮想ネットワーク 接続、タイムアウト、課金などのホスティング プラン (従量課金、Premium、専用) のオファリングを確認します。 詳細については、「Azure Functions のホスティング オプション」を参照してください。

"このリージョンにはサブスクリプションのインスタンス数が 0 のクォータがあります。 Try selecting different region or SKU" (このリージョンには、サブスクリプションのインスタンスが 0 個のクォータがあります。別のリージョンまたは SKU を選択してみてください)

特定のリージョンでリソースの作成に関する問題が一貫して発生している場合は、ビジネスで許可されている場合は、地理的にペアのリージョンにリソースを作成してみてください。 たとえば、"米国西部 2" と "米国中西部" はペアになっているリージョンです。 東アジア (香港特別行政区)東南アジア (シンガポール) もペアリージョンです。

詳細については、以下を参照してください:

"このリソース グループで価格レベルは許可されていません" または "SkuNotAllowedForResourceGroup" というエラーを解決します

新しいリソース グループにプランを作成することをお勧めします。 異なる SKU には一意のマシンが必要です。 リソース グループにアプリを作成すると、リソースのプールにマップされて割り当てられます。 そのリソース グループに別のプランを作成した場合、マップされたプールに必要なリソースがないと、エラーが表示されます。

詳細については、「 既存のリソース グループでの関数アプリの作成」を参照してください。

関数アプリのコンテンツ ファイル共有の作成が失敗する: "リモート サーバーからエラーが返されました: (403) Forbidden"

Consumption プランまたは Elastic Premium プランの関数アプリの場合、ストレージ アカウントにファイル共有が作成され、アプリ設定WEBSITE_CONTENT_SHAREを使用して参照されます。 このエラーは、ストレージ アカウントにファイアウォール、プライベート エンドポイント、またはネットワーク セキュリティ グループ (NSG) 規則などの他の仮想ネットワーク セキュリティ制限があるために発生する可能性があります。

このエラーを解決するには、セキュリティで保護されたストレージ アカウントであらかじめファイル共有を作成し、WEBSITE_CONTENT_SHARE に構成します。 詳細については、「ストレージ アカウントを仮想ネットワークに制限する」を参照してください。

作成のための代替ツール

Azure CLI、PowerShell、 Az.Functionsなどの代替ツールを使用できます。 必ず最新バージョンのツールを使用してください。 Azure portal などのいずれかのツールを使用するときに問題が発生した場合は、Azure CLI などの別のツールを使用してみてください。

関数のランタイム バージョンを Windows と Linux に設定する

Windows アプリの場合は、Azure portal でランタイム バージョン (Settings>Configuration>Function ランタイム設定>Runtime バージョン) を設定するか、アプリケーション設定 FUNCTIONS_EXTENSION_VERSION を作成し、それをメジャー ランタイム バージョン (たとえば、ターゲット V4 に ~4 ) に設定します。 詳細については、「Azure Functions ランタイム バージョンをターゲットにする方法」を参照してください。 FUNCTIONS_EXTENSION_VERSION をマイナー バージョンに設定して、ホスト リリースに基づいてマイナー バージョンにピン留めします。 Azure Functions ホスト リリースに関する記事も参照してください。

Linux アプリについては、「Linux 上でのバージョンの手動更新」をご覧ください。

HTTP 429 エラーのトラブルシューティング

調整は、Azure Resource Manager とリソース プロバイダー (Microsoft.Web) の 2 つのレベルで行われます。 このレベルは、サブスクリプションの種類とホスティング プランによって変わります。 詳細については、次を参照してください。

Note

問題の頻度が低い場合は、しばらくしてから再試行して、問題が解決するかどうかを確認します。 問題が頻繁に発生する場合は、別のサブスクリプションを購入するか、ホスティング プランを更新してエラーを解決できます。

関数アプリを削除または復元する

Visual Studio からコードを発行し、 WEBSITE_RUN_FROM_PACKAGEを使用すると、Azure portal は関数を read-only として設定し、ポータルでプリコンパイル済み資産を編集できないようにします。 関数アプリ内の関数を削除するには、不要な関数をコードから削除し、プロファイル設定で 追加のファイルを削除する オプションを有効にして、コードを再デプロイします。

Consumption プランまたは Elastic Premium プランでホストされている Azure 関数アプリの復元はサポートされていません。 関数アプリのコンテンツがある場合、またはストレージ アカウントにアクセスできる場合は、アプリ設定を更新するか、新しい関数アプリを作成して、そのコンテンツを使用します。 コンテンツ ストレージに Azure Files を使用していない場合は、専用 App Service プランで Azure 関数アプリを復元できます。

詳細については、「削除した Web アプリを復元する (削除を取り消す)」を参照してください。

Azure 関数アプリを削除するための十分なアクセス許可があることを確認します。 ロールベースのアクセス制御 (RBAC)、ポリシー、またはスコープの違反があってはなりません。

Microsoft サポートに連絡する前にデータを収集する

関数アプリの作成または削除が失敗した場合は、サポート チケットの作成時に次のデータを収集して共有します。

  • Azure portal: 問題を再現し、ブラウザー トレースを キャプチャします

  • Azure CLI または Azure PowerShell: エラーと詳細ログを報告したコマンドを共有します。

  • Azure Resource Manager のデプロイエラーの場合は、Azure portal で次のエラー メッセージを見つけます。

    1. [リソース グループ] > [展開] を選びます。
    2. 失敗したタスクの関連付け ID を共有します。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。