Azure の Web Apps の構成と管理に関する FAQ

この記事では、Azure App Service の Web Apps 機能の構成および管理の問題に関するよく寄せられる質問 (FAQ)への回答を掲載しています。

この記事で Azure の問題に対処できない場合は、MSDN および Stack Overflow の Azure 関連フォーラムを参照してください。 問題をこれらのフォーラムまたは Twitter の @AzureSupport に投稿できます。 Azure サポート要求を送信することもできます。 サポート要求を送信するには、[Azure サポート] ページで [サポートを受ける] を選択します。

App Service のリソースを移動する場合の注意すべき制限はありますか?

App Service のリソースを新しいリソース グループまたはサブスクリプションに移動する場合は、注意すべきいくつかの制限があります。 詳細については、「App Service の制限」を参照してください。

Web アプリのカスタム ドメイン名はどのように使用しますか?

Azure web アプリでのカスタム ドメイン名の使用に関するよく寄せられる質問に対する回答は、7 分間のビデオ Add a custom domain name (カスタム ドメイン名の追加) をご覧ください。 ビデオではカスタム ドメイン名を追加する方法を説明しています。 App Service Web アプリで *.azurewebsites.net URL の代わりに独自の URL を使用する方法を説明しています。 カスタム ドメイン名をマップする方法の詳細な説明もあります。

Web アプリの新しいカスタム ドメインはどのように購入しますか?

App Service Web アプリのカスタム ドメインを購入して設定する方法については、「Buy and configure a custom domain name in App Service」(App Service でカスタム ドメイン名を購入して構成する) を参照してください。

Web アプリに既存の TLS/SSL 証明書をアップロードして構成するにはどうすればよいですか?

既存のカスタム TLS/SSL 証明書をアップロードして設定する方法については、使用している App Service アプリへの TLS/SSL 証明書の追加に関する記事を参照してください。

自分の Web アプリ用に Azure の新しい TLS/SSL 証明書を購入して構成するにはどうすれば良いですか?

お使いの App Service Web アプリの TLS/SSL 証明書を購入して設定する方法については、お使いの App Service アプリへの TLS/SSL 証明書の追加に関するページを参照してください。

Application Insights のリソースを移動するにはどうすればよいですか?

現時点では、Azure Application Insights は移動操作をサポートしていません。 元のリソース グループに Application Insights のリソースが含まれている場合は、そのリソースを移動することはできません。 App Service アプリを移動しようとする際に Application Insights のリソースも含めると、移動操作全体が失敗します。 ただし、アプリが正常に動作するために、Application Insights と App Service プランがそのアプリと同じリソース グループ内に存在する必要はありません。

詳細については、「App Service の制限」を参照してください。

ガイダンス チェックリストおよびリソースの移動操作の詳細はどこにありますか?

App Service の制限」では、リソースを新しいサブスクリプションまたは同じサブスクリプション内の新しいリソース グループに移動する方法について説明します。 リソースの移動チェックリストに関する情報を入手し、移動操作をサポートしているサービスおよびApp Service の制限事項とその他のトピックの詳細について学習できます。

Web アプリのサーバーのタイム ゾーンはどのように設定しますか?

Web アプリのサーバーのタイム ゾーンを設定するには、次の手順を実行します。

  1. Azure ポータルの App Service サブスクリプションで、 [アプリケーション設定] メニューに移動します。
  2. [アプリ設定] で次の設定を追加します。
    • Key = WEBSITE_TIME_ZONE
    • Value = 目的のタイム ゾーン
  3. [保存] を選択します。

Windows で実行される App Service については、Windows tzutil /L コマンドからの出力を参照してください。 各エントリの 2 行目の値を使用します。 次に例を示します。"トンガ標準時"。 これらの値の一部は、「既定のタイムゾーン」の タイムゾーン 列にも記載されています。

Linux で実行される App Service については、IANA TZ データベースから値を設定します。 次に例を示します。"America/Adak"。

継続的な Web ジョブがときどき失敗する理由はなんですか?

既定では、設定された期間だけアイドル状態が続くと Web アプリはアンロードされます。 これにより、システムではリソースを節約できます。 Basic プランおよび Standard プランでは、 [常時接続] 設定をオンにして、常に Web アプリをロードしておくことができます。 アプリで継続的な Web ジョブを実行する場合は、 [常時接続] をオンにする必要があります。そうしないと、Web ジョブの実行の信頼性が低下する可能性があります。 詳細については、「Create a continuously running WebJob」(継続的に実行する Web ジョブの作成) を参照してください。

Web アプリの送信 IP アドレスはどのように取得しますか?

Web アプリの送信 IP アドレスの一覧を取得するには、次の手順を実行します。

  1. Azure ポータルの Web アプリのブレードで、 [プロパティ] メニューに移動します。
  2. 送信 IP アドレス を検索します。

送信 IP アドレスの一覧が表示されます。

Web サイトが App Service Environment でホストされている場合、送信 IP アドレスを取得する方法については、「発信ネットワーク アドレス」をご覧ください。

Web アプリ用に着信 IP アドレスを予約または専用にするにはどうすればよいですか?

お使いの Azure アプリ Web サイト用の専用の着信呼び出し IP アドレスを設定または予約するには、IP ベースの TLS/SSL 証明書をインストールして構成します。

着信呼び出し用の専用または予約済みの IP アドレスを使用するには、App Service プランは、Basic 以上のサービス プランである必要があります。

他の場所でホストされている web サイトなど、Azure の外部で使用できるように App Service 証明書をエクスポートできますか?

はい。Azure の外部で使用する目的でエクスポートできます。 詳細については、「App Service 証明書とカスタム ドメインの FAQ」を参照してください。

その他の Azure クラウド サービスで使用できるように App Service 証明書をエクスポートできますか?

ポータルは、Azure Key Vault から App Service アプリに App Service 証明書をデプロイするためのファースト クラスのエクスペリエンスを提供します。 ただし、Azure 仮想マシンなど App Service プラットフォーム外部でこれらの証明書を使用するリクエストをお客様から受け取ってきました。 その他の Azure リソースで証明書を使用できるように App Service 証明書のローカル PFX コピーを作成する方法については、App Service 証明書のローカル PFX コピーの作成に関するぺージを参照してください。

詳細については、「App Service 証明書とカスタム ドメインの FAQ」を参照してください。

Web アプリのバックアップを作成しようとするとに「部分的に成功」というメッセージを表示されます。なぜですか?

バックアップ障害の一般的な原因は、いくつかのファイルがアプリケーションで使用中であることです。 バックアップの実行中に使用されているファイルはロックされます。 このため、これらのファイルがバックアップされず、「部分的に成功」の状態になる可能性があります。 バックアップ プロセスからファイルを除外することでこの現象を回避できる可能性があります。 必要なものだけをバックアップすることを選択できます。 詳細については、「Backup just the important parts of your site with Azure web apps」(Azure web アプリを使用して、サイトの重要な部分だけをバックアップ) を参照してください。

HTTP 応答からヘッダーを削除するにはどうすればよいですか?

HTTP 応答からヘッダーを削除するには、サイトの web.config ファイルを更新します。 詳細については、「Remove standard server headers on your Azure websites」(Azure Web サイトで標準的なサーバーのヘッダーを削除) を参照してください。

App Service は PCI 標準 3.0 と 3.1 に準拠していますか?

現時点では、Azure App Service の Web Apps の機能は PCI データ セキュリティ標準 (DSS) バージョン 3.0 レベル 1 に準拠しています。 PCI DSS バージョン 3.1 には今後準拠する予定です。 最新標準の採用をどのように進めるかについての計画は既に進行中です。

PCI DSS バージョン 3.1 の証明書は、トランスポート層セキュリティ (TLS) 1.0 を無効にする必要があります。 現時点では、TLS 1.0 を無効にすることは、ほとんどの App Service プランの選択肢ではありません。 ただし、App Service Environment を使用しているまたはワークロードを App Service Environment に移行を許容したい場合、環境の制御範囲を拡大できます。 Azure サポートに連絡して TLS 1.0 を無効にする必要があります。 近い将来、これらの設定をユーザーがアクセスできるようにする予定です。

詳細については、PCI 標準 3.0 と 3.1 との Microsoft Azure App Service Web アプリのコンプライアンス対応に関するページを参照してください。

ステージング環境とデプロイ スロットを使用する方法を教えてください?

Standard および Premium App Service プランでは、Web アプリを App Service にデプロイする際、既定の運用スロットではなく、個別のデプロイ スロットにデプロイすることができます。 デプロイ スロットは、独自のホスト名を持つライブ Web アプリです。 Web アプリのコンテンツと構成の各要素は、(運用スロットを含む) 2 つのデプロイ スロットの間でスワップすることができます。

デプロイ スロットの使用の詳細については、「Set up a staging environment in App Service」(App Service でのステージング環境のセットアップ) を参照してください。

Web ジョブのログにアクセスして確認するにはどうすればよいですか?

Web ジョブのログを確認するには、次の手順を実行します。

  1. Kudu の Web サイト (https://*yourwebsitename*.scm.azurewebsites.net) にサインインします。
  2. [Web ジョブ] を選択します。
  3. [出力の切り替え] ボタンを選択します。
  4. 出力ファイルをダウンロードするには、ダウンロード リンクを選択します。
  5. 個別実行では、 [個別呼び出し] を選択します。
  6. [出力の切り替え] ボタンを選択します。
  7. ダウンロード リンクを選択します。

SQL Server でのハイブリッド接続を使用しようとしています。 "System.OverflowException:Arithmetic operation resulted in an overflow" (System.OverflowException: 算術演算でオーバーフローが発生しました) というメッセージが表示されるのはなぜですか?

ハイブリッド接続を使用して SQL Server にアクセスしている場合、2016 年 5 月 10 日の Microsoft .NET の更新が接続の失敗の原因である可能性があります。 次のメッセージが表示される場合があります。

Exception: System.Data.Entity.Core.EntityException: The underlying provider failed on Open. —> System.OverflowException: Arithmetic operation resulted in an overflow. or (64 bit Web app) System.OverflowException: Array dimensions exceeded supported range, at System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake

解像度

修正されたハイブリッド接続マネージャーの問題によって、例外が発生しました。 この問題を解決するために ハイブリッド接続マネージャーを更新してください。

URL 書き換え規則を追加する方法を教えてください。

URL 書き換え規則を追加するには、関連する構成エントリを含む web.config ファイルを wwwroot フォルダーに作成します。 詳細については、「Azure App Services: URL 書き換えについて」を参照してください。

App Service への受信トラフィックを制御するにはどうすればいいですか?

サイト レベルには、App Service への受信トラフィックを制御するためのオプションが 2 つあります。

  • 動的 IP 制限を有効にします。 動的 IP 制限を有効にする方法については、「IP and domain restrictions for Azure websites」(Azure Web サイトの IP とドメインの制限) を参照してください。
  • モジュールのセキュリティを有効にします。 モジュールのセキュリティを有効にする方法については、「ModSecurity web application firewall on Azure websites」(Azure Web サイトの ModSecurity Web アプリケーション ファイアウォール) を参照してください。

App Service Environment を使用する場合は、Barracuda ファイルを使用できます。

App Service Web アプリ内のポートをブロックする方法は?

App Service 共有テナント環境では、インフラストラクチャの特性のため、特定のポートをブロックすることはできません。 TCP ポート 4020、4022、および 4024 も Visual Studio リモート デバッグに対して開いている場合があります。

App Service Environment では、受信トラフィックおよび送信トラフィックを完全に制御できます。 ネットワーク セキュリティ グループを使用して、特定のポートを制限またはブロックできます。 App Service Environment の詳細については、「Introducing App Service Environment」(App Service Environment の概要) を参照してください。

F12 トレースをキャプチャする方法は?

F12 トレースをキャプチャする方法は 2 つあります。

  • F12 HTTP トレース
  • F12 コンソール出力

F12 HTTP トレース

  1. Internet Explorer で、Web サイトに移動します。 次の手順を実行する前にサインインする必要があります。 サインインしないと、F12 トレースは機密性の高いサインイン データをキャプチャします。
  2. F12 キーを押します。
  3. [ネットワーク] タブが選択されていることを確認し、緑色の [再生] ボタンをクリックします。
  4. 問題を再現する手順を実行します。
  5. 赤の [停止] ボタンをクリックします。
  6. [保存] ボタン (ディスク アイコン) をクリックし、HAR ファイルを保存します (Internet Explorer およびで Microsoft Edge)。"または"、HAR ファイルを右クリックし、 [HAR 形式ですべて保存] を選択します (Chrome)。

F12 コンソール出力

  1. [コンソール] タブを選択します。
  2. 1 つ以上の項目を含むタブごとに、タブを選択します ( [エラー][警告] 、または [情報] )。 タブが選択されていない場合、カーソルをタブ以外の場所に移動すると、タブ アイコンは、グレーまたは黒になります。
  3. ウィンドウのメッセージ領域で右クリックし、 [すべてコピー] を選択します。
  4. コピーしたテキストをファイルに貼り付け、ファイルを保存します。

HAR ファイルを表示するには HAR ビューアーを使用できます。

ExpressRoute に接続されている仮想ネットワークに App Service Web アプリを接続しようとするとエラーが発生するのはなぜですか?

Azure ExpressRoute に接続されている仮想ネットワークに Azure Web アプリを接続しようとすると、失敗します。 "Gateway is not a VPN gateway." (ゲートウェイは VPN ゲートウェイではありません) というメッセージが表示されます。

現時点では、ExpressRoute に接続されている仮想ネットワークにポイント対サイト VPN 接続を行うことはできません。 ポイント対サイト VPN と ExpressRoute を同じ仮想ネットワークに共存させることはできません。 詳細については、「ExpressRoute and site-to-site VPN connections limits and limitations」(ExpressRoute とサイト間接続の制限事項) を参照してください。

静的ルーティング (ポリシー ベース) ゲートウェイを持つ仮想ネットワークに App Service Web アプリを接続するにはどうすればよいですか?

現時点では、静的ルーティング (ポリシー ベース) ゲートウェイを持つ仮想ネットワークへの App Service Web アプリの接続はサポートしていません。 ターゲットの仮想ネットワークが既に存在している場合は、そのネットワークで動的ルーティング ゲートウェイによるポイント対サイト VPN が有効になっていないと、アプリに接続できません。 ゲートウェイが静的ルーティングに設定されている場合は、ポイント対サイト VPN を有効にすることはできません。

詳細については、「アプリを Azure 仮想ネットワークに統合する」を参照してください。

App Service Environment を作成するときにタイムアウトを表示されるのはなぜですか?

App Service Environment の作成はときどき失敗します。 この場合は、アクティビティ ログに次のエラーが表示されます。

ResourceID: /subscriptions/{SubscriptionID}/resourceGroups/Default-Networking/providers/Microsoft.Web/hostingEnvironments/{ASEname}
Error:{"error":{"code":"ResourceDeploymentFailure","message":"The resource provision operation did not complete within the allowed timeout period."}}

これを解決するには、次の条件が当てはまるかどうかを確認します。

  • サブネットが小さすぎる。
  • サブネットが空ではない。
  • ExpressRoute のために App Service Environment のネットワーク接続の要件を満たすことができない。
  • ネットワーク セキュリティ グループが不適切であるために App Service Environment のネットワーク接続の要件を満たすことができない。
  • 強制トンネリングがオンになっている。

詳細については、新しい Azure App Service Environment をデプロイ (作成) するときによくある問題についてのページを参照してください。

App Service プランを削除できないのはなぜですか?

App Service アプリがApp Service プランに関連付けられている場合、App Service プランを削除することはできません。 App Service プランを削除する前に、関連付けられているすべての App Service アプリを App Service プランから削除します。

Web ジョブをスケジュールする方法は?

Cron 式を使用して Web ジョブのスケジュールを作成できます。

  1. settings.job ファイルを作成します。
  2. Cron 式を使用して、この JSON ファイルにスケジュールのプロパティを含めます。
    { "schedule": "{second}
    {minute} {hour} {day}
    {month} {day of the week}" }
    

Web ジョブのスケジュールの詳細については、「Create a scheduled WebJob by using a Cron expression」(Cron 式を使用して、Web ジョブのスケジュールを作成する) を参照してください。

App Service アプリの侵入テストを実行する方法は?

侵入テストを実行するには、要求を送信します。

Traffic Manager を使用する App Service Web アプリのカスタム ドメイン名を構成するにはどうすればいいですか?

ロード バランシングを行うために Azure Traffic Manager を使用する App Service アプリでカスタム ドメイン名を使用する方法については、「Configure a custom domain name for an Azure web app with Traffic Manager」(Traffic Manager を使用する App Service Web アプリのカスタム ドメイン名を構成する方法) を参照してください。

App Service 証明書に詐欺のフラグが付いています。 解決するにはどうすればよいですか?

注意

この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

App Service 証明書購入のドメインの確認中に、次のメッセージが表示されることがあります。

"Your certificate has been flagged for possible fraud. The request is currently under review. If the certificate does not become usable within 24 hours, please contact Azure Support."(証明書に詐欺の可能性のフラグが付けられました。要求を確認中です。24 時間以内に証明書が使用可能にならない場合、Azure サポートに問い合わせてください)。

メッセージで示されているように、この詐欺の確認プロセスには最大 24 時間がかかる場合があります。 この間このメッセージは表示されたままになります。

24 時間を過ぎてもこのメッセージを表示されたままの場合、次の PowerShell スクリプトを実行してください。 このスクリプトは証明書プロバイダーに直接送信され、問題を解決します。

Connect-AzAccount
Set-AzContext -SubscriptionId <subId>
$actionProperties = @{
    "Name"= "<Customer Email Address>"
    };
Invoke-AzResourceAction -ResourceGroupName "<App Service Certificate Resource Group Name>" -ResourceType Microsoft.CertificateRegistration/certificateOrders -ResourceName "<App Service Certificate Resource Name>" -Action resendRequestEmails -Parameters $actionProperties -ApiVersion 2015-08-01 -Force   

App Service では認証および承認はどのように動作しますか?

App Service の認証と承認の詳細なドキュメントについては、さまざまな ID プロバイダーのサインインに関するドキュメントを参照してください。

既定の *.azurewebsites.net ドメインを Azure Web アプリケーションのカスタム ドメインにリダイレクトするにはどうすればよいですか?

Azure の Web アプリを使用して新しい Web サイトを作成するとき、既定の サイト名.azurewebsites.net ドメインがサイトに割り当てられます。 カスタム ホスト名をサイトに追加するが、ユーザーが既定の *. azurewebsites.net ドメインにアクセスできないようにする場合、既定の URL をリダイレクトできます。 Web サイトの既定のドメインからすべてのトラフィックをカスタム ドメインにリダイレクトする方法については、「Redirect the default domain to your custom domain in Azure web apps」(Azure Web アプリで既定のドメインをカスタム ドメインにリダイレクトする) を参照してください。

App Service にインストールされている .NET のバージョンはどうすればわかりますか?

App Service にインストールされている Microsoft .NET のバージョンを検索する最も簡単な方法は、Kudu コンソールを使用することです。 Kudu コンソールは、ポータルから、または、App Service アプリの URL を使用してアクセスできます。 詳細については、「Determine the installed .NET version in App Service」(App Service にインストールされた .NET バージョンを確認する) を参照してください。

自動スケールが期待どおりに動作しないのはなぜですか?

Azure の自動スケールが期待どおりに Web アプリのインスタンスをスケールインまたはスケールアウトしない場合、「フラッピング」による無限ループを避けるために意図的にスケールしないことを選択している可能性があります。 これは通常、スケール アウトとスケール インのしきい値の間に適切な余白がない場合に発生します。 「フラッピング」を回避する方法およびその他の自動スケールのベスト プラクティスについては、「自動スケールのベスト プラクティス」を参照してください。

自動スケールが部分的にしか行われないことがあるのはなぜですか?

メトリックが事前に構成された境界を越えると自動スケールがトリガーされます。 キャパシティが期待値に対して部分的にのみ満たされる場合があります。 目的のインスタンス数を利用できないときに発生する場合があります。 このシナリオでは、自動スケールは、利用可能なインスタンス数に対して行われます。 次に、自動スケールは再調整ロジックを実行し、キャパシティを増やします。 残りのインスタンスが割り当てられます。 これには数分間かかります。

数分後に期待するインスタンス数が表示されない場合、部分的リフィルが境界内にメトリックを表示するのに十分であったための可能性があります。 または、下位のメトリック境界に達したために、自動スケールがスケール ダウンされた可能性があります。

これらの条件のいずれにも該当せず、問題が解決しない場合は、サポート リクエストを送信してください。

コンテンツの HTTP 圧縮を有効するにはどうすればよいですか?

静的コンテンツ タイプと動的コンテンツ タイプの両方に対する圧縮を有効にするには、アプリケーション レベルの web.config ファイルに次のコードを追加します。

<system.webServer>
    <urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>

圧縮する特定の動的および静的 MIME の種類を指定することもできます。 詳細については、「httpCompression settings on a simple Azure website」(単純な Azure Web サイトでの httpCompression 設定) のフォーラムで質問への回答を参照してください。

オンプレミス環境から App Serviceアプリ サービスへの移行方法を教えてください?

サイトを Windows および Linux の Web サーバーから App Service に移行するには、Azure App Service Migration Assistant を使用できます。 移行ツールは、必要に応じて、Azure に Web アプリとデータベースを作成し、コンテンツを発行します。 詳細については、「Azure App Service Migration Assistant」を参照してください。

証明書が 1 年間ではなく 11 か月で発行されているのはなぜですか?

2020/9/1 より後に発行されたすべての証明書について、最長期間は 397 日になりました。 2020/9/1 より前に発行された証明書は、更新やキー更新を行うまで、最大 825 日間有効になります。2020/9/1 より後に更新された証明書はこの変更による影響を受けます。ユーザーは、更新された証明書の有効期限が短くなっていることに気付く場合があります。 GoDaddy により、既存の顧客の証明書を優先すると同時に新しい要件を満たすサブスクリプション サービスが実装されています。 新しく発行された証明書の有効期限が切れる 30 日前に、このサービスによって、期間を元の有効期限まで延長する 2 番目の証明書が自動的に発行されます。 App Service では、GoDaddy と連携してこの変更に対処し、お客様が証明書の完全な期間を確実に利用できるようにします。